[Workshop #222] Ambient state system — mood affects the 3D scene #43
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Epic: rockachopa/Timmy-time-dashboard#222 — The Workshop: Timmy as Presence
The Gap
#222 describes Timmy's mood affecting the 3D world: "contemplation mode when offline", excited vs calm states. Currently the scene is static — lighting, fog, particle speed, and color palette never change. There's no mechanism for the backend to push a mood.
What
An ambient state manager that maps mood strings to scene parameters, creating a living, breathing environment.
State Definitions
calmfocusedexcitedcontemplativeofflineAcceptance Criteria
js/ambient.jswithsetAmbientState(state)andupdateAmbient(delta)exportsambient_stateWS message:{type: "ambient_state", state: "calm|focused|excited|contemplative|offline"}offlinestate when WS connection is lostcalmstate when WS reconnects (until backend sends explicit state)Design Notes
This is what makes the Workshop feel alive. The 3D space should breathe with Timmy's internal state. When he's offline, the room dims. When something excites him, the room brightens.
Ref: rockachopa/Timmy-time-dashboard#243 (bridge protocol —
ambient_statemessage)Resolved in PR #61. Merged to main — smoke test 70/70 pass.