V1 today
V1 currently exists as KALYIX Control with a Tauri and React interface plus a separate Python daemon. The UI lives in the frontend, the daemon carries runtime logic, OBS control, and event flows, while Rust handles capture and preview.
Overlays and alerts still think strongly in terms of browser output, URLs, and OBS browser sources. That is why the live truth is not held in one clean central place, but spread across several layers.
Why V1 ends there
It would be technically possible to keep building on that path. The problem is the direction: HTML, webview, and OBS-adjacent flows would sink deeper into the real product core with every new major feature.
For an editor that later has to carry preview, runtime, alerts, OBS, and its own output, that coupling is too tight. V1 therefore ends not because it lacks features, but because its architectural center is wrong for the next phase.
V2 stack today
V2 is already cut as a Rust workspace: apps for shell hosts and entry points, crates/ui for shell and modules, crates/runtime for core, editor runtime, integrations, and output backends. Separate legacy paths such as editor-ui-legacy and kalyix-desktop-legacy remain as references.
At the center are OverlayDocument as truth, commands, events, and snapshots as fixed contracts, plus a core runtime that can run without the UI.
V2 endgame
Long term, the active shell moves to its own native path with winit, wgpu, taffy, and cosmic-text. The shell host loads modules, activates only the runtimes that are actually needed, and can later start profiles such as full_studio, editor_only, or stream_only cleanly.
That becomes the base for native output, its own encoding and recording paths, Linux runtimes, and later distributed or external control paths. OBS still matters, but in the end it is only an adapter, not the center anymore.