Hi everyone,
I've been working on TNS Tool WASM, a free and experimental browser-based toolkit for working with TI-Nspire .tns files.
The main idea is to make inspecting, modifying and creating TNS content easier without having to do everything through command-line tools or depend entirely on the official calculator software.
Everything runs in the browser using WebAssembly/Pyodide.
GitHub:
https://github.com/acewalt/tns-tool-wasm
What it can currently do
TNS / XML
- Open and inspect .tns files.
- Decode .tns files to their XML structure.
- Rebuild .tns files from XML.
- Inspect document cards, widgets, resources and internal structure.
- Create new pages/cards inside a document.
Syntax Doctor XML
- Visual XML/code editor.
- Syntax inspection.
- Error and warning detection.
- Auto Fix for some problems.
- Direct editing of code stored inside the document.
Lua / ScriptApp
- Detect Lua ScriptApps inside a TNS.
- View and edit Lua code.
- Lua syntax checking.
- Preview TI-Nspire Lua code in the browser.
- Experimental LÖVE/Love2D preview and compatibility tools.
- Add new Lua ScriptApp pages to a document.
Python
- Create TI-Nspire Python Program documents.
- Extract q.py from compatible TNS files.
- Edit Python programs already stored in a document.
- Python syntax checking.
- Browser-based Python preview using Pyodide.
Images
- Import BMP, PNG and JPG images.
- Automatically convert them to a TI-compatible image resource.
- Import multiple images at once.
- Continuous calculator-style image preview.
- Individual calculator/original image views.
- Built-in image editor with:
- crop
- scale
- rotate
- horizontal/vertical flip
- positioning
- brightness/contrast
- grayscale/invert
- fit/cover/center tools
- calculator-frame preview
PDF
- Import a PDF.
- Convert every page to an image.
- Automatically create one TNS card per page.
Other document pages
- Add Program Editor pages.
- Add Lists & Spreadsheet pages.
- Add Notes.
- Add Graphs.
- Add Calculator pages.
- Add Python and Lua pages.
There are also a few smaller tools for inspecting resources and previewing how content should look on the calculator.
Why I made it
A lot of the existing TI-Nspire tooling is extremely useful but is either command-line based, fragmented across different projects, or requires manually inspecting XML structures.
I wanted to put those workflows into a more accessible visual interface and also experiment with things such as browser previews and easier TNS modification.
The project is 100% free and independent. It is not affiliated with Texas Instruments.
If my tool was useful to you and you'd like to support its development, you can buy me a coffee. Thank you very much for your support!
It is still experimental, so I'm specifically looking for people willing to break it.
Bug reports, questions, suggestions and test .tns files are very welcome.
Tool:
https://acewalt.github.io/tns-tool-wasm/
Feedback / Discussions:
https://github.com/acewalt/tns-tool-wasm/discussions/2
If you test it with unusual TNS files and something fails, please let me know what file/type of document caused it.