Dungeon themes: per-song visual identity (crypt/overgrown/ember/flooded/windswept)

One album must not render the same dungeon twice. dungeonTheme() scores
the measured summary per theme — pace terms gate on tempoConfidence so
doubled detectors never read fast, crypt is penalised for blazing
masters — plus small seeded jitter so ambiguous songs vary across seeds
while decided races stay decided. The plan carries the theme name;
dressing mix, planting/timber/puddle densities follow it, and the facade
builds all materials (stone/floor multipliers, torch + light color, wood,
fog tint) from the same record.

Calibrated bank spread is 4/4/4/4/1 (windswept holds runner); corners
stable across seeds; plan reshaping, facade wiring, and murk-vs-clear
gates covered by tests.
This commit is contained in:
Dejvino
2026-10-08 22:20:04 +02:00
parent c96e810d44
commit 6a2af2e45f
7 changed files with 648 additions and 55 deletions
+11
View File
@@ -124,6 +124,17 @@ Actors and objects change only at camera cuts:
- Absolute animation speed follows the song: motion bias is
tempo-dominated and every `rate: true` param scales by per-track
`rateScale` — slow songs got fast scenes before this.
- Venues have a per-track **character** the same way: the dungeon derives
sealed/murky/big (`dungeonCharacter`: tonal darkness, doubling-compensated
tempo, stillness, weight) from the measured summary, calibrated against
the bank because arrangement intent doesn't survive measurement (ambient
doubles tempo, hiss reads bright). Dark slow songs seal fully indoor;
blazing masters always crack open.
- The dungeon also gets a per-track visual **theme** (`dungeonTheme`:
crypt/overgrown/ember/flooded/windswept), scored off the same summary
traits — one album must not render the same dungeon twice. Pace terms
gate on tempoConfidence (doubled detectors must not read fast), jitter
is small enough that decided races stay decided across seeds.
## 7. Grounds and composition