Add Pixel Art Phase A1 — editable pixel layers

A new `pixelart` layer type: a palette-indexed, RLE-encoded grid stored
in the project JSON, rendered crisp (image-rendering: pixelated) across
the editor, preview-DOM renderers, and the export canvas.

A dedicated #pixelEditorView with pencil / eraser / fill / eyedropper
(drag-paint with line interpolation), a palette panel (pick / add
colours), grid toggle, mirror X/Y, zoom, and per-stroke in-editor undo.
Reachable via a tool-palette button (adds a 32x32 layer + opens the
editor) and an "Edit pixels" button / double-click on a pixel layer.

Co-Authored-By: Claude Opus 4.7 <[email protected]>
This commit is contained in:
thePR0M3TH3ANandClaude Opus 4.7 committed 2026-05-22 15:30:43 -04:00
1 parent 3e6e89e16f
commit b24511ad80
2 files changed
+519

No files matched your search

+19
View File
@@ -84,6 +84,25 @@ template, it is *any design*.
---
## Implementation status
- **Phase A1 — embedded pixel layer: built (pending in-browser testing).**
The `pixelart` layer type + `pixelArt` data model (palette + RLE
frames), `renderPixelGridToCanvas` and crisp rendering across the
editor / preview-DOM renderers / export canvas. A `#pixelEditorView`
with pencil / eraser / fill / eyedropper, a palette panel (pick / add),
grid toggle, mirror X/Y, zoom, and a per-stroke in-editor undo.
Reachable via the **▦** tool-palette button ("Add Layer → Pixel Art")
and an "Edit pixels" button / double-click on a selected pixel layer.
Single static frame only.
- **Phase A2 — standalone Pixel Art design** (`templateMode: 'pixelart'`,
publish/fork as `casewrap-pixelart`, `pixel-art` category): not started.
- **Phases B / C / D:** not started. (Note: a `drawPixelArtToCanvas`
export path is already wired, so pixel layers appear in PDF/JPEG
export — Phase B's dedicated PNG export is still pending.)
---
## Why this fits the repo
### What's reused