Texture audit found the real weakness: one wall texture repeated up to 316x per
maze, so levels read as wallpaper. Generated 26 more images on MODELBEAST (free,
local) and wired what was already sitting unused.
- 4 wall variants per theme (24 total), picked by a stable hash of tile position:
neighbours differ, but a given tile keeps its texture across rebuilds
- 8 floor decals scattered on open tiles (5% density, seeded per level, tinted
back to 0.45 alpha so litter never competes with sprites)
- Classes now have distinct SPRITES instead of colour tints (the 3 player
variants were generated in batch 3 and never wired)
- Scalper (hunts gold only, flees with it) joins club/festival spawn tables;
Fire Marshal (2nd wall-phasing stalker) appears in procgen from level 7
- Readability fix: CLUB NIGHT's fine checker floor read as noise under sprites.
Regenerated a coarse one + per-theme floorTint so busy floors get knocked back.
- process_sprites skips not-yet-generated files instead of crashing the batch
39 -> 73 game textures. All verified in-browser: 316-wall maze splits evenly
across 4 variants, deterministic across rebuilds, per-class sprites, scalper
ignores espresso for gold, 71/71 assets load clean.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>