SIGNAL
Stim Room & Mini Games โ Sensory Regulation Architecture
01. Sensory Integration Framework
SIGNAL is rooted in Ayres Sensory Integration theory and Kapp et al.'s (2019) research demonstrating that stimming is a primary mechanism for autistic self-regulation โ not a behavior to be extinguished. Crucially, all activities adhere to Csikszentmihalyi's Autotelic Flow โ they have no external goals, no high scores, and no failure states. The value is strictly in the doing of the activity.
Anti-Pattern Audit
- โ No "cookie clicker" infinite dopamine loops โ these exploit ADHD hyperfocus and cause burnout.
- โ No high-contrast or strobing visuals โ low-albedo palette only (pastel/neon on deep black).
- โ The UI must not turn red, flash, or look "angry" when spoons reach zero.
- โ No auto-playing audio. Every sound is user-initiated.
02. Stim Bank
All stim tools cost 0 spoons. Always available regardless of spoon state.
WebGL FBO Viscoelastic Haptic Fluid
Navier-Stokes fluid via FBO (Framebuffer Object) ping-ponging โ the only technique that achieves 60fps on a Snapdragon 680 for fluid simulation. Swirling the fluid rapidly triggers navigator.vibrate([30, 20, 30, 20]) โ a low rolling haptic rumble matching visual intensity. Batched to avoid Android OS thermal throttling.
Uint8Array ยท Web Worker Infinite Cellular Sand
1D typed array cellular automaton executing in a Web Worker โ keeping the UI thread completely unblocked. Features vertically looping boundaries so the falling sand never fills the screen, enabling infinite continuous stimming. Materials: sand, water, neon gas. The grid loops; the stim never ends.
Canvas 2D Fiber Optics Drag + Bubble Wrap
Touch-drag glowing strands that follow with elastic lag. Bubble wrap: infinite grid, each tap pops one with a soft audio + navigator.vibrate([30]). Bubbles regenerate slowly. No counter, no progress bar โ just the infinite satisfying grid.
03. The Spoon Reservoir
Miserandino's Spoon Theory visualized as a physics object. 12 glowing orbs in a glass jar, rendered with Rapier.js. Dragging one out shatters it into sand particles โ satisfying, irreversible, non-judgmental. When the jar empties, the interface shifts to a soft ambient "Rest Mode" palette. No warnings. No red. No "Game Over." The UI neutrally reflects the user's current energy state and the stim bank remains fully available.
04. Mini Games
Each costs 1 spoon. Short sessions with defined endpoints.
7-platform 2D platformer โ each platform is one NANO-07 mesh node. If a node is "offline" (randomly selected), reroute. No timer. Win by landing on all active nodes.
Flip cards to match element symbols to 3D atom models. Uses BONDING's elements.ts. 8-card grid. No timer, no move count.
Balls bounce at 863 Hz timing intervals. Catch with palm-press. The ยณยนP Larmor tone plays on catch. Slow-moving, no fail state for missing.
Tap any triangle to subdivide. Fractal grows recursively. No win condition. No depth limit displayed. Exit any time.
Status
Dynamic devicePixelRatio scaling if FPS drops below 55. Haptic batched to prevent Android suppression.