How abektes/lumaform-orb works
Lumaform Orb pairs a WebGL orb runtime with a browser-based exploration studio. The main workflow is: an artist selects a preset or engine, adjusts and compares animated looks, then exports a configuration or captures a finding. The runtime applies that configuration to an engine and renders the orb; the studio adds variation grids, motion modulation, rehearsal, and capture. The README documents these capabilities, while sampled source confirms startup, engine registration, and engine notifications; some subsystem wiring is therefore represented only where documented.
Main entry points: studio-ui.js Studio UI · store.js Studio state · main.js Studio startup · runtime.js Render runtime
Components 21
Studio
- Studio startup
packages/studio/src/main.js - Studio UI
packages/studio/src/ui/studio-ui.js - Studio state
packages/studio/src/core/store.js - Studio controller
packages/studio/src/core/studio.js - Engine registration
packages/studio/src/core/register-engines.js
Orb runtime
- Orb entry point
packages/orb/src/create-orb.js - Render runtime
packages/orb/src/core/runtime.js - Engine schemas
packages/orb/src/engine-catalog.js - Shader engines
packages/orb/src/engines/index.js - Engine notifications
packages/orb/src/core/engine-notify.js
Look exploration
- Preset library
packages/studio/src/presets/preset-library.js - Variation tools
packages/studio/src/core/variation-grid.js - Motion Lab
packages/studio/src/core/studio.js - Look comparison
packages/studio/src/core/ab-compare.js - Rehearsal sequence
packages/studio/src/core/sequence.js
Capture and audio
- Capture tools
packages/studio/src/core/clip-recorder.js - Findings shelf
packages/studio/src/core/findings.js - Microphone input
packages/orb/src/audio/audio-input.js - Audio level
packages/orb/src/audio/audio-level.js
Other components
- Artist
- WebGL canvas
Connections 24
- Artist → Studio UI: uses
- Studio startup → Studio state: creates
- Studio startup → Studio controller: creates
- Studio startup → Studio UI: mounts
- Studio startup → Engine registration: registers engines
- Engine registration → Engine schemas: pairs schemas
- Engine registration → Shader engines: loads factories
- Studio UI → Studio state: updates
- Studio UI → Studio controller: selects look
- Preset library → Studio state: sets defaults
- Variation tools → Studio state: mutates parameters
- Motion Lab → Studio state: routes modulation
- Look comparison → Studio state: swaps configs
- Rehearsal sequence → Studio state: plays sequence
- Studio controller → Orb entry point: configures runtime
- Orb entry point → Render runtime: starts loop
- Render runtime → Shader engines: runs engine
- Render runtime → Engine notifications: dispatches events
- Render runtime → WebGL canvas: renders frames
- Studio UI → Capture tools: captures clips
- Studio UI → Findings shelf: saves finding
- Studio UI → Engine schemas: reads schemas
- Microphone input → Audio level: analyzes signal
- Audio level → Motion Lab: supplies amplitude