Skip to main content
Browse guides

How the game reads requests

Twelve kinds of request and examples you can type into the game.

The game uses fixed keyword and phrase rules to place a request into one of twelve categories. In the source code, a category is called an Intent variant. The table begins with the technical name and then gives ordinary phrases you can try.

Note
Source of truth
The classifier lives in compiler-rs/crates/loa-host/src/intent_router.rs. The scenes/intent_translation.cssl mirror is the eventual pure-CSSL re-implementation; both files are kept 1-to-1.

All 12 variants

VariantInternal actionExample phrases
Snapshotrender.snapshot_png
snapshotsnapcapturescreenshot
Writes a single PNG into ./snapshots/ next to LoA.exe.
Burst { count }render.start_burst
burstburst 30burst of 100burst 10 frames
count clamped to 1..1000 · default 10 if no number given.
Tour { tour_id }render.tour
tourtour wallstour floortour plinthstour ceilingtour default
Unknown tour ids fall back to "default".
SetCferIntensity { intensity }render.cfer_intensity
intensity 0.5intensity cfer 0.5fog 0.3atmosphere 0.7
Clamped to [0.0, 1.0] · default 0.10.
SetIlluminant { name }render.set_illuminant
illuminant d65set illuminant d50illuminant ailluminant f11
Canonicalized to D65 / D50 / A / F11.
Teleport { room_id }room.teleport
teleport colorteleport to color roomgo to materialgoto pattern
Rooms 0..4 · test/material/pattern/scale/color · alias-tolerant.
SpawnAt { kind, pos[3] }render.spawn_stress
spawn cube at 5 5 5drop sphere at 0 0 0place pyramid at 1.5 0 -3put torus at 5,5,5
14 stress shapes · cube/sphere/pyramid/cylinder/cone/tet/oct/torus/capsule/wedge/plinth/ramp/icosa/dodeca.
SetWallPattern { wall_id, pattern_id }render.set_wall_pattern
set wall north pattern qrwall n to qrwall east checker
Walls N=0 / E=1 / S=2 / W=3 · 22 pattern names available.
SetFloorPattern { quadrant, pattern_id }render.set_floor_pattern
set floor ne pattern checkerfloor sw checkerset floor northeast huewheel
Quadrants NE=0 / NW=1 / SW=2 / SE=3.
SetMaterial { quad_id, material_id }render.set_material
material on plinth 3 brassset material 3 to brassmaterial 0 marble
16 material aliases · default/wood/metal/brass/copper/gold/marble/glass/rubber/ceramic/fabric/leather/iridescent/obsidian/lacquer/carrara.
SpontaneousSeed { text }world.spontaneous_seed
spontaneous a sphereseed orbimagine a forest
Partly implemented. The request is recorded and categorized, but the world-changing action is not implemented and returns "pending".
Unknown { reason }(no dispatch)
(any unmatched text)
Reason carries the normalized input · increments INTENTS_UNKNOWN counter.

Pattern-name vocabulary

SetWallPattern and SetFloorPattern accept these ~22 alias-tolerant pattern names. Type either the friendly name or the numeric pattern id.

solidgrid (1m / 100mm)checkerboardmacbethsnellenqrean13grayscalehuewheelperlinringsspokeszoneplatefrequency-sweepradial-gradientmandelbulbraymarch-sphereraymarch-torusgyroidjuliamenger

Material-name vocabulary

Aliases · alphabetical order is alphabetical-tolerant
default | plastic
wood | oak
metal | steel | iron
brass | gold-brass
copper
gold
marble | stone
glass
rubber
ceramic | porcelain
fabric | cloth | velvet
leather
iridescent | soap-bubble
obsidian | black-glass
vermillion-lacquer | lacquer | red-lacquer
white-marble | carrara

Phrasing notes

  • The classifier lowercases input and splits on whitespace + commas.
  • Most rules tolerate filler words (to, the, on, a).
  • Numbers parse as f32 / u32 lenient · trailing commas allowed.
  • "set X" and "X" forms are both accepted for wall / floor / material / illuminant.
  • "go to" and "goto" both teleport.

Forward-looking

Planned
Possible later methods
Architecture notes explore a compact mathematical classifier and an outside language model for phrases the fixed rules do not understand. Those methods are not needed for the current list and must not be presented as available without release-specific evidence and a clear network permission.