Guides
limn/react is a custom reconciler. Write ordinary JSX; it becomes a scene graph on canvas.
import { createRoot } from 'limn/react'
import { createCanvas2DBackend } from 'limn'
const root = createRoot(createCanvas2DBackend(canvas), stylesheet)
root.render(<App />)
div, button, input, span, … → primitives + UA defaultsclassName + external CSS string (cascade: UA < class < inline)onPointer* pipeline
Pass a CSS string as the second argument to createRoot.
Selectors, media queries, variables, and container queries are supported as an honest subset —
see CSS surface.
{
"peerDependencies": {
"react": ">=18",
"react-reconciler": ">=0.29"
}
}
limn does not require React. Only the limn/react entry does.