zenimate

module
v0.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 6, 2026 License: Apache-2.0

README

zenimate

A ZX Spectrum animated sprite editor, in Go. You draw a multi-frame sprite on a pixel grid, paint per-character-cell Spectrum colour attributes, and preview the animation. Sprites can be any size up to a full screen (32×24 character cells, 256×192 px) and carry between 1 and 16 frames.

zenimate

zenimate-gui is a raylib desktop editor. Every on-screen character is rendered from the bundled Sinclair ZX Spectrum bitmap font, so the UI text is period-correct.

Quick start

make build      # the GUI into dist/

Requires Go 1.25 or later. make build-gui builds the GUI cgo-free (no system GL headers needed); the GUI needs an OpenGL-capable display to run. Run make to list all targets.

Documentation

  • docs/GUIDE.md — building, the full GUI controls, the file formats, the code layout, and CI/releases.

Licence

Apache 2.0 — see LICENSE. Bundled fonts and dependencies carry their own terms; see THIRD-PARTY.md.

Directories

Path Synopsis
cmd
zaniplay command
Command zaniplay is a standalone terminal player for .zani animation files.
Command zaniplay is a standalone terminal player for .zani animation files.
zenimate-gui command
Command zenimate-gui is the raylib desktop frontend for the ZX Spectrum animated sprite editor.
Command zenimate-gui is the raylib desktop frontend for the ZX Spectrum animated sprite editor.
zenimate-gui/internal/guidraw
Package guidraw holds the zenimate-gui frontend's screen-layout data types and (eventually) its drawing logic.
Package guidraw holds the zenimate-gui frontend's screen-layout data types and (eventually) its drawing logic.
zenimate-gui/internal/guiutil
Package guiutil holds small, pure utility functions used by the zenimate-gui frontend: string formatting, easing/fade curves, and simple pixel geometry (line walking, axis locking).
Package guiutil holds small, pure utility functions used by the zenimate-gui frontend: string formatting, easing/fade curves, and simple pixel geometry (line walking, axis locking).
zenimate-tui command
Command zenimate-tui is the terminal frontend for the ZX Spectrum animated sprite editor.
Command zenimate-tui is the terminal frontend for the ZX Spectrum animated sprite editor.
internal
fonts
Package fonts embeds the bundled BDF bitmap fonts and decodes them through pkg/bdf.
Package fonts embeds the bundled BDF bitmap fonts and decodes them through pkg/bdf.
model
Package model holds the sprite editor's data model.
Package model holds the sprite editor's data model.
ui
Package ui holds the frontend-independent controller that sits between the sprite model and the raylib GUI that presents it.
Package ui holds the frontend-independent controller that sits between the sprite model and the raylib GUI that presents it.
pkg
bdf
Package bdf is a standalone reader for BDF (Glyph Bitmap Distribution Format) bitmap fonts.
Package bdf is a standalone reader for BDF (Glyph Bitmap Distribution Format) bitmap fonts.
version
Package version exposes the zenimate build version.
Package version exposes the zenimate build version.
zenui
Package zenui is a renderer-agnostic file Open/Save dialog widget.
Package zenui is a renderer-agnostic file Open/Save dialog widget.
zxpalette
Package zxpalette holds the ZX Spectrum colour palette and attribute-byte encoding, cloned from the ha1tch/zenzx emulator so the editor's colours match the emulator exactly.
Package zxpalette holds the ZX Spectrum colour palette and attribute-byte encoding, cloned from the ha1tch/zenzx emulator so the editor's colours match the emulator exactly.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL