Pixelata
In developmentA Python workflow for small game teams to test visual directions and produce coherent pixel-art packs.
At a glance
- Outcome: Gives a small game team coherent pixel art without a full-time
artist, and lets it reject a weak direction before a pack is built. One
generated concept sheet was rejected against a stated rule; its revision made four human-accepted 32×32 sprites, a second-run
identically hashed atlas and four Godot 4.6.3
AtlasTextureresources that imported. Records every July 2026 input/output SHA-256 in-repo. - Status: Remains unreleased with three projects on September 11, 2026:
Clankkers completed all seven Production Path stages through deterministic
processing/QA; Multiplicity holds accepted sprites/verified engine import.
On September 2, Marjorie’s Manor added a confirmed 21-row intake report,
project/pack briefs, a three-item UI inventory, reference set and one adopted direction study;
nothing is locked. No project reached implemented review signoff or delivery
authorization; late-August commits cover only docs/plans/onboarding, not
src/pixelata; September 9 consolidated 29 archived DAGs and one live tracker, with all 16 graph-native authoring nodes planned. - Role: Solo.
- Stack & libraries: Uses Python 3.11+, 128
.pyfiles, about 36,000src/pixelatalines and 20,000 test lines. Base depends only on Pillow/jsonschema; extras add FastAPI/Jinja2/Uvicorn/httpx for a server-rendered workspace with vendored htmx as nearly its only JavaScript, plus themcpSDK, PyInstaller and Playwright. Packages with setuptools/uv; targets Godot and Macroquad. - Source: Remains private under a proprietary KnownBetter Studios license since August 29, 2026.
- Validation: Runs 736 tests in 61
unittestfiles. On September 11, 2026,python -m unittest discovertook 55 seconds: all passed, 2 skipped. Uses 77 JSON Schemas,validate_profile.py --all, Python 3.11 GitHub Actions and separate Playwright browser-audit/native-package-build gates. - Limitations: Has three projects before review/delivery; two July scaffolds contain only brief/reference sets. Packages the verified Godot pack with a separate script, not its kernel; legacy shortlisting writes a selection field into the completed generation run; a logged, unfixed September bug reads lineage locators as artifact paths, marking adopted studies’ intake stale. Plans canvas workspace layout and a Rust desktop; native release awaits macOS evidence and a recorded human decision; no Rust exists on September 11, 2026; September 9 keeps the first replay kernel in pure Python behind a replaceable interface and defers its long-term language.
Workflow
Organizes directions through bounded experiments stating questions, evidence and failure, not generation runs. Supports generation/manual import, external editing, native-pixel cleanup, benchmark comparison and runtime preview. Names missing evidence before a hundred coherent, correctly sized engine assets. Complements sprite editors/generators.
Discover records runtime constraints, pack needs, questions and risks; Explore compares directions. Prove tests representative native-scale prototypes for states, animation, tiles and coherence. Produce locks direction/spec, then runs deterministic processing/QA. Deliver reviews, then reproducibly exports accepted assets and engine handoffs.
Uses deterministic Pillow: nearest-neighbour scaling, binary alpha, palette snapping, PNG/JSON atlases and fixed-timestamp byte-identical zip files.
Stores seven separate human records: prototype confirmation, direction lock, Visual Spec confirmation, production authorization, art acceptance, review signoff and delivery authorization. Enforces prerequisites on write; locks reject non-human actors and require covered prototype sets. QA grants no authority. Rebuilds artifact-derived views; SHA-256 lineage binds exports to reviewed pixels.
Interfaces
- Provides 84 schema-backed CLI subcommands: intake/processing/preview/QA/review/export,
batches, atlas diffs, Godot/Macroquad handoffs, local history/cache,
copilot/adapter control,
doctorandmigrate. - Serves optional local FastAPI workspace through 105 handlers: 37 GET, 68 POST. Jinja2/htmx render Production Path, Direction Board, Copilot Console, Adapter Console, focused review and read-only Delivery bench with separate POST export.
- Exposes 50 MCP tools sharing CLI-validated writes.