Skip to content

Console levers

Every lever below is a window.__* function installed at boot. A production build’s console is silent, so load with ?diag (or __diag(true) and reload) to see printed output; __logs() dumps the warnings and errors a silent build kept. The developer world keys (the debug action category) fire only under ?diag, ?debugKeys or __debugKeys(true).

RPG state

  • __aura(): folded aura (virtue, order) and their tier words.
  • __grantXp(n = 100), __grantGold(n = 100).
  • __flightUnlock(on?): true unlocks flight, false revokes it; always reports the state.
  • __hotbar(): the hotbar slots, level, known spells and the selected spell.
  • __saveFlush(): capture and write the save now, and report the result.

NPCs and dialogue

  • __talkNearest(rank = 0): open a conversation with the nearest identified, living NPC (rank 1, 2 and so on pick the next nearest).
  • __llmPrompt(): the context the language model is handed for the nearest NPC. __llmMemory(): the NPC conversation memory and whether it has reached disk.
  • __npcFollow(on?): toggle follow on the nearest living NPC within 40 m; __npcFollowClear() releases every follower.
  • __agentWhy(n = 12): agent walls, pursuit and day life in values: wall contacts and walk-outs, route plans and give-ups, the guards on a confront, and the nearest n NPCs with their activity, day-life outing, pursuit mode and last wall contact. Counters are cumulative and reset on every call, so two calls bracket one observation.
  • __agentTest(cmd): 'setupChase' puts you inside a building and sets a nearby guard on you (the straight line between you is walled off); 'status', id follows that chase; 'audit' reports how many NPCs and ground animals stand inside a wall (expect 0); 'day' counts residents by outing; 'calm' ends every fight.
  • __agentWalls(on), __swimmerWalls(on), __npcPursuitNav(on), __npcDayLife(on), __wildlifeSpacing(on): switch each part of the agent revision for an A/B (all ship on).

Quests

  • __escort(): active escort quests and each subject’s state.
  • __escortAccept(townId?): accept “The Lost One” from the nearest (or named) town’s giver (home body only).
  • __escortCall(): call every wandering subject (skips the [E] call).
  • __escortKill(): kill the companion to test the loss path.
  • __gotoEscort(): teleport to 12 m above the subject.
  • __bandits(): bandit camps on the active body with live, dormant and dead counts; __gotoBanditCamp(i = 0) teleports to 9 m from camp i’s fire.

Creatures

  • __petNearest(): pet the nearest friendly animal.
  • __creatureWhy(n = 8, reset = false): why creatures are doing what they do. Counters are cumulative: call with reset = true, test, then call again.

Intro

  • __intro(): beat, current line, timed-out beats, skip state, ground and voice gates. __landing(): the landing pick and whether the player stands on a road.
  • __introSkip(): skip a running intro. __introReplay(): clear the intro-done flag and reload, which replays the intro.
  • __introSequence(on): sets the introSequence flag (default ON) that decides whether a boot without the intro-done flag plays the intro. It is not saved, so a page reload resets it; ?nointro turns the intro off for one load.
  • __bakeIntroVoice(): the browser half of node scripts/bake-intro-voice.mjs (also npm run bake-intro-voice), which re-records public/audio/intro/ after a narration edit. test:intro fails until the shipped manifest matches the script again.

Combat feature flags

  • __bowCombat(on), __spells(on): both default ON.

Props and buildings

  • __visitBuilding(view = 'inside', use?, kind?): teleport to the nearest active habitat’s inspection pose. Views: 'outside', 'doorway', 'inside', 'upstairs', 'bedroom', 'lounge', 'hearth'. Uses: 'inn', 'home', 'market', 'workshop'. __visitBuilding('lounge','inn') lands beside a tavern table.
  • __propPackages(): package stream stats (packages, ready, structures, instances, per-LOD counts, shadow instances, draw calls) plus the current flags. To hide every package instance (colliders stay), boot with ?diag&rf=propPackages:0.
  • __propPackageShadows(on): package shadows (default ON; LOD2 never casts).
  • __propPackageTextureMax(px): LOD0 albedo cap for packages loaded from now on (default 1024; 512 halves the VRAM).
  • __propPackageLodBias(k): multiplies every package’s LOD thresholds. Default 0.3 (a 1 m chair stays LOD0 to about 12 m, LOD1 to about 50 m); 1 restores the authored thresholds. Shadow casters keep the authored LOD1 reach whatever k is.
  • __propPackageLodFade(s): LOD crossfade time (default 0.35 s; 0 switches instantly).
  • __propProbe(radius = 6): loose items, NPCs and decor around the player’s feet, plus the lit lamps.
  • __standAt(pos, forward): teleport the player facing a direction.
  • __meshPropStats(): loose-item mesh stats; live counts the items in the world.

Written by release:site-sync from docs/rpg-next-steps.md at v2026.09.24. Edit the engine document, not this page.