3 Commits

Author SHA1 Message Date
vh 5ba185f775 feat: wire _ph placeholder sprites into actors (mech, grunt, burster, slug, scrap)
Operator asked for placeholder sprites for playtest feel. Actors now
render the hand-authored pixel maps (tools/aseprite/maps -> assets/
sprites_ph, committed) via code-created Sprite2D — no scene texture
UIDs to hand-author. Dynamic feedback preserved: grunt/burster heat
tint + hit flash drive sprite.modulate, heat-aura ring stays a _draw
overlay; salvage fade drives modulate.a. Arena floor/walls, HUD, and
FX stay primitives. CLAUDE.md greybox-art note updated (was 'no
sprites'); real art (watercolor scenery + pixel sprites) still later.

Smoke gate 3/3 green on nh3-dev headless 4.7.1.
2026-08-14 22:39:03 -07:00
vh 651193674c feat(tools): Aseprite sprite pipeline — shared pixel maps, Lua generator, headless previewer
tools/aseprite/maps/ holds the source of truth: char-grid pixel maps +
shared palette for five _ph placeholder sprites (M03 32px per MOE.md
design law cues — round silhouette, mismatched eyes, bolted hardpoint,
pillar feet; grunt 16px untagged olive; burster 20px HEAT glow band;
KINETIC slug; scrap diamond). Two interchangeable renderers:
gen_sprites.lua (aseprite -b, emits .aseprite + .png — run on any
machine with Aseprite) and preview.py (Pillow, identical PNGs headless
+ nearest-neighbor zoom for review). Outputs gitignored; greybox
scenes untouched — art stays out of the game per the greybox rule.
2026-08-14 00:04:45 -07:00
vh 7103b2297f chore: scaffold Godot 4.7.1 project — greybox falsifier phase
Design canon: advisors/game-design/concept/mechatronics/ (CONCEPT.md,
MOE.md). v1 target = the greybox falsifier per ROADMAP.md.
2026-08-06 22:04:15 -07:00