Vector tile graphics and an in-room legend !2

merged merged by cmc on 2026-09-27 23:41 UTC · krz/micro-roguelike:feature/graphics into main

Discussion

cmc
  • Vector tile graphics (1mb/sprites.js, 25 SVG symbols themed by each floor's CSS variables). g toggles graphics/ASCII; default on.
  • Side panel lists what every visible interactable does and where every exit leads, with warnings for the five instant deaths (door d, effigies, unsafe pit edges, unbowed crown, crack with gold).
  • tools/validate.js fails if any tile, effigy, or exit destination that can appear on floors 1-7 has no legend entry.
  • Status line no longer prints the room text twice; a step lost to darkness dims and shakes the grid.
  • Thin flame: torch pickup and brazier cap get THIN_FUEL_BONUS (10). Seed 8q10qn could not finish floor 1 without it.
  • tools/playthrough.js: full-run simulator through the real engine, wins replayed through key(). 17/20 seeds won; the 3 misses are thin-flame seeds that exhausted the search budget. Not part of check.sh (1-3 min per seed). Headless loader moved to tools/engine.js.

Size: 112,564 B (10.7% of budget), ledger row in docs/SIZES.txt.

tools/check.sh: 1400/1400 floors solvable, legend coverage OK.