The umbrella doc. Day 1 is fully reworked here; Day 2 keeps its old shape pending its own rework. Owner: Dennis Smolek · Reworked: 2026-08-14
Two hands-on days at Three.js Conf Paris (Gobelins, Sep 8–9, up to 40 people) plus a conference talk on the 11th. The audience is intermediate-to-advanced — they know Three, they've at least seen React — and the pitch matches: R3F v10 on WebGPU, taught by the people shipping it, before it's out. Nobody watches slides for two days; everyone leaves with things they built.
The site is the spine. Day 1's project is the workshop's own site. Every block builds a piece and adds it to the spine; by 5pm each attendee has rebuilt the whole thing, and every piece also stands alone at its own route. One cohesive artifact instead of a folder of disconnected exercises.
Nobody gets left behind — by design, not effort. The day is a linear chain of runnable checkpoints. Behind is a git switch, not a crisis. Floaters work the floor, Ava runs the clock, the overflow/breaks are catch-up time on purpose, and every capstone has a hosted fallback for the machine that dies.
Demos stay short; the writing carries the depth. 15–20 minutes of live build per block, then floor time against written step pages. Agents are welcome and expected — attendees type, break, and fix.
Detail lives in the Day 1 Plan and Lesson Plans pages; the shape:
| Time | Block |
|---|---|
| 09:00 | Mini-keynote + expectations (~25 min, doubles as install buffer) |
| 09:35 | Setup gate, then L1: the hero, explained — core R3F via the Eiffel scene |
| 10:30 | L2: make it alive — the loop, refs, events, leva; overflow/break floats to fit |
| 12:00 | Lunch |
| 13:00 | TSL — nodes, uniforms, compute → the flip demo (the heavy block) |
| 14:00 | State — React → zustand → the time-of-day store; the sky joins the hero |
| 14:50 | Physics — fast show → the globby footer |
| 15:20 | Finale — sky internals, postprocessing, polish to match the deploy |
| 16:30 | Stretch pool, then recap + Day 2 pick |
What v10 gets showcased along the way: WebGPU everywhere, the new scheduler, TSL nodes and compute, useRenderPipeline/usePostProcessing, visibility events, and QOL as it comes up. The day sells R3F as a whole; v10 is the hook.
Three instructor-led tracks (was four paths), small groups, pick by interest at the end of Day 1. Track definitions, briefs, and repos get their own rework after Day 1's materials ship.
One Vite repo for Day 1 (working name paris-workshop); the Day 2 tracks will likely run their own repos, defined when that rework happens. main is the finished site; the day is a linear workshop/stage-NN branch chain; demos and their variants live as routes. One root package.json, install once, switch freely. Deps pin and the repo goes to attendees about a week out — alphas move, so we lock late. The deployed marketing site (Next) stays its own artifact; the workshop repo mirrors its scenes.
The React-skill poll goes out early. The one prep email (~Sep 1, once the repo locks): clone/verify first, then tooling, WebGPU check, React pre-work, site link, logistics. Optional two-line note before the day. The one rule that survives every plan: nobody installs anything for the first time on conference wifi.
| Risk | What we're doing |
|---|---|
| Alpha churn — v10/drei move under us | Pin exact versions late (~Sep 1), lockfile committed, patches ship in-repo if upstream fixes miss the date |
| The chains are a lot of build in 2 weeks | Stretch pool and variants are the designed cuts; hero/TSL/state never get cut |
| A WebGPU-less laptop shows up | Browser check in the prereqs, verify script catches it at home, hosted capstones as day-of fallback |
| The TSL block leaves people behind | Say it from the stage, richest step pages, agents pointed at exactly this gap, checkpoint always waiting |
| Morning slippage eats the day | Overflow/breaks float by design; L2's tail steps are self-serve; Ava owns the clock |
| Conference wifi | Everything installed at home, assets in the repo, hosted fallbacks |