What it does:
- Sprite editor with layers, selections, mirror drawing, and an infinite-canvas workspace (multiple boards on one desk)
- Frame-by-frame animation with onion skin, per-frame duration, GIF and spritesheet export
- Tileset builder that auto-generates Wang-16 and blob-47 terrain sets from a single base tile — exports Godot 4 TileSet, Tiled .tsx, or PNG+JSON — plus a tilemap painter to test terrains in the browser
- Isometric (2:1 dimetric) grid mode with an iso-line tool
- Image-to-pixel-art converter: median-cut quantization, live adjustments, and a "pixel cleaner" that removes orphan pixels
Some technical bits:
- The renderer is a hand-rolled 2D canvas — no engine, no WebGL. Pixel maps are plain objects keyed "x_y" with an incremental dirty-pixel buffer, so a brush stroke costs ~0.006ms/frame instead of rebuilding the whole map
- Guest-first storage: everything autosaves to localStorage, with the multi-board snapshot in IndexedDB to escape the ~5MB quota. An account is only needed for cloud sync and publishing to the gallery
- Favorite recent bug: fitting a workspace of 16 isometric boards took 12.4 seconds. The iso lattice was drawn as O(cols×rows) individual diamonds — every shared edge stroked twice. Rewriting it as two families of parallel lines (O(rows+cols)) brought it down to 16ms
- No CSS framework at runtime; the design system is one hand-written CSS file
Honest caveat: the repo is the frontend only. The community gallery and auth run against a hosted API, but the editor itself — drawing, animation, tilesets, conversion, exports — is fully client-side and works without an account.
Would love feedback, especially from anyone making game assets: what's missing before this could replace your current tool for quick sprites?