{ "schemaVersion": 1, "generatedBy": "scripts/runewaker-pipeline/audit-environment-assembly.mjs", "deterministic": true, "validationStatus": "green", "reviewStatus": "review-required", "summary": { "dungeons": 30, "sourceDescriptors": 15976, "uniqueDungeonResources": 2799, "staticPlacements": 15976, "dynamicPlacements": 0, "dynamicReviewCandidates": 107, "unsupportedPlacements": 0, "missingSourceResources": 0 }, "unsupportedResourceTypes": [ "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." ], "issues": [], "dungeons": [ { "id": "aeternal-circle", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/aeternal-circle.json", "wdbReport": "src/assets/game/dungeons/aeternal-circle/wdb-report.json", "sourceDescriptors": 575, "uniqueResources": 182, "staticPlacements": 575, "dynamicPlacements": 0, "dynamicReviewCandidates": 54, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "barren-caves", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/barren-caves.json", "wdbReport": "src/assets/game/dungeons/barren-caves/wdb-report.json", "sourceDescriptors": 1, "uniqueResources": 1, "staticPlacements": 1, "dynamicPlacements": 0, "dynamicReviewCandidates": 0, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "cave-water-dragon", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/cave-water-dragon.json", "wdbReport": "src/assets/game/dungeons/cave-water-dragon/wdb-report.json", "sourceDescriptors": 121, "uniqueResources": 16, "staticPlacements": 121, "dynamicPlacements": 0, "dynamicReviewCandidates": 0, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "demon-stronghold", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/demon-stronghold.json", "wdbReport": "src/assets/game/dungeons/demon-stronghold/wdb-report.json", "sourceDescriptors": 90, "uniqueResources": 4, "staticPlacements": 90, "dynamicPlacements": 0, "dynamicReviewCandidates": 0, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "demon-stronghold-125", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/demon-stronghold-125.json", "wdbReport": "src/assets/game/dungeons/demon-stronghold-125/wdb-report.json", "sourceDescriptors": 90, "uniqueResources": 4, "staticPlacements": 90, "dynamicPlacements": 0, "dynamicReviewCandidates": 0, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "dungeon-of-dalanis", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/dungeon-of-dalanis.json", "wdbReport": "src/assets/game/dungeons/dungeon-of-dalanis/wdb-report.json", "sourceDescriptors": 652, "uniqueResources": 124, "staticPlacements": 652, "dynamicPlacements": 0, "dynamicReviewCandidates": 5, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "forsaken-abbey", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/forsaken-abbey.json", "wdbReport": "src/assets/game/dungeons/forsaken-abbey/wdb-report.json", "sourceDescriptors": 184, "uniqueResources": 26, "staticPlacements": 184, "dynamicPlacements": 0, "dynamicReviewCandidates": 1, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "grafu-castle", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/grafu-castle.json", "wdbReport": "src/assets/game/dungeons/grafu-castle/wdb-report.json", "sourceDescriptors": 899, "uniqueResources": 286, "staticPlacements": 899, "dynamicPlacements": 0, "dynamicReviewCandidates": 17, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "hall-of-survivors", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/hall-of-survivors.json", "wdbReport": "src/assets/game/dungeons/hall-of-survivors/wdb-report.json", "sourceDescriptors": 296, "uniqueResources": 32, "staticPlacements": 296, "dynamicPlacements": 0, "dynamicReviewCandidates": 0, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "hoto", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/hoto.json", "wdbReport": "src/assets/game/dungeons/hoto/wdb-report.json", "sourceDescriptors": 1627, "uniqueResources": 119, "staticPlacements": 1627, "dynamicPlacements": 0, "dynamicReviewCandidates": 0, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "ice-dwarf-kingdom", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/ice-dwarf-kingdom.json", "wdbReport": "src/assets/game/dungeons/ice-dwarf-kingdom/wdb-report.json", "sourceDescriptors": 1054, "uniqueResources": 209, "staticPlacements": 1054, "dynamicPlacements": 0, "dynamicReviewCandidates": 0, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "kal-turok-hive", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/kal-turok-hive.json", "wdbReport": "src/assets/game/dungeons/kal-turok-hive/wdb-report.json", "sourceDescriptors": 2, "uniqueResources": 2, "staticPlacements": 2, "dynamicPlacements": 0, "dynamicReviewCandidates": 1, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "kalins-shrine", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/kalins-shrine.json", "wdbReport": "src/assets/game/dungeons/kalins-shrine/wdb-report.json", "sourceDescriptors": 943, "uniqueResources": 133, "staticPlacements": 943, "dynamicPlacements": 0, "dynamicReviewCandidates": 0, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "kawaks-tomb", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/kawaks-tomb.json", "wdbReport": "src/assets/game/dungeons/kawaks-tomb/wdb-report.json", "sourceDescriptors": 573, "uniqueResources": 60, "staticPlacements": 573, "dynamicPlacements": 0, "dynamicReviewCandidates": 0, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "kulech-bones-nest", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/kulech-bones-nest.json", "wdbReport": "src/assets/game/dungeons/kulech-bones-nest/wdb-report.json", "sourceDescriptors": 199, "uniqueResources": 52, "staticPlacements": 199, "dynamicPlacements": 0, "dynamicReviewCandidates": 0, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "lair-demon-dragon", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/lair-demon-dragon.json", "wdbReport": "src/assets/game/dungeons/lair-demon-dragon/wdb-report.json", "sourceDescriptors": 530, "uniqueResources": 96, "staticPlacements": 530, "dynamicPlacements": 0, "dynamicReviewCandidates": 0, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "mystic-altar", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/mystic-altar.json", "wdbReport": "src/assets/game/dungeons/mystic-altar/wdb-report.json", "sourceDescriptors": 2096, "uniqueResources": 48, "staticPlacements": 2096, "dynamicPlacements": 0, "dynamicReviewCandidates": 0, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "paspers-shrine", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/paspers-shrine.json", "wdbReport": "src/assets/game/dungeons/paspers-shrine/wdb-report.json", "sourceDescriptors": 564, "uniqueResources": 143, "staticPlacements": 564, "dynamicPlacements": 0, "dynamicReviewCandidates": 0, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "raksha-temple", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/raksha-temple.json", "wdbReport": "src/assets/game/dungeons/raksha-temple/wdb-report.json", "sourceDescriptors": 1028, "uniqueResources": 228, "staticPlacements": 1028, "dynamicPlacements": 0, "dynamicReviewCandidates": 11, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "sand-vortex", "mode": "primary-only-procedural-fallback", "recipe": "scripts/runewaker-pipeline/recipes/sand-vortex.json", "wdbReport": "src/assets/game/dungeons/sand-vortex/wdb-report.json", "sourceDescriptors": 20, "uniqueResources": 14, "staticPlacements": 20, "dynamicPlacements": 0, "dynamicReviewCandidates": 0, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "sardo-castle", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/sardo-castle.json", "wdbReport": "src/assets/game/dungeons/sardo-castle/wdb-report.json", "sourceDescriptors": 436, "uniqueResources": 132, "staticPlacements": 436, "dynamicPlacements": 0, "dynamicReviewCandidates": 0, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "the-origin", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/the-origin.json", "wdbReport": "src/assets/game/dungeons/the-origin/wdb-report.json", "sourceDescriptors": 693, "uniqueResources": 220, "staticPlacements": 693, "dynamicPlacements": 0, "dynamicReviewCandidates": 17, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "tomb-seven-heroes", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/tomb-seven-heroes.json", "wdbReport": "src/assets/game/dungeons/tomb-seven-heroes/wdb-report.json", "sourceDescriptors": 450, "uniqueResources": 56, "staticPlacements": 450, "dynamicPlacements": 0, "dynamicReviewCandidates": 0, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "treasure-trove", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/treasure-trove.json", "wdbReport": "src/assets/game/dungeons/treasure-trove/wdb-report.json", "sourceDescriptors": 908, "uniqueResources": 193, "staticPlacements": 908, "dynamicPlacements": 0, "dynamicReviewCandidates": 1, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "warnorken-arena", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/warnorken-arena.json", "wdbReport": "src/assets/game/dungeons/warnorken-arena/wdb-report.json", "sourceDescriptors": 256, "uniqueResources": 14, "staticPlacements": 256, "dynamicPlacements": 0, "dynamicReviewCandidates": 0, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "ystra-labyrinth-boss1", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/ystra-labyrinth-boss1.json", "wdbReport": "src/assets/game/dungeons/ystra-labyrinth-boss1/wdb-report.json", "sourceDescriptors": 3, "uniqueResources": 1, "staticPlacements": 3, "dynamicPlacements": 0, "dynamicReviewCandidates": 0, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "ystra-labyrinth-boss2", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/ystra-labyrinth-boss2.json", "wdbReport": "src/assets/game/dungeons/ystra-labyrinth-boss2/wdb-report.json", "sourceDescriptors": 3, "uniqueResources": 1, "staticPlacements": 3, "dynamicPlacements": 0, "dynamicReviewCandidates": 0, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "ystra-labyrinth-boss3", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/ystra-labyrinth-boss3.json", "wdbReport": "src/assets/game/dungeons/ystra-labyrinth-boss3/wdb-report.json", "sourceDescriptors": 3, "uniqueResources": 1, "staticPlacements": 3, "dynamicPlacements": 0, "dynamicReviewCandidates": 0, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "zurhidon-stronghold", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/zurhidon-stronghold.json", "wdbReport": "src/assets/game/dungeons/zurhidon-stronghold/wdb-report.json", "sourceDescriptors": 840, "uniqueResources": 201, "staticPlacements": 840, "dynamicPlacements": 0, "dynamicReviewCandidates": 0, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] }, { "id": "zurhidon-stronghold-124", "mode": "all-ros", "recipe": "scripts/runewaker-pipeline/recipes/zurhidon-stronghold-124.json", "wdbReport": "src/assets/game/dungeons/zurhidon-stronghold-124/wdb-report.json", "sourceDescriptors": 840, "uniqueResources": 201, "staticPlacements": 840, "dynamicPlacements": 0, "dynamicReviewCandidates": 0, "unsupportedPlacements": 0, "missingSourceResources": 0, "missingResources": [], "unsupported": [] } ] }