Skip to content

effect-three reference checkouts

Behavioural references for parity work. They are shallow clones at the root of the main checkout, ignored by git (.gitignore), and skipped by oxlint and oxfmt for the same reason. Read them; don’t copy from them (see the R3F reference rule in CLAUDE.md).

CheckoutUpstreamPinned commitCommit dateVersionLicenceUse for
react-three-fiber-main/pmndrs/react-three-fiberd74622e2026-10-14fiber 9.8.1MITEvents, frame loop, invalidate/advance, disposal, primitive, portals, root configuration
drei-main/pmndrs/dreibf6f4ad2026-09-30masterMITHelpers, controls, loaders and staging (final roadmap phase)
react-three-rapier-main/pmndrs/react-three-rapierae5c3fe2025-11-032.2.0MITPhysics (R5): Physics stepping, RigidBody options, auto colliders, InstancedRigidBodies, joints
react-three-xr-main/pmndrs/xr0e1acd82026-10-15mainMITXR (R5): session init, pointers, hit tests, controller locomotion, IWER emulation
three-effect-main/OpenAgentsInc/three-effect714c37e2026-07-14mainApache-2.0Secondary: prior Effect + Foldkit bindings (see ADR-001)
node_modules/threemrdoob/three.js——0.186.1MITGround truth for three.js behaviour, including examples/jsm controls and loaders

Where to start in R3F (packages/fiber/src):

  • core/events.ts: the handler set, the intersection payload, propagation and pointer capture.
  • core/loop.ts: frameloop modes, invalidate(frames) and advance(timestamp).
  • core/configuration.ts: root options (gl, dpr, shadows, flat, linear, orthographic, frameloop, performance, raycaster, onPointerMissed).
  • core/reconciler.tsx: primitive, attach, and disposal (dispose={null} opt-out, disposeOnIdle).
  • core/hooks.tsx: useFrame priorities, useLoader; core/portal.tsx: createPortal.

Refreshing a pin

From the main checkout root:

Terminal window
git -C react-three-fiber-main fetch --depth 1 origin master
git -C react-three-fiber-main checkout FETCH_HEAD
git -C react-three-fiber-main rev-parse --short HEAD

Then update the table. A new pin changes what “parity” means, so note it in the roadmap if any row’s status changes.