Strata

A deterministic, human-readable selector language for editing and versioning 3D scenes. Sovereign, browser-native, no build. Optional AI that stays within bounds.

What it is

Strata puts a small, familiar interface over a 3D scene: address parts with CSS-like selectors ($S('.wheel.front')), change them with a closed set of command-backed ops, and version the result with git. The interface is deterministic and works entirely by hand, without any AI — that's the primary product. Every mutation is undoable, git-tracked, and human-readable.

AI is a slim, optional front door. Because the language is small and explicit, a stock on-device model can map natural language onto it with no task-specific training — bring your own model (on-device WebGPU/WebLLM, or any external API through fetchAPI). It debuts most vividly at animation: "make it bounce" becomes a real keyframe clip.

Why it exists

Fundamentals outlive engine and runtime fashion. Most tools in this space embody the opposite of what's worth teaching: closed formats, cloud dependence, opaque state. Strata's properties — open, local, inspectable, versioned, yours — aren't just implementation details. They're the lesson. A scene you can read, diff, and own is a better artifact than one you can't.

Nothing leaves the device except by explicit action (a git sync, a deliberate fetchAPI call). Inference is local. Scene state stays on-device by default.

Go further