12 KiB
RuneWaker navigation gap analysis
This diagnostic is offline-only. It measures source-authored entrance/objective positions against every raw Recast surface component and against the retained runtime surface. The current boss sequence is HealerMan's distance-from-entrance fallback, not a claimed source-authored order. It does not create links or infer doors/teleports.
Unreachable currently ordered legs analyzed: 19 across 8 dungeons. Source-authored fixed orders implemented by the audited packages: 0. Authored off-mesh links added by this review: 0.
| Dungeon | Ordered leg | Geometry classification | From raw comp/dist | To raw comp/dist | Retained distances |
|---|---|---|---|---|---|
| cave-water-dragon | Template 104161 -> Lytfir | separate-recast-surface-components | 0/0m | 8/0m | 0m -> 153.578m |
| hoto | entrance -> Medusa | separate-recast-surface-components | 1/0m | 0/0m | 60.041m -> 0m |
| hoto | Geba -> Bloodthirsty Claw | separate-recast-surface-components | 0/0m | 1/0m | 0m -> 30.954m |
| hoto | Bloodthirsty Claw -> Jiasha | separate-recast-surface-components | 1/0m | 0/0m | 30.954m -> 0m |
| ice-dwarf-kingdom | Pangkor -> Crasset Hairyfoot | separate-recast-surface-components | 0/0m | 3/0m | 0m -> 31.719m |
| ice-dwarf-kingdom | Crasset Hairyfoot -> Thynos | separate-recast-surface-components | 3/0m | 0/0m | 31.719m -> 0m |
| kalins-shrine | entrance -> Iron Rune Warrior | entrance-or-prior-objective-outside-live-start-limit | 5/0m | 5/0m | 293.32m -> 307.606m |
| kalins-shrine | Iron Rune Warrior -> Yusalien | separate-recast-surface-components | 5/0m | 2/0m | 307.606m -> 245.55m |
| kalins-shrine | Yusalien -> Locatha | separate-recast-surface-components | 2/0m | 12/0m | 245.55m -> 122.731m |
| kalins-shrine | Locatha -> Goddess of Art's Disciple | separate-recast-surface-components | 12/0m | 3/0m | 122.731m -> 12.741m |
| kalins-shrine | Goddess of Art's Disciple -> Ensia | separate-recast-surface-components | 3/0m | 0/0m | 12.741m -> 0m |
| raksha-temple | entrance -> Shadoj | objective-or-entrance-outside-all-navigation | 6069/0m | 2982/7.159m | 578.214m -> 699.329m |
| the-origin | entrance -> Life Leecher | separate-recast-surface-components | 4276/0m | 2868/1.099m | 456.333m -> 258.631m |
| the-origin | Life Leecher -> Holy Tree Falynum | separate-recast-surface-components | 2868/1.099m | 4857/5.632m | 258.631m -> 559.406m |
| treasure-trove | entrance -> Lookout Luke | missing-primary-environment-geometry-source-support-pad | 487/0m | 854/0m | 0.184m -> 519.5m |
| treasure-trove | Lookout Luke -> Snow Blake | missing-primary-environment-geometry-source-support-pad | 854/0m | 490/0m | 519.5m -> 525.287m |
| treasure-trove | Snow Blake -> Boulder Sidaar | missing-primary-environment-geometry-source-support-pad | 490/0m | 489/0m | 525.287m -> 565.311m |
| ystra-labyrinth-boss1 | Specter Guardian Creator -> Raichika the Destroyer | separate-authored-wdb-room-placements | 0/0m | 1/0m | 0m -> 305.636m |
| ystra-labyrinth-boss1 | Raichika the Destroyer -> Rune Guardian Leader | separate-authored-wdb-room-placements | 1/0m | 2/0m | 305.636m -> 317.303m |
Per-dungeon surface inventory
- cave-water-dragon: 510 raw vertex-connected surfaces; 1 shared-edge corridors inside the retained surface; 17285 welded nodes discarded by largest-surface retention.
- hoto: 260 raw vertex-connected surfaces; 1 shared-edge corridors inside the retained surface; 5777 welded nodes discarded by largest-surface retention.
- ice-dwarf-kingdom: 599 raw vertex-connected surfaces; 1 shared-edge corridors inside the retained surface; 6237 welded nodes discarded by largest-surface retention.
- kalins-shrine: 93 raw vertex-connected surfaces; 1 shared-edge corridors inside the retained surface; 4858 welded nodes discarded by largest-surface retention.
- raksha-temple: 13137 raw vertex-connected surfaces; 1 shared-edge corridors inside the retained surface; 180838 welded nodes discarded by largest-surface retention.
- the-origin: 6736 raw vertex-connected surfaces; 1 shared-edge corridors inside the retained surface; 97103 welded nodes discarded by largest-surface retention.
- treasure-trove: 1025 raw vertex-connected surfaces; 1 shared-edge corridors inside the retained surface; 16502 welded nodes discarded by largest-surface retention.
- ystra-labyrinth-boss1: 36 raw vertex-connected surfaces; 1 shared-edge corridors inside the retained surface; 901 welded nodes discarded by largest-surface retention.
Reviewed dispositions
cave-water-dragon
- Disposition: gated-wave-and-door-review.
- Safe automatic link: no.
- Objective order: partial-gate-evidence-insufficient-for-complete-order.
- Current package order: healerMan-distance-derived (non-authoritative).
- Finding: Template 104161 runs the ten-add water-elemental controller, creates a blocking door, and removes it only after the counter reaches ten. Lytfir is on a lower isolated surface, so a permanent link would bypass the preserved gate/drop sequence.
- Remaining requirement: encounter-gate-state.
- Remaining requirement: source-objective-review.
- Remaining requirement: dynamic-navigation-transition.
- Evidence: ../rom-pvt-server-backups/Runewaker/Resource/luascript/01562.lua:1
- Evidence: ../rom-pvt-server-backups/Runewaker/Resource/luascript/01562.lua:21
- Evidence: ../rom-pvt-server-backups/Runewaker/Resource/luascript/01562.lua:42
hoto
- Disposition: source-order-required-before-linking.
- Safe automatic link: no.
- Objective order: source-objective-review-required.
- Current package order: healerMan-distance-derived (non-authoritative).
- Finding: The distance fallback crosses the same 6.65m vertical surface break three times. Preserved local configuration supplies boss anchors but no authoritative encounter order, so these heuristic legs cannot justify a link.
- Remaining requirement: source-objective-review.
- Remaining requirement: navigation-geometry-review.
- Evidence: scripts/runewaker-pipeline/build-population.mjs:634
- Evidence: scripts/runewaker-pipeline/recipes/hoto-population.json
ice-dwarf-kingdom
- Disposition: door-gated-room-review.
- Safe automatic link: no.
- Objective order: partial-gate-evidence-insufficient-for-complete-order.
- Current package order: healerMan-distance-derived (non-authoritative).
- Finding: Crasset's isolated surface is separated by a 1.64m/0.60m gap, but his preserved death hook creates an orb that finds and hides door 112321. A permanent bidirectional link would erase that gate state.
- Remaining requirement: encounter-gate-state.
- Remaining requirement: source-objective-review.
- Remaining requirement: dynamic-navigation-transition.
- Evidence: ../rom-pvt-server-backups/Runewaker/Resource/luascript/01356.lua:16
- Evidence: ../rom-pvt-server-backups/Runewaker/Resource/luascript/01356.lua:36
- Evidence: ../rom-pvt-server-backups/Runewaker/Resource/luascript/01356.lua:46
- Evidence: ../rom-pvt-server-backups/Runewaker/Resource/luascript/01356.lua:54
kalins-shrine
- Disposition: teleport-room-mechanic.
- Safe automatic link: no.
- Objective order: source-randomized-not-linear.
- Current package order: healerMan-distance-derived (non-authoritative).
- Finding: The preserved server scripts register six Kalin locations as separate keeper rooms, select the next uncleared room randomly, and advance with a group teleport. The vertical component gaps are encounter state, not wall seams, and a fixed objective order would contradict the source.
- Remaining requirement: nonlinear-objectives.
- Remaining requirement: encounter-teleport-state.
- Remaining requirement: dynamic-navigation-transition.
- Evidence: ../rom-pvt-server-backups/Runewaker/Resource/luascript/03246.lua:713
- Evidence: ../rom-pvt-server-backups/Runewaker/Resource/luascript/03246.lua:1298
- Evidence: ../rom-pvt-server-backups/Runewaker/Resource/luascript/03246.lua:1354
raksha-temple
- Disposition: missing-modular-environment-assembly.
- Safe automatic link: no.
- Objective order: not-applicable-single-objective.
- Current package order: healerMan-distance-derived (non-authoritative).
- Finding: The environment recipe explicitly adds isolated source-anchor support pads because the single primary ROS does not cover the modular WDB combat anchors. Secondary environment pieces must be assembled before route authoring.
- Remaining requirement: modular-environment-assembly.
- Evidence: scripts/runewaker-pipeline/recipes/raksha-temple.json:16
the-origin
- Disposition: missing-modular-environment-assembly.
- Safe automatic link: no.
- Objective order: source-objective-review-required.
- Current package order: healerMan-distance-derived (non-authoritative).
- Finding: Both objectives and the entrance sit on isolated source-anchor support pads. The WDB contains many separately placed cathedral, slope, bridge, and connector ROS pieces that the primary-only environment package does not yet assemble.
- Remaining requirement: modular-environment-assembly.
- Remaining requirement: source-objective-review.
- Evidence: scripts/runewaker-pipeline/recipes/the-origin.json:16
treasure-trove
- Disposition: missing-modular-environment-plus-bridge-door-mechanics.
- Safe automatic link: no.
- Objective order: partial-gate-evidence-insufficient-for-complete-order.
- Current package order: healerMan-distance-derived (non-authoritative).
- Finding: Boss anchors are isolated support pads, while preserved Lua requires a boss-enabled drawbridge switch and a key-gated hold door. The modular environment and stateful bridge/door must precede navigation links.
- Remaining requirement: modular-environment-assembly.
- Remaining requirement: encounter-gate-state.
- Remaining requirement: source-objective-review.
- Remaining requirement: dynamic-navigation-transition.
- Evidence: scripts/runewaker-pipeline/recipes/treasure-trove.json:16
- Evidence: ../rom-pvt-server-backups/Runewaker/Resource/luascript/01159.lua:1
- Evidence: ../rom-pvt-server-backups/Runewaker/Resource/luascript/01159.lua:38
- Evidence: ../rom-pvt-server-backups/Runewaker/Resource/luascript/01159.lua:50
ystra-labyrinth-boss1
- Disposition: separate-authored-room-placements.
- Safe automatic link: no.
- Objective order: independent-room-order-unresolved.
- Current package order: healerMan-distance-derived (non-authoritative).
- Finding: The package intentionally clones three distinct WDB room placements hundreds of meters apart; the preserved travel catalog also treats the boss-room destinations separately. Connecting them through open space would invent geometry.
- Remaining requirement: encounter-teleport-state.
- Remaining requirement: source-objective-review.
- Remaining requirement: dynamic-navigation-transition.
- Evidence: scripts/runewaker-pipeline/recipes/ystra-labyrinth-boss1.json:16
- Evidence: ../rom-pvt-server-backups/Runewaker/Resource/luascript/03246.lua:1423
- Evidence: ../rom-pvt-server-backups/Runewaker/Resource/luascript/03246.lua:1425
- Evidence: ../rom-pvt-server-backups/Runewaker/Resource/luascript/03246.lua:1426
Resolution boundary
No off-mesh link was emitted. Every failed leg is either controlled by encounter state, depends on environment geometry that is not yet in the runtime package, represents separate authored rooms, or still lacks a complete source-authored boss sequence. A static link would let companions bypass a door, bridge, wave, or teleport mechanic. The structured requirement counts below are deterministic and identify the remaining work.
- dynamic-navigation-transition: 5 dungeon(s).
- encounter-gate-state: 3 dungeon(s).
- encounter-teleport-state: 2 dungeon(s).
- modular-environment-assembly: 3 dungeon(s).
- navigation-geometry-review: 1 dungeon(s).
- nonlinear-objectives: 1 dungeon(s).
- source-objective-review: 6 dungeon(s).