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
- Open the editor → the app itself — no install, no account, just a URL
- Source on GitHub → strata-editor — read the code, file an issue, fork it
- The paper → Web-CLI: the write-up behind the deterministic shell + optional-model design
- 3DOM → the standalone "jQuery for 3D" library Strata is built on: selectors, auto-labelling, op-chaining over any three.js scene
- 3DOM docs & demo → live examples of the selector engine on its own
- The call card → the living end-card every Strata short embeds
- Tutorials → step-by-step walkthroughs, starting with a Pythagorean-theorem short built entirely by hand