Sending from the engine
The startup order, the float rule, and live geometry. See Lifecycle then the engine guide.
This is the contract between the game engine, which owns the wall’s sensors, lights, game rules and content, and SuperCollider, which owns every sound the installation makes. If a message is not described here, it does not exist.
One YAML source is the truth. This site, the SuperCollider responder stubs and the engine’s constants file are all generated from it, so nobody writes an address string twice and nobody typos one.
Hold identity is the single biggest off-by-one risk in the project, so it is settled once, here, in a picture generated from the same file as the code.
/wall/config.
Walls come in different sizes, so the engine reports the real one with
/wall/config before anything else. See
Wall & zones for the interactive area, panels and how
multi-player modes split the wall.
Sending from the engine
The startup order, the float rule, and live geometry. See Lifecycle then the engine guide.
Receiving in SuperCollider
Generated OSCdefs wire the addresses up; your logic lives in ~handlers.
See the SuperCollider guide.
Who picks the sound
Content is named by the engine; feedback is chosen by SuperCollider. See the rule.
Testing without the other side
A mock engine for all eight modes and a schema-aware monitor. See Testing.
/mode/start twice is safe.
Anything that genuinely must land declares an explicit acknowledgement./wall/hold/touch 12,
never /wall/hold/12/touch.Every message has its own anchor. Copy its link and paste it into chat, so
feedback reads “the growl on
/mode/memory/mistake should
not repeat within a second” rather than a paragraph both sides read differently.