169 lines
12 KiB
Markdown
169 lines
12 KiB
Markdown
# 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).
|