Expand description
Veilwalking — the navigation state machine of the Thread, renderer-agnostic.
This is the part of a browser that decides which world is active, when to
step through a veil, and what the player is standing in front of — all pure
math on positions and Locators. It knows nothing about the GPU: to actually
place a resolved world into a renderer it calls back through the WorldLoader
seam, which the browser implements. That single trait is the engine/UI split —
it’s what lets a second browser (a different renderer, an embedded view)
reuse veilwalking without touching this file.
Stepping into a veil kicks off a background resolve+fetch (network-first, local
fallback — see crate::resolver); when the destination arrives it’s handed to
the loader and the player is teleported to its spawn.
Structs§
- Collider
Nav - A solid volume in the active world — placement geometry as an oriented box, for a browser to hand to its physics so floors hold and walls block. Portals never appear here (a veil is stepped through). Renderer-agnostic.
- Focus
- What the player is standing in front of (Codex pedestal and/or web signboard).
- Interactable
Nav - An inspectable placement (a Codex pedestal, a web signboard, or a placement with a bound behavior module).
- Loaded
World Meta - What a
WorldLoaderreports after placing a world into its renderer — the navigation metadata theNavigatorneeds, with no GPU handles. - Navigator
- The veilwalking state machine: active world, in-flight travel, cooldown, arming.
- Portal
Nav - A veil in the active world — a hyperlink you step through (renderer-agnostic).
- Portal
Preview - What’s on the far side of a veil — its title, sky, and how many veils lead
onward. Fetched live as the player approaches (see
Navigator::portal_preview). - SkyNav
- A simple gradient sky (zenith→horizon) + sun direction. Renderer-agnostic; the browser maps this onto its own atmosphere.
Constants§
- ENTER_
RADIUS - How close (metres) the player must be to a veil to step through.
- FEET_
DROP - Drop from the player’s origin to their feet (capsule half-height-ish).
- INSPECT_
RADIUS - How close the player must be to a pedestal to inspect it.
- PREVIEW_
RADIUS - How close (metres) the player must be to a veil before its destination is
fetched for a live preview — comfortably outside
ENTER_RADIUSso the signpost is up before you can step through.
Traits§
- World
Loader - The rendering seam. A browser implements this to place a validated manifest
into its renderer and hand back the navigation metadata. The
Navigatorowns everything else (resolution, arming, cooldown, focus).