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

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).