Declarative Three.js for Foldkit
Scenes
from
state.
Describe a 3D scene as plain data derived from your Model. Foldkit renders it, keyed updates keep every object in place, and Effect owns every GPU lifetime. Pointer input comes back as your own typed Messages.
Live: hover a shape, click to repaint it.
Live examples
Change the state. Watch the scene follow.


Watch every update


Build, then rewind


Chart in three dimensions


Drag it into the light


A city in one draw call


Throw the toys around


Sort them by colour


Every word is data


Ten frames, all data


Move, turn, scale, undo


A scene editor


One world, every peer


Draw with data


Step into the room


Load it, play it, let it go


Share what the GPU holds
Built with effect-three
A tech radar you can fly through.
A whole site on effect-three and Foldkit: a 3D tech radar written as markdown. It steps back through earlier editions, every view is a shareable link, and each entry opens a page of its own.
Scenes are data
No closures, no three.js objects in your Model. Derive the scene in your view; keyed updates change only what changed.
Effect owns lifetimes
Renderers, GPU resources, frame loops and listeners live in a Scope. Unmount, fail or interrupt, and everything is released.
Explicit interaction
Clicks and hovers arrive as your typed Messages. Animation runs in the frame loop and never touches update.