Add art brief and palette references for the PixelLab pipeline

Resolves decision 8: art is generated in PixelLab from written prompts.
docs/ART.md carries the palette spec, the sky/wood slot rule, per-asset
sizes and return format, and prompts for Aki (needed for M3), the rest of
the cast, and the shop background.

art/palette.png (16x1, one pixel per entry) and art/palette_ref.png
(512x64 swatch strip) are generated from g_Palette so the generator and
the build cannot drift apart.

Flags a constraint the palette had hidden: only one literal skin entry, so
portraits use 6 -> 14 -> 4 as a hue-compatible skin ramp.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-27 22:34:05 +02:00
co-authored by Claude Opus 5
parent 97eebbaefc
commit 25a098e6af
4 changed files with 190 additions and 19 deletions
+14 -19
View File
@@ -180,19 +180,14 @@ The real background bitmap on the palette-slot layout already reserved in
code (sky 811, wood/warm 47), plus 12 portraits (4 characters × 3
expressions). Retire the placeholder `HMMV` rectangles.
**Requires — from you:** *(this is the milestone with real lead time — start
it early, see §5)*
- **Who makes the art.** You, a commission, or an AI-assisted pipeline like
the music one. This answer determines whether M6 is a week or a quarter.
- **One background bitmap**, 256×212, 16 colors.
- **12 portraits**, 48×48, three expressions each (neutral / happy /
troubled) for the four regulars.
- **Critically: the palette spec goes to the artist *before* they draw.** Sky
tones must live in slots 811 and wood/warm tones in 47, because that
layout is what makes M7's seasons free. Art drawn in open color and
quantized afterwards will land in the wrong slots and silently destroy the
seasonal system. I can generate the exact palette table and a reference
swatch image to hand over.
**Requires — from you:** generated in **PixelLab** from the prompts in
`ART.md` — one 256×212 background and 12 portraits (48×48, three expressions
× four regulars), returned as PNGs in `art/`.
The palette spec and the sky/wood slot rule are written up in `ART.md` §1,
with machine- and human-readable references at `art/palette.png` and
`art/palette_ref.png`. **That rule is the whole of M7 riding on one
constraint**, and a generator will not respect it unprompted.
**Requires — in place:**
- A PNG → SC5 conversion path. `projects/mazegame` already has working
@@ -525,7 +520,7 @@ milestone arrives.
| 5 | M3 | ~~Aki's six beats~~ | ✅ drafted — all four arcs are in `SCRIPT.md`, awaiting your edit |
| 6 | M3 | Scratch portrait for Aki | Crude is fine, but *something* — the test needs a face |
| 7 | M3 | Item list at slice stage | Coffee + cream soda only |
| 8 | **M6 — lead time** | **Who makes the art** | Decide now, not at M6; it's the only external dependency |
| 8 | M6 | ~~Who makes the art~~**PixelLab, from my prompts** | ✅ resolved. Prompts, palette spec and return format in `ART.md`; palette reference images in `art/` |
| 9 | M4 | Scene schema sign-off | Ten-minute review, saves a rewrite |
| 10 | M4 | String IDs for future JP text | Yes — nearly free now, expensive later |
| 11 | M5 | Arrival weights | React to a table I propose |
@@ -545,8 +540,8 @@ are deliberately *not* being decided now. They only bite at M10, and every one
of them is easier to judge with real save content on screen than in the
abstract. Don't let them pull scope forward.
Of the live items, **8 is the one that wants answering today** — the art has
external lead time and everything else can be worked around.
With 8 resolved, nothing on the live list is externally blocked — the
remaining items are all things I can propose and you can react to.
## 9. Immediate next actions
@@ -558,7 +553,7 @@ external lead time and everything else can be worked around.
3.**M3 vertical slice** — Aki's first six beats, hardcoded, with a scratch
portrait. The next real milestone, and the one that decides whether the
game works (§2, M3).
4.**Start the portrait question** (§5) — still the only item with external
lead time, and now the longest pole by some distance.
4.**Generate Aki's three portraits** from the prompts in `ART.md`, so M3
can be judged against a real face rather than a brown rectangle.
3 and 4 are independent; 4 can start today and should.
3 and 4 are independent, and 4 unblocks the honest version of 3.