Live build · WebAssembly MVP

The engine,
in your browser.

This is the real Kontinuum playback core — the same Rust DSP the apps run — compiled to WebAssembly. Pick a scene and an era — or a seed alone — press play, and a session composes itself on your machine. Nothing is streamed; nothing is a recording.

The Atlas · playable

The catalog you play.

Every scene the Atlas catalog ships is inside this engine build. Pick a scene and its era, and the running session restarts with that scene's machines and its tempo — composed fresh on your machine, from your seed.

SCENE

the scene catalog loads with the engine — press play below, then pick a scene and era

not playing — press play, then pick a scene and era

no scene selected

the plain seeded session
1980199020002010now
pick a scene to see its eras

TRANSPORT

idle — the engine loads on first play

TELEMETRY
STATEidle
SEED—
BAR—
FNV-1a HASH—
SIGNATURE @4—
RENDER GAPS—
The determinism story

Same seed. Same audio. Every tab.

The engine is deterministic from the seed: it composes a session document, compiles it, and renders it sample-accurately — no clock, no randomness, no I/O on the playback path. The hash above folds every rendered sample (FNV-1a over the raw f32 bits), so it is a fingerprint of the actual audio.

Try it: open /demo in a second tab, press play with the same seed, and once both pass bar 4 the SIGNATURE row matches — identical audio, independently composed, machine for machine. Reload does the same. Change the seed and the signature changes with it.

WHAT YOU HEAR

The real DSP, not a mock

Voices, filters, mixer sends, the mastering chain — the crates the iOS and Mac builds run, compiled to wasm and rendered inside the AudioWorklet callback.

WHAT'S NEXT

Seed-to-signature, shared

The seed is the session: share the number, and anyone's browser composes the same record. Sample recipes, live diffs and the code stream are next.

HONEST SCOPE

An MVP, labeled as one

No sample kits yet (sampler tracks play silent), no live editing, and hashes match within a browser build — native golden hashes use a different libm. Details in the engine repo.