About threejs-physics
A skill for integrating physics engines into projects that use Three.js. It guides developers on simulation timing, collider choices, transform ownership, and lifecycle testing.
Key features
- 01Preserve the existing engine and version
- 02Initialize runtime before world creation
- 03Use fixed-step simulation
- 04Choose suitable colliders
- 05Manage transforms and collision events
- 06Test teardown and runtime conditions
Use cases
- 01Adding physics simulation to a Three.js project
- 02Tuning collisions for fast-moving bodies
- 03Diagnosing instability at low frame rates
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ cesartevisual/ threejs-skills --skill threejs-physicsAfter installing, type/threejs-physicsin Claude Code to confirm it loaded.
Details
From the project READMEPhysics Integration
Use the project's installed versions and existing architecture. These instructions supplement the user's task; they do not authorize unrelated changes or external actions.
Inspect the existing engine and its version; preserve it unless the requested behavior requires a change. Initialize its WASM/runtime before creating the world. Establish units, gravity direction, collider scale, and authority over each transform.
Advance simulation with a fixed timestep and a bounded accumulator. Cap substeps and explicitly choose whether to discard excess elapsed time after a stall. Interpolate previous/current physics poses for rendering when needed. Avoid stepping the simulation from multiple loops.
Prefer primitive or compound colliders where they reproduce the interaction adequately. Check engine restrictions for dynamic triangle meshes, scaling, and convex hulls. A visual mesh is not automatically a stable collider. Use continuous collision detection selectively for fast bodies after measuring its cost.
Move kinematic bodies through engine APIs; do not write render transforms and expect physics to follow. Apply forces/impulses at the intended cadence, and handle sleeping and collision event lifetime. Keep event processing from triggering duplicate UI actions.
Release world objects and listeners on teardown. Test collisions at the highest expected velocity, resting stability, low frame rates, tab resume, scale changes, and repeated resets. Do not promise deterministic cross-platform replay without testing the selected engine and configuration.
API reference
Consult the official documentation for exact signatures and revision-specific behavior. If documentation access is unavailable, inspect installed types/source and state any remaining uncertainty.