reikhelm/reikhelm-web
Parley Hatch b1449248f8 feat(core): pillars — PillarPlacer decorator + Tile::Pillar
A finishing decorator that scatters free-standing pillar columns into larger
rooms on a spaced interior grid. Sixth pass in the dungeon recipe.

- New Tile::Pillar (impassable like Wall, drawn distinctly). Exhaustive matches
  updated: ascii ('o'), frozen macroquad viz (still compiles), wasm code 3.
- PillarPlacer/PillarConfig (room_chance, min_room, spacing): places isolated
  single-cell pillars only on interior room floor (>= 2 from the edge, never the
  center), on a grid with spacing >= 2 — so the floor stays 4-connected by
  construction and a room is never orphaned. Respects non-rect room shapes
  (pillars land only on actual carved floor).
- DungeonConfig gains `pillars`; recipe appends PillarPlacer after DoorPlacer.
- Renderer draws pillars as lit stone columns with a contact shadow; new
  "pillars" density slider.

Core: 121 tests green (5 new: interior-only placement, floor stays connected,
zero-chance/small-room skip, determinism). clippy clean (core + viz).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 00:25:37 -06:00
..
index.html feat(wasm+web): live browser dungeon playground (WASM core + atmospheric renderer) 2026-05-31 00:07:24 -06:00
main.js feat(core): pillars — PillarPlacer decorator + Tile::Pillar 2026-05-31 00:25:37 -06:00
render.js feat(core): pillars — PillarPlacer decorator + Tile::Pillar 2026-05-31 00:25:37 -06:00
style.css feat(wasm+web): live browser dungeon playground (WASM core + atmospheric renderer) 2026-05-31 00:07:24 -06:00