Phase 10: sprite session — runner, brute, shield zombie, weapon tin

Sheets generated with the existing zombie sheet as the style anchor (edit mode);
sliced to z_f1/2 (runner sprint), z_g1/2 (brute + net-post club), z_s1/2/3
(shield zombie, chair up / chair dropped stagger), x_tin (black new-balls tin).
assets/_slice.py is now committed (chroma-key + de-fringe + segmentation) so the
pipeline survives scratchpad wipes; HANDOFF updated.

Sprites are NOT wired into render.js yet — Phase 11 does that after Oliver
approves the sheets (plan's design checkpoint).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
wuwiandClaude Fable 5 committed 2026-07-12 10:19:21 +02:00
1 parent f512709074
commit 811fe3f91f
14 files changed
+79 -4

No files matched your search

+8 -4
View File
@@ -102,10 +102,14 @@ gives clean manual stepping. `T.press('Space')` = tap. Dismiss the intro overlay
preview_start (a new port = new origin = cold cache). Always sanity-check a just-added
field exists (e.g. `T.G.newField !== undefined`) before trusting test results.
- Sprite pipeline: generate via generate-image skill (needs OPENROUTER_API_KEY in repo .env,
gitignored) → magenta background → scratchpad slice.py (chroma-key, segment, strip ground
lines/dividers, common-scale per sheet, IDLE_TARGET_H=112). Generator sometimes ignores
magenta (then: edit-mode the image back to magenta) or draws near-identical animation
frames (then: re-prompt with strongly contrasted pose descriptions).
gitignored; run the script with the scratchpad venv python — system python lacks requests)
→ magenta background → assets/_slice.py (COMMITTED now, no more scratchpad rebuilds:
chroma-key on the corner color + magenta de-fringe, column-gap segmentation, --largest
keeps only the main blob, common-scale per sheet, IDLE_TARGET_H=112). Generator sometimes
ignores magenta (harmless — the key uses the corner color) or draws near-identical
animation frames (re-prompt with strongly contrasted pose descriptions). If two frames
touch (a dragged weapon bridging the gap), split the sheet at the midpoint and slice each
half with --largest. Passing the existing sheet as --input (edit mode) nails the style.
- drawChar mirrors sprites by ch.facing — any stance that must not mirror needs facing reset
(setupPoint pins facing=1).
- The scratchpad venv/scripts get wiped between sessions — recreate venv (requests+pillow)