finds.dev← search

// the find

Rich-Harris/svelte-cubed

★ 1,185 · Svelte · MIT · updated Jan 2023

Svelte ❤️ Three

svelte-cubed is a declarative Three.js wrapper for Svelte, letting you build 3D scenes as nested components (Canvas, Mesh, lights, cameras, controls) instead of imperative Three.js calls. It's aimed at Svelte developers who want simple 3D scenes without hand-rolling a render loop, not people building complex game-engine-style apps.

Small, well-scoped component surface — cameras, lights, controls, helpers, and objects each map to a single Svelte file, so the wrapper is easy to read end to end. A Primitive.svelte escape hatch lets you drop down to raw Three.js objects when the component set doesn't cover something, avoiding the usual wrapper-library dead end. Built by Rich Harris, and it comes with a real docs/examples site (routes/docs, routes/examples) with live, runnable demos rather than just a README wall of text.

Last push was January 2023 — no Svelte 5 runes support, and Svelte 5 shipped in late 2024, so this predates a major version of its own host framework. There's no test directory anywhere in the tree; correctness rests entirely on the demo site working, which isn't the same as coverage. The docs routes still use pre-1.0 SvelteKit conventions (__layout.svelte, [slug].svelte, index.json.js) — a sign the whole repo hasn't been touched through several SvelteKit breaking changes, so the demo site itself may not build with modern SvelteKit.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →