Skip to content

v1.6.0 — Desktop builds + sprite picker views

Choose a tag to compare

@acwright acwright released this 20 Aug 05:44
· 22 commits to main since this release

The TMS9918 Editor is now a desktop app for macOS, Windows and Linux — and the
sprite picker gained two new layouts. The web editor is unchanged and still lives at
acwright.github.io/TMS9918-EDITOR.

Downloads

Platform File First run
macOS (Apple silicon) tms9918-editor-1.6.0-mac-arm64.dmg Signed and notarized — opens with no Gatekeeper prompt
Windows (x64) tms9918-editor-1.6.0-win-x64.exe Unsigned installer, so SmartScreen warns — More info → Run anyway
Linux (x64) tms9918-editor-1.6.0-linux-x86_64.AppImage chmod +x, then run
Linux (x64) tms9918-editor-1.6.0-linux-amd64.deb sudo apt install ./tms9918-editor-1.6.0-linux-amd64.deb

The desktop app

One renderer behind two shells — everything the web app does, the desktop app does. What
it adds:

  • A real menu bar, following the open project: a Sprite project says "Fill the
    sprite", a Multicolor project greys the pattern items, and the project list greys
    everything but New project. The keyboard map is unchanged and still lives behind ?.
  • Native save and open dialogs. Every export — assembly, BASIC, binary, PNG, project
    JSON — goes through the system save sheet, each kind remembering the folder you last
    used, instead of landing in ~/Downloads. Importing a project opens a real file panel.
  • Its own storage, in the app's userData directory rather than a browser profile,
    flushed to disk on the way out — an edit made a moment before you quit is there on
    relaunch.
  • A window that remembers itself, including which display it was on.

Desktop projects are separate from the web app's. Move one across with Download and
Upload in the project list, or a share link.

Sprite picker, three ways

The sprite picker now matches the character set panel's three arrangements:

  • Sheet — the whole set as one scaled picture, as before.
  • Grid — fixed-size slots that wrap to the column width, so an 8×8 set is legible
    rather than 16 slots across a 440 px column.
  • List — one row a slot, carrying its number in both bases, the hardware patterns it
    occupies (pat 12 at 8×8, pat 48–51 for a 16×16 quad), its colour by name, and
    whether it is Blank (no pixels set) or Invisible (colour 0). The sheet cannot
    tell those two apart; a row can.

The choice is remembered, and is independent of the character set's layout.

Also

  • Both editors' Pages deploy is fixed — it had been publishing nothing since the renderer
    moved under src/renderer/.
  • CI now builds the Electron main and preload processes, which nothing gated before.