01
Rules, not loops
Style a thousand objects with one selector. The cascade decides, like on a web page.
@scene { cube.corner * 4; }
.corner { color: #ff5a36; }
Selectors, the cascade and @keyframes, compiled into a single
raymarching shader. No Three.js. No meshes. Just CSS you already know.
Style a thousand objects with one selector. The cascade decides, like on a web page.
@scene { cube.corner * 4; }
.corner { color: #ff5a36; }
The compiler writes the GLSL: the whole scene becomes one fragment shader, raymarched on the GPU.
// GSS → AST → cascade → GLSL
vec2 map(vec3 p) { … }
Every model knows CSS by heart. It writes the style sheet; the compiler writes the shader.
#dot {
material: jelly(0.6);
}