Cellular Automation
Interactive 3D multi-state cellular automaton with worker-driven simulation, shader rendering, and adaptive quality control.
OVERVIEW
Cellular Automation is a browser-native, interactive 3D automaton where five cell states evolve through a strict priority rule chain. Pointer, scroll, and click inputs continuously reshape birth and survival thresholds, producing shifting structures that feel alive while remaining deterministic under seeded execution.
ARCHITECTURE
The experience combines a typed simulation core, worker transport with transferable buffers, and an instanced Three.js lattice renderer. Simulation ticks run off-main-thread by default, with main-thread fallback on worker failure. Rendering uses state-aware shader interpolation and quality-tier controls linked to global art quality settings and runtime frame telemetry.
FUNCTIONALITY
- Five-state cellular automaton with explicit precedence rules and deterministic seeded mode
- Worker simulation loop with transferable buffer reuse and stale-frame protection
- Main-thread fallback simulation with degraded lattice size when workers fail
- Instanced 3D lattice rendering with per-instance state, density, age, and generation interpolation
- Pointer, scroll, click, and keyboard interaction mappings for rule and temperature control
- Reduced-motion mode, tab visibility pause/resume, and WebGL context loss recovery overlay
- Adaptive quality tiers for desktop, tablet, and mobile with runtime downgrade hysteresis
HOW IT WORKS
Each generation applies a strict state transition chain across a 3D lattice, then interpolates between current and next states in the shader for smooth evolution. User inputs adjust rule thresholds and stochastic noise, while click or keyboard actions inject local seeds. A worker computes generations and returns typed arrays to the renderer, which updates instanced attributes and post-processing intensity according to active quality tier and motion preferences.
OUTCOMES
- Lets visitors shape a living 3D cellular system through pointer, scroll, click, and keyboard input
- Makes state-machine behaviour visible as evolving structures instead of abstract rules
- Adds a richer interactive art piece with motion, depth, and direct control
- Gives the portfolio a distinct real-time system that rewards experimentation