Files
healer-man/scripts/runewaker-pipeline/RUNEWAKER_ENVIRONMENT_ASSEMBLY_REPORT.md
T
2026-09-08 10:40:26 -04:00

4.3 KiB

RuneWaker WDB environment assembly audit

Structural validation: green Source-behavior review: review-required

This deterministic audit reads the checked-in WDB reports and environment recipes. It does not convert or replace shipping GLBs. The builder now supports every valid ROS placement resource with normalized-path model caching validated by source hashes and the complete translation/quaternion/scale transform relative to the reviewed primary placement.

Coverage

  • 30 dungeon WDB packages and 15976 source descriptors.
  • 2799 per-dungeon unique ROS resources (resources reused across dungeons share cache keys).
  • 15976 static placements and 0 explicitly reviewed dynamic placements.
  • 107 filename-based dynamic candidates remain static and review-required; names never prove behavior.
  • 0 unsupported placement records and 0 missing source ROS resources.
Dungeon Mode Descriptors Resources Static Dynamic Dynamic review Unsupported Missing ROS
aeternal-circle all-ros 575 182 575 0 54 0 0
barren-caves all-ros 1 1 1 0 0 0 0
cave-water-dragon all-ros 121 16 121 0 0 0 0
demon-stronghold all-ros 90 4 90 0 0 0 0
demon-stronghold-125 all-ros 90 4 90 0 0 0 0
dungeon-of-dalanis all-ros 652 124 652 0 5 0 0
forsaken-abbey all-ros 184 26 184 0 1 0 0
grafu-castle all-ros 899 286 899 0 17 0 0
hall-of-survivors all-ros 296 32 296 0 0 0 0
hoto all-ros 1627 119 1627 0 0 0 0
ice-dwarf-kingdom all-ros 1054 209 1054 0 0 0 0
kal-turok-hive all-ros 2 2 2 0 1 0 0
kalins-shrine all-ros 943 133 943 0 0 0 0
kawaks-tomb all-ros 573 60 573 0 0 0 0
kulech-bones-nest all-ros 199 52 199 0 0 0 0
lair-demon-dragon all-ros 530 96 530 0 0 0 0
mystic-altar all-ros 2096 48 2096 0 0 0 0
paspers-shrine all-ros 564 143 564 0 0 0 0
raksha-temple all-ros 1028 228 1028 0 11 0 0
sand-vortex primary-only-procedural-fallback 20 14 20 0 0 0 0
sardo-castle all-ros 436 132 436 0 0 0 0
the-origin all-ros 693 220 693 0 17 0 0
tomb-seven-heroes all-ros 450 56 450 0 0 0 0
treasure-trove all-ros 908 193 908 0 1 0 0
warnorken-arena all-ros 256 14 256 0 0 0 0
ystra-labyrinth-boss1 all-ros 3 1 3 0 0 0 0
ystra-labyrinth-boss2 all-ros 3 1 3 0 0 0 0
ystra-labyrinth-boss3 all-ros 3 1 3 0 0 0 0
zurhidon-stronghold all-ros 840 201 840 0 0 0 0
zurhidon-stronghold-124 all-ros 840 201 840 0 0 0 0

Runtime-facing output

A full build writes wdb-placement-manifest.json beside the environment package. Each placement has a stable WDB GUID ID, normalized resource/cache key, source TRS, primary-local Three.js matrix, bounds, flags, asset status, and optional reviewed dynamic definition. Static placements are assembled into the optimized visual and navigation collision. Reviewed dynamic placements are omitted from static collision and packaged as separately addressable GLBs.

Unsupported or review-required behavior

  • WDB placement resources other than ROS are recorded but not converted.
  • Particle, light, sound, camera, and script-only components absent from ROS mesh descriptors remain unsupported.
  • Animated/stateful behavior remains unsupported until an exact reviewed dynamic-placement rule supplies its kind, initial state, collision policy, and evidence.
  • A ROS that the preserved exporter cannot decode is skipped, recorded with its resource path and failure, and never replaced with guessed geometry.
  • The primary-only top-down preview and editable .blend do not include the final merged WDB assembly; the generated GLB and placement manifest are authoritative.
  • Dynamic-candidate filenames are not enough to remove geometry from the static package. Add a reviewed source.wdbAssembly.dynamicPlacements rule with evidence first.

Validation issues

  • None.