From 7a27a96c8f0dab5d32a021678de5ff73076f9654 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Sat, 20 Sep 2025 18:29:09 -0700 Subject: [PATCH 1/6] initial pass at adding JS extensions --- rapier-compat/src2d/init.ts | 4 +-- rapier-compat/src3d/init.ts | 4 +-- rapier-compat/tests/World2d.test.ts | 2 +- rapier-compat/tests/World3d.test.ts | 2 +- rapier-compat/tests/math2d.test.ts | 2 +- rapier-compat/tests/math3d.test.ts | 2 +- src.ts/control/character_controller.ts | 16 ++++----- src.ts/control/index.ts | 6 ++-- src.ts/control/pid_controller.ts | 10 +++--- src.ts/control/ray_cast_vehicle_controller.ts | 10 +++--- src.ts/dynamics/ccd_solver.ts | 2 +- src.ts/dynamics/impulse_joint.ts | 10 +++--- src.ts/dynamics/impulse_joint_set.ts | 14 ++++---- src.ts/dynamics/index.ts | 20 +++++------ src.ts/dynamics/integration_parameters.ts | 2 +- src.ts/dynamics/island_manager.ts | 4 +-- src.ts/dynamics/multibody_joint.ts | 8 ++--- src.ts/dynamics/multibody_joint_set.ts | 16 ++++----- src.ts/dynamics/rigid_body.ts | 8 ++--- src.ts/dynamics/rigid_body_set.ts | 16 ++++----- src.ts/exports.ts | 14 ++++---- src.ts/geometry/broad_phase.ts | 24 ++++++------- src.ts/geometry/collider.ts | 22 ++++++------ src.ts/geometry/collider_set.ts | 12 +++---- src.ts/geometry/contact.ts | 4 +-- src.ts/geometry/index.ts | 22 ++++++------ src.ts/geometry/narrow_phase.ts | 6 ++-- src.ts/geometry/point.ts | 10 +++--- src.ts/geometry/ray.ts | 10 +++--- src.ts/geometry/shape.ts | 14 ++++---- src.ts/geometry/toi.ts | 8 ++--- src.ts/math.ts | 4 +-- src.ts/pipeline/debug_render_pipeline.ts | 10 +++--- src.ts/pipeline/event_queue.ts | 8 ++--- src.ts/pipeline/index.ts | 14 ++++---- src.ts/pipeline/physics_hooks.ts | 4 +-- src.ts/pipeline/physics_pipeline.ts | 15 ++++---- src.ts/pipeline/query_pipeline.ts | 8 ++--- src.ts/pipeline/serialization_pipeline.ts | 10 +++--- src.ts/pipeline/world.ts | 26 +++++++------- src.ts/rapier.ts | 4 +-- testbed2d/src/Gui.ts | 2 +- testbed2d/src/Testbed.ts | 6 ++-- testbed2d/src/demos/characterController.ts | 2 +- testbed2d/src/demos/collisionGroups.ts | 2 +- testbed2d/src/demos/convexPolygons.ts | 2 +- testbed2d/src/demos/cubes.ts | 2 +- testbed2d/src/demos/heightfield.ts | 2 +- testbed2d/src/demos/keva.ts | 2 +- testbed2d/src/demos/lockedRotations.ts | 2 +- testbed2d/src/demos/pidController.ts | 2 +- testbed2d/src/demos/polyline.ts | 2 +- testbed2d/src/demos/revoluteJoints.ts | 2 +- testbed2d/src/demos/voxels.ts | 2 +- testbed2d/src/index.ts | 24 ++++++------- testbed3d/src/Gui.ts | 2 +- testbed3d/src/Testbed.ts | 6 ++-- testbed3d/src/demos/ccd.ts | 2 +- testbed3d/src/demos/characterController.ts | 2 +- testbed3d/src/demos/collisionGroups.ts | 2 +- testbed3d/src/demos/convexPolyhedron.ts | 2 +- testbed3d/src/demos/damping.ts | 2 +- testbed3d/src/demos/fountain.ts | 2 +- testbed3d/src/demos/glbToTrimesh.ts | 2 +- testbed3d/src/demos/glbtoConvexHull.ts | 2 +- testbed3d/src/demos/heightfield.ts | 2 +- testbed3d/src/demos/joints.ts | 2 +- testbed3d/src/demos/keva.ts | 2 +- testbed3d/src/demos/lockedRotations.ts | 2 +- testbed3d/src/demos/pidController.ts | 2 +- testbed3d/src/demos/platform.ts | 2 +- testbed3d/src/demos/pyramid.ts | 2 +- testbed3d/src/demos/trimesh.ts | 2 +- testbed3d/src/demos/voxels.ts | 2 +- testbed3d/src/index.ts | 36 +++++++++---------- 75 files changed, 269 insertions(+), 270 deletions(-) diff --git a/rapier-compat/src2d/init.ts b/rapier-compat/src2d/init.ts index 668bfe13..749ff2af 100644 --- a/rapier-compat/src2d/init.ts +++ b/rapier-compat/src2d/init.ts @@ -1,6 +1,6 @@ // @ts-ignore -import wasmBase64 from "../pkg/rapier_wasm2d_bg.wasm"; -import wasmInit from "../pkg/rapier_wasm2d"; +import wasmBase64 from "../pkg/rapier_wasm2d_bg.wasm.js"; +import wasmInit from "../pkg/rapier_wasm2d.js"; import base64 from "base64-js"; /** diff --git a/rapier-compat/src3d/init.ts b/rapier-compat/src3d/init.ts index 15b14ada..e89272b8 100644 --- a/rapier-compat/src3d/init.ts +++ b/rapier-compat/src3d/init.ts @@ -1,6 +1,6 @@ // @ts-ignore -import wasmBase64 from "../pkg/rapier_wasm3d_bg.wasm"; -import wasmInit from "../pkg/rapier_wasm3d"; +import wasmBase64 from "../pkg/rapier_wasm3d_bg.wasm.js"; +import wasmInit from "../pkg/rapier_wasm3d.js"; import base64 from "base64-js"; /** diff --git a/rapier-compat/tests/World2d.test.ts b/rapier-compat/tests/World2d.test.ts index 45a3bb72..0703dfea 100644 --- a/rapier-compat/tests/World2d.test.ts +++ b/rapier-compat/tests/World2d.test.ts @@ -1,4 +1,4 @@ -import {init, Vector2, World} from "../builds/2d-deterministic/pkg"; +import {init, Vector2, World} from "../builds/2d-deterministic/pkg/index.js"; describe("2d/World", () => { let world: World; diff --git a/rapier-compat/tests/World3d.test.ts b/rapier-compat/tests/World3d.test.ts index e0ddd546..d4c874c4 100644 --- a/rapier-compat/tests/World3d.test.ts +++ b/rapier-compat/tests/World3d.test.ts @@ -1,4 +1,4 @@ -import {init, Vector3, World} from "../builds/3d-deterministic/pkg"; +import {init, Vector3, World} from "../builds/3d-deterministic/pkg/index.js"; describe("3d/World", () => { let world: World; diff --git a/rapier-compat/tests/math2d.test.ts b/rapier-compat/tests/math2d.test.ts index a7560565..0f36120b 100644 --- a/rapier-compat/tests/math2d.test.ts +++ b/rapier-compat/tests/math2d.test.ts @@ -1,4 +1,4 @@ -import {Vector2, VectorOps} from "../builds/2d-deterministic/pkg"; +import {Vector2, VectorOps} from "../builds/2d-deterministic/pkg/index.js"; describe("2d/math", () => { test("Vector2", () => { diff --git a/rapier-compat/tests/math3d.test.ts b/rapier-compat/tests/math3d.test.ts index 2ff194cc..98f1e5fb 100644 --- a/rapier-compat/tests/math3d.test.ts +++ b/rapier-compat/tests/math3d.test.ts @@ -1,4 +1,4 @@ -import {Vector3, VectorOps} from "../builds/3d-deterministic/pkg"; +import {Vector3, VectorOps} from "../builds/3d-deterministic/pkg/index.js"; describe("3d/math", () => { test("Vector3", () => { diff --git a/src.ts/control/character_controller.ts b/src.ts/control/character_controller.ts index 8e536392..a4c03484 100644 --- a/src.ts/control/character_controller.ts +++ b/src.ts/control/character_controller.ts @@ -1,15 +1,15 @@ -import {RawKinematicCharacterController, RawCharacterCollision} from "../raw"; -import {Rotation, Vector, VectorOps} from "../math"; +import {RawKinematicCharacterController, RawCharacterCollision} from "../raw.js"; +import {Rotation, Vector, VectorOps} from "../math.js"; import { - BroadPhase, Collider, - ColliderSet, + ColliderDesc, + ColliderHandle, InteractionGroups, - NarrowPhase, + QueryFilterFlags, Shape, -} from "../geometry"; -import {QueryFilterFlags, World} from "../pipeline"; -import {IntegrationParameters, RigidBody, RigidBodySet} from "../dynamics"; +} from "../geometry/index.js"; +import {QueryFilterFlags, World} from "../pipeline/index.js"; +import {IntegrationParameters, RigidBody, RigidBodySet} from "../dynamics/index.js"; /** * A collision between the character and an obstacle hit on its path. diff --git a/src.ts/control/index.ts b/src.ts/control/index.ts index 43e495a5..be47bc02 100644 --- a/src.ts/control/index.ts +++ b/src.ts/control/index.ts @@ -1,6 +1,6 @@ -export * from "./character_controller"; -export * from "./pid_controller"; +export * from "./character_controller.js"; +export * from "./pid_controller.js"; // #if DIM3 -export * from "./ray_cast_vehicle_controller"; +export * from "./ray_cast_vehicle_controller.js"; // #endif diff --git a/src.ts/control/pid_controller.ts b/src.ts/control/pid_controller.ts index 52b2f006..65109a1a 100644 --- a/src.ts/control/pid_controller.ts +++ b/src.ts/control/pid_controller.ts @@ -1,8 +1,8 @@ -import {RawPidController} from "../raw"; -import {Rotation, RotationOps, Vector, VectorOps} from "../math"; -import {Collider, ColliderSet, InteractionGroups, Shape} from "../geometry"; -import {QueryFilterFlags, World} from "../pipeline"; -import {IntegrationParameters, RigidBody, RigidBodySet} from "../dynamics"; +import {RawPidController} from "../raw.js"; +import {Rotation, RotationOps, Vector, VectorOps} from "../math.js"; +import {Collider, ColliderSet, InteractionGroups, Shape} from "../geometry/index.js"; +import {QueryFilterFlags, World} from "../pipeline/index.js"; +import {IntegrationParameters, RigidBody, RigidBodySet} from "../dynamics/index.js"; // TODO: unify with the JointAxesMask /** diff --git a/src.ts/control/ray_cast_vehicle_controller.ts b/src.ts/control/ray_cast_vehicle_controller.ts index fa65b3e3..5bfe40cf 100644 --- a/src.ts/control/ray_cast_vehicle_controller.ts +++ b/src.ts/control/ray_cast_vehicle_controller.ts @@ -1,14 +1,14 @@ -import {RawDynamicRayCastVehicleController} from "../raw"; -import {Vector, VectorOps} from "../math"; +import {RawDynamicRayCastVehicleController} from "../raw.js"; +import {Vector, VectorOps} from "../math.js"; import { BroadPhase, Collider, ColliderSet, InteractionGroups, NarrowPhase, -} from "../geometry"; -import {QueryFilterFlags} from "../pipeline"; -import {RigidBody, RigidBodyHandle, RigidBodySet} from "../dynamics"; +} from "../geometry/index.js"; +import {QueryFilterFlags} from "../pipeline/index.js"; +import {RigidBody, RigidBodyHandle, RigidBodySet} from "../dynamics/index.js"; /** * A character controller to simulate vehicles using ray-casting for the wheels. diff --git a/src.ts/dynamics/ccd_solver.ts b/src.ts/dynamics/ccd_solver.ts index 7f794222..7c7ac176 100644 --- a/src.ts/dynamics/ccd_solver.ts +++ b/src.ts/dynamics/ccd_solver.ts @@ -1,4 +1,4 @@ -import {RawCCDSolver} from "../raw"; +import {RawCCDSolver} from "../raw.js"; /** * The CCD solver responsible for resolving Continuous Collision Detection. diff --git a/src.ts/dynamics/impulse_joint.ts b/src.ts/dynamics/impulse_joint.ts index 0c637ddf..0611148b 100644 --- a/src.ts/dynamics/impulse_joint.ts +++ b/src.ts/dynamics/impulse_joint.ts @@ -1,4 +1,4 @@ -import {Rotation, Vector, VectorOps, RotationOps} from "../math"; +import {Rotation, Vector, VectorOps, RotationOps} from "../math.js"; import { RawGenericJoint, RawImpulseJointSet, @@ -6,11 +6,11 @@ import { RawJointAxis, RawJointType, RawMotorModel, -} from "../raw"; -import {RigidBody, RigidBodyHandle} from "./rigid_body"; -import {RigidBodySet} from "./rigid_body_set"; +} from "../raw.js"; +import {RigidBody, RigidBodyHandle} from "./rigid_body.js"; +import {RigidBodySet} from "./rigid_body_set.js"; // #if DIM3 -import {Quaternion} from "../math"; +import {Quaternion} from "../math.js"; // #endif /** diff --git a/src.ts/dynamics/impulse_joint_set.ts b/src.ts/dynamics/impulse_joint_set.ts index 2d382514..47bc9cfe 100644 --- a/src.ts/dynamics/impulse_joint_set.ts +++ b/src.ts/dynamics/impulse_joint_set.ts @@ -1,6 +1,6 @@ -import {RawImpulseJointSet} from "../raw"; -import {Coarena} from "../coarena"; -import {RigidBodySet} from "./rigid_body_set"; +import {RawImpulseJointSet} from "../raw.js"; +import {Coarena} from "../coarena.js"; +import {RigidBodySet} from "./rigid_body_set.js"; import { RevoluteImpulseJoint, FixedImpulseJoint, @@ -12,10 +12,10 @@ import { // #if DIM3 SphericalImpulseJoint, // #endif -} from "./impulse_joint"; -import {IslandManager} from "./island_manager"; -import {RigidBodyHandle} from "./rigid_body"; -import {Collider, ColliderHandle} from "../geometry"; +} from "./impulse_joint.js"; +import {IslandManager} from "./island_manager.js"; +import {RigidBodyHandle} from "./rigid_body.js"; +import {Collider, ColliderHandle} from "../geometry/index.js"; /** * A set of joints. diff --git a/src.ts/dynamics/index.ts b/src.ts/dynamics/index.ts index 4141658e..f223b2c8 100644 --- a/src.ts/dynamics/index.ts +++ b/src.ts/dynamics/index.ts @@ -1,10 +1,10 @@ -export * from "./rigid_body"; -export * from "./rigid_body_set"; -export * from "./integration_parameters"; -export * from "./impulse_joint"; -export * from "./impulse_joint_set"; -export * from "./multibody_joint"; -export * from "./multibody_joint_set"; -export * from "./coefficient_combine_rule"; -export * from "./ccd_solver"; -export * from "./island_manager"; +export * from "./rigid_body.js"; +export * from "./rigid_body_set.js"; +export * from "./integration_parameters.js"; +export * from "./impulse_joint.js"; +export * from "./impulse_joint_set.js"; +export * from "./multibody_joint.js"; +export * from "./multibody_joint_set.js"; +export * from "./coefficient_combine_rule.js"; +export * from "./ccd_solver.js"; +export * from "./island_manager.js"; diff --git a/src.ts/dynamics/integration_parameters.ts b/src.ts/dynamics/integration_parameters.ts index b7253e21..b1b0e837 100644 --- a/src.ts/dynamics/integration_parameters.ts +++ b/src.ts/dynamics/integration_parameters.ts @@ -1,4 +1,4 @@ -import {RawIntegrationParameters} from "../raw"; +import {RawIntegrationParameters} from "../raw.js"; export class IntegrationParameters { raw: RawIntegrationParameters; diff --git a/src.ts/dynamics/island_manager.ts b/src.ts/dynamics/island_manager.ts index 65ed21dc..15334a11 100644 --- a/src.ts/dynamics/island_manager.ts +++ b/src.ts/dynamics/island_manager.ts @@ -1,5 +1,5 @@ -import {RawIslandManager} from "../raw"; -import {RigidBodyHandle} from "./rigid_body"; +import {RawIslandManager} from "../raw.js"; +import {RigidBodyHandle} from "./rigid_body.js"; /** * The CCD solver responsible for resolving Continuous Collision Detection. diff --git a/src.ts/dynamics/multibody_joint.ts b/src.ts/dynamics/multibody_joint.ts index 5608aec7..e6d2ede5 100644 --- a/src.ts/dynamics/multibody_joint.ts +++ b/src.ts/dynamics/multibody_joint.ts @@ -3,7 +3,7 @@ import { RawJointAxis, RawJointType, RawMultibodyJointSet, -} from "../raw"; +} from "../raw.js"; import { FixedImpulseJoint, ImpulseJointHandle, @@ -11,11 +11,11 @@ import { MotorModel, PrismaticImpulseJoint, RevoluteImpulseJoint, -} from "./impulse_joint"; +} from "./impulse_joint.js"; // #if DIM3 -import {Quaternion} from "../math"; -import {SphericalImpulseJoint} from "./impulse_joint"; +import {Quaternion} from "../math.js"; +import {SphericalImpulseJoint} from "./impulse_joint.js"; // #endif /** diff --git a/src.ts/dynamics/multibody_joint_set.ts b/src.ts/dynamics/multibody_joint_set.ts index 2fbb3403..090d21a0 100644 --- a/src.ts/dynamics/multibody_joint_set.ts +++ b/src.ts/dynamics/multibody_joint_set.ts @@ -1,6 +1,6 @@ -import {RawMultibodyJointSet} from "../raw"; -import {Coarena} from "../coarena"; -import {RigidBodySet} from "./rigid_body_set"; +import {RawMultibodyJointSet} from "../raw.js"; +import {Coarena} from "../coarena.js"; +import {RigidBodySet} from "./rigid_body_set.js"; import { MultibodyJoint, MultibodyJointHandle, @@ -10,11 +10,11 @@ import { // #if DIM3 SphericalMultibodyJoint, // #endif -} from "./multibody_joint"; -import {ImpulseJointHandle, JointData, JointType} from "./impulse_joint"; -import {IslandManager} from "./island_manager"; -import {ColliderHandle} from "../geometry"; -import {RigidBodyHandle} from "./rigid_body"; +} from "./multibody_joint.js"; +import {ImpulseJointHandle, JointData, JointType} from "./impulse_joint.js"; +import {IslandManager} from "./island_manager.js"; +import {ColliderHandle} from "../geometry/index.js"; +import {RigidBodyHandle} from "./rigid_body.js"; /** * A set of joints. diff --git a/src.ts/dynamics/rigid_body.ts b/src.ts/dynamics/rigid_body.ts index 8f52dbe5..f15c34d5 100644 --- a/src.ts/dynamics/rigid_body.ts +++ b/src.ts/dynamics/rigid_body.ts @@ -1,9 +1,9 @@ -import {RawRigidBodySet, RawRigidBodyType} from "../raw"; -import {Rotation, RotationOps, Vector, VectorOps} from "../math"; +import {RawRigidBodySet, RawRigidBodyType} from "../raw.js"; +import {Rotation, RotationOps, Vector, VectorOps} from "../math.js"; // #if DIM3 -import {SdpMatrix3, SdpMatrix3Ops} from "../math"; +import {SdpMatrix3, SdpMatrix3Ops} from "../math.js"; // #endif -import {Collider, ColliderSet} from "../geometry"; +import {Collider, ColliderSet} from "../geometry/index.js"; /** * The integer identifier of a collider added to a `ColliderSet`. diff --git a/src.ts/dynamics/rigid_body_set.ts b/src.ts/dynamics/rigid_body_set.ts index 4c2e47bd..d2eed81e 100644 --- a/src.ts/dynamics/rigid_body_set.ts +++ b/src.ts/dynamics/rigid_body_set.ts @@ -1,16 +1,16 @@ -import {RawRigidBodySet, RawRigidBodyType} from "../raw"; -import {Coarena} from "../coarena"; -import {VectorOps, RotationOps} from "../math"; +import {RawRigidBodySet, RawRigidBodyType} from "../raw.js"; +import {Coarena} from "../coarena.js"; +import {VectorOps, RotationOps} from "../math.js"; import { RigidBody, RigidBodyDesc, RigidBodyHandle, RigidBodyType, -} from "./rigid_body"; -import {ColliderSet} from "../geometry"; -import {ImpulseJointSet} from "./impulse_joint_set"; -import {MultibodyJointSet} from "./multibody_joint_set"; -import {IslandManager} from "./island_manager"; +} from "./rigid_body.js"; +import {ColliderSet} from "../geometry/index.js"; +import {ImpulseJointSet} from "./impulse_joint_set.js"; +import {MultibodyJointSet} from "./multibody_joint_set.js"; +import {IslandManager} from "./island_manager.js"; /** * A set of rigid bodies that can be handled by a physics pipeline. diff --git a/src.ts/exports.ts b/src.ts/exports.ts index 237bd545..d16e5640 100644 --- a/src.ts/exports.ts +++ b/src.ts/exports.ts @@ -1,4 +1,4 @@ -import {version as vers, reserve_memory as reserve} from "./raw"; +import {version as vers, reserve_memory as reserve} from "./raw.js"; export function version(): string { return vers(); @@ -19,9 +19,9 @@ export function reserveMemory(extraBytesCount: number) { reserve(extraBytesCount); } -export * from "./math"; -export * from "./dynamics"; -export * from "./geometry"; -export * from "./pipeline"; -export * from "./init"; -export * from "./control"; +export * from "./math.js"; +export * from "./dynamics/index.js"; +export * from "./geometry/index.js"; +export * from "./pipeline/index.js"; +export * from "./init.js"; +export * from "./control/index.js"; diff --git a/src.ts/geometry/broad_phase.ts b/src.ts/geometry/broad_phase.ts index addaee92..c4391fdc 100644 --- a/src.ts/geometry/broad_phase.ts +++ b/src.ts/geometry/broad_phase.ts @@ -1,15 +1,15 @@ -import {RawBroadPhase, RawRayColliderIntersection} from "../raw"; -import {RigidBodyHandle, RigidBodySet} from "../dynamics"; -import {ColliderSet} from "./collider_set"; -import {Ray, RayColliderHit, RayColliderIntersection} from "./ray"; -import {InteractionGroups} from "./interaction_groups"; -import {ColliderHandle} from "./collider"; -import {Rotation, RotationOps, Vector, VectorOps} from "../math"; -import {Shape} from "./shape"; -import {PointColliderProjection} from "./point"; -import {ColliderShapeCastHit} from "./toi"; -import {QueryFilterFlags} from "../pipeline"; -import {NarrowPhase} from "./narrow_phase"; +import {RawBroadPhase, RawRayColliderIntersection} from "../raw.js"; +import {RigidBodyHandle, RigidBodySet} from "../dynamics/index.js"; +import {ColliderSet} from "./collider_set.js"; +import {Ray, RayColliderHit, RayColliderIntersection} from "./ray.js"; +import {InteractionGroups} from "./interaction_groups.js"; +import {ColliderHandle} from "./collider.js"; +import {Rotation, RotationOps, Vector, VectorOps} from "../math.js"; +import {Shape} from "./shape.js"; +import {PointColliderProjection} from "./point.js"; +import {ColliderShapeCastHit} from "./toi.js"; +import {QueryFilterFlags} from "../pipeline/index.js"; +import {NarrowPhase} from "./narrow_phase.js"; /** * The broad-phase used for coarse collision-detection. diff --git a/src.ts/geometry/collider.ts b/src.ts/geometry/collider.ts index 25817362..1f252f97 100644 --- a/src.ts/geometry/collider.ts +++ b/src.ts/geometry/collider.ts @@ -1,13 +1,13 @@ -import {RawColliderSet} from "../raw"; -import {Rotation, RotationOps, Vector, VectorOps} from "../math"; +import {RawColliderSet} from "../raw.js"; +import {Rotation, RotationOps, Vector, VectorOps} from "../math.js"; import { CoefficientCombineRule, RigidBody, RigidBodyHandle, RigidBodySet, -} from "../dynamics"; -import {ActiveHooks, ActiveEvents} from "../pipeline"; -import {InteractionGroups} from "./interaction_groups"; +} from "../dynamics/index.js"; +import {ActiveHooks, ActiveEvents} from "../pipeline/index.js"; +import {InteractionGroups} from "./interaction_groups.js"; import { Shape, Cuboid, @@ -37,12 +37,12 @@ import { RoundConvexPolyhedron, HeightFieldFlags, // #endif -} from "./shape"; -import {Ray, RayIntersection} from "./ray"; -import {PointProjection} from "./point"; -import {ColliderShapeCastHit, ShapeCastHit} from "./toi"; -import {ShapeContact} from "./contact"; -import {ColliderSet} from "./collider_set"; +} from "./shape.js"; +import {Ray, RayIntersection} from "./ray.js"; +import {PointProjection} from "./point.js"; +import {ColliderShapeCastHit, ShapeCastHit} from "./toi.js"; +import {ShapeContact} from "./contact.js"; +import {ColliderSet} from "./collider_set.js"; /** * Flags affecting whether collision-detection happens between two colliders diff --git a/src.ts/geometry/collider_set.ts b/src.ts/geometry/collider_set.ts index 832b837a..7a50e484 100644 --- a/src.ts/geometry/collider_set.ts +++ b/src.ts/geometry/collider_set.ts @@ -1,9 +1,9 @@ -import {RawColliderSet} from "../raw"; -import {Coarena} from "../coarena"; -import {RotationOps, VectorOps} from "../math"; -import {Collider, ColliderDesc, ColliderHandle} from "./collider"; -import {ImpulseJointHandle, IslandManager, RigidBodyHandle} from "../dynamics"; -import {RigidBodySet} from "../dynamics"; +import {RawColliderSet} from "../raw.js"; +import {Coarena} from "../coarena.js"; +import {RotationOps, VectorOps} from "../math.js"; +import {Collider, ColliderDesc, ColliderHandle} from "./collider.js"; +import {ImpulseJointHandle, IslandManager, RigidBodyHandle} from "../dynamics/index.js"; +import {RigidBodySet} from "../dynamics/index.js"; /** * A set of rigid bodies that can be handled by a physics pipeline. diff --git a/src.ts/geometry/contact.ts b/src.ts/geometry/contact.ts index 802f57f4..aa469df9 100644 --- a/src.ts/geometry/contact.ts +++ b/src.ts/geometry/contact.ts @@ -1,5 +1,5 @@ -import {Vector, VectorOps} from "../math"; -import {RawShapeContact} from "../raw"; +import {Vector, VectorOps} from "../math.js"; +import {RawShapeContact} from "../raw.js"; /** * The contact info between two shapes. diff --git a/src.ts/geometry/index.ts b/src.ts/geometry/index.ts index 1bd19e50..c0b44f0b 100644 --- a/src.ts/geometry/index.ts +++ b/src.ts/geometry/index.ts @@ -1,11 +1,11 @@ -export * from "./broad_phase"; -export * from "./narrow_phase"; -export * from "./shape"; -export * from "./collider"; -export * from "./collider_set"; -export * from "./feature"; -export * from "./ray"; -export * from "./point"; -export * from "./toi"; -export * from "./interaction_groups"; -export * from "./contact"; +export * from "./broad_phase.js"; +export * from "./narrow_phase.js"; +export * from "./shape.js"; +export * from "./collider.js"; +export * from "./collider_set.js"; +export * from "./feature.js"; +export * from "./ray.js"; +export * from "./point.js"; +export * from "./toi.js"; +export * from "./interaction_groups.js"; +export * from "./contact.js"; diff --git a/src.ts/geometry/narrow_phase.ts b/src.ts/geometry/narrow_phase.ts index af04a227..63aacac3 100644 --- a/src.ts/geometry/narrow_phase.ts +++ b/src.ts/geometry/narrow_phase.ts @@ -1,6 +1,6 @@ -import {RawNarrowPhase, RawContactManifold} from "../raw"; -import {ColliderHandle} from "./collider"; -import {Vector, VectorOps} from "../math"; +import {RawNarrowPhase, RawContactManifold} from "../raw.js"; +import {ColliderHandle} from "./collider.js"; +import {Vector, VectorOps} from "../math.js"; /** * The narrow-phase used for precise collision-detection. diff --git a/src.ts/geometry/point.ts b/src.ts/geometry/point.ts index d272b7e8..eeda59de 100644 --- a/src.ts/geometry/point.ts +++ b/src.ts/geometry/point.ts @@ -1,12 +1,12 @@ -import {Collider, ColliderHandle} from "./collider"; -import {Vector, VectorOps} from "../math"; +import {Collider, ColliderHandle} from "./collider.js"; +import {Vector, VectorOps} from "../math.js"; import { RawFeatureType, RawPointColliderProjection, RawPointProjection, -} from "../raw"; -import {FeatureType} from "./feature"; -import {ColliderSet} from "./collider_set"; +} from "../raw.js"; +import {FeatureType} from "./feature.js"; +import {ColliderSet} from "./collider_set.js"; /** * The projection of a point on a collider. diff --git a/src.ts/geometry/ray.ts b/src.ts/geometry/ray.ts index 36df5ee3..d40c73ad 100644 --- a/src.ts/geometry/ray.ts +++ b/src.ts/geometry/ray.ts @@ -1,13 +1,13 @@ -import {Vector, VectorOps} from "../math"; +import {Vector, VectorOps} from "../math.js"; import { RawFeatureType, RawRayColliderIntersection, RawRayColliderHit, RawRayIntersection, -} from "../raw"; -import {Collider} from "./collider"; -import {FeatureType} from "./feature"; -import {ColliderSet} from "./collider_set"; +} from "../raw.js"; +import {Collider} from "./collider.js"; +import {FeatureType} from "./feature.js"; +import {ColliderSet} from "./collider_set.js"; /** * A ray. This is a directed half-line. diff --git a/src.ts/geometry/shape.ts b/src.ts/geometry/shape.ts index f3546982..1ba3f486 100644 --- a/src.ts/geometry/shape.ts +++ b/src.ts/geometry/shape.ts @@ -1,10 +1,10 @@ -import {Vector, VectorOps, Rotation, RotationOps} from "../math"; -import {RawColliderSet, RawShape, RawShapeType} from "../raw"; -import {ShapeContact} from "./contact"; -import {PointProjection} from "./point"; -import {Ray, RayIntersection} from "./ray"; -import {ShapeCastHit} from "./toi"; -import {ColliderHandle} from "./collider"; +import {Vector, VectorOps, Rotation, RotationOps} from "../math.js"; +import {RawColliderSet, RawShape, RawShapeType} from "../raw.js"; +import {ShapeContact} from "./contact.js"; +import {PointProjection} from "./point.js"; +import {Ray, RayIntersection} from "./ray.js"; +import {ShapeCastHit} from "./toi.js"; +import {ColliderHandle} from "./collider.js"; export abstract class Shape { public abstract intoRaw(): RawShape; diff --git a/src.ts/geometry/toi.ts b/src.ts/geometry/toi.ts index ade13f17..bda43b67 100644 --- a/src.ts/geometry/toi.ts +++ b/src.ts/geometry/toi.ts @@ -1,7 +1,7 @@ -import {Collider} from "./collider"; -import {Vector, VectorOps} from "../math"; -import {RawShapeCastHit, RawColliderShapeCastHit} from "../raw"; -import {ColliderSet} from "./collider_set"; +import {Collider} from "./collider.js"; +import {Vector, VectorOps} from "../math.js"; +import {RawShapeCastHit, RawColliderShapeCastHit} from "../raw.js"; +import {ColliderSet} from "./collider_set.js"; /** * The intersection between a ray and a collider. diff --git a/src.ts/math.ts b/src.ts/math.ts index ebca392b..9467577e 100644 --- a/src.ts/math.ts +++ b/src.ts/math.ts @@ -1,6 +1,6 @@ -import {RawVector, RawRotation} from "./raw"; +import {RawVector, RawRotation} from "./raw.js"; // #if DIM3 -import {RawSdpMatrix3} from "./raw"; +import {RawSdpMatrix3} from "./raw.js"; // #endif // #if DIM2 diff --git a/src.ts/pipeline/debug_render_pipeline.ts b/src.ts/pipeline/debug_render_pipeline.ts index bf0d7057..08d3d590 100644 --- a/src.ts/pipeline/debug_render_pipeline.ts +++ b/src.ts/pipeline/debug_render_pipeline.ts @@ -1,14 +1,14 @@ -import {RawDebugRenderPipeline} from "../raw"; -import {Vector, VectorOps} from "../math"; +import {RawDebugRenderPipeline} from "../raw.js"; +import {Vector, VectorOps} from "../math.js"; import { IntegrationParameters, IslandManager, ImpulseJointSet, MultibodyJointSet, RigidBodySet, -} from "../dynamics"; -import {BroadPhase, Collider, ColliderSet, NarrowPhase} from "../geometry"; -import {QueryFilterFlags} from "./query_pipeline"; +} from "../dynamics/index.js"; +import {BroadPhase, Collider, ColliderSet, NarrowPhase} from "../geometry/index.js"; +import {QueryFilterFlags} from "./query_pipeline.js"; /** * The vertex and color buffers for debug-redering the physics scene. diff --git a/src.ts/pipeline/event_queue.ts b/src.ts/pipeline/event_queue.ts index e39c1582..0ecd91de 100644 --- a/src.ts/pipeline/event_queue.ts +++ b/src.ts/pipeline/event_queue.ts @@ -1,7 +1,7 @@ -import {RawContactForceEvent, RawEventQueue} from "../raw"; -import {RigidBodyHandle} from "../dynamics"; -import {Collider, ColliderHandle} from "../geometry"; -import {Vector, VectorOps} from "../math"; +import {RawContactForceEvent, RawEventQueue} from "../raw.js"; +import {RigidBodyHandle} from "../dynamics/index.js"; +import {Collider, ColliderHandle} from "../geometry/index.js"; +import {Vector, VectorOps} from "../math.js"; /** * Flags indicating what events are enabled for colliders. diff --git a/src.ts/pipeline/index.ts b/src.ts/pipeline/index.ts index 092c1a59..818cf766 100644 --- a/src.ts/pipeline/index.ts +++ b/src.ts/pipeline/index.ts @@ -1,7 +1,7 @@ -export * from "./world"; -export * from "./physics_pipeline"; -export * from "./serialization_pipeline"; -export * from "./event_queue"; -export * from "./physics_hooks"; -export * from "./debug_render_pipeline"; -export * from "./query_pipeline"; +export * from "./world.js"; +export * from "./physics_pipeline.js"; +export * from "./serialization_pipeline.js"; +export * from "./event_queue.js"; +export * from "./physics_hooks.js"; +export * from "./debug_render_pipeline.js"; +export * from "./query_pipeline.js"; diff --git a/src.ts/pipeline/physics_hooks.ts b/src.ts/pipeline/physics_hooks.ts index 20e12ad9..e680bd40 100644 --- a/src.ts/pipeline/physics_hooks.ts +++ b/src.ts/pipeline/physics_hooks.ts @@ -1,5 +1,5 @@ -import {RigidBodyHandle} from "../dynamics"; -import {ColliderHandle} from "../geometry"; +import {RigidBodyHandle} from "../dynamics/index.js"; +import {ColliderHandle} from "../geometry/index.js"; export enum ActiveHooks { NONE = 0, diff --git a/src.ts/pipeline/physics_pipeline.ts b/src.ts/pipeline/physics_pipeline.ts index a3319205..4530370a 100644 --- a/src.ts/pipeline/physics_pipeline.ts +++ b/src.ts/pipeline/physics_pipeline.ts @@ -1,5 +1,5 @@ -import {RawPhysicsPipeline} from "../raw"; -import {Vector, VectorOps} from "../math"; +import {RawPhysicsPipeline} from "../raw.js"; +import {Vector, VectorOps} from "../math.js"; import { IntegrationParameters, ImpulseJointSet, @@ -8,15 +8,14 @@ import { RigidBodySet, CCDSolver, IslandManager, -} from "../dynamics"; +} from "../dynamics/index.js"; import { BroadPhase, - ColliderHandle, - ColliderSet, + BroadPhaseMultiSap, NarrowPhase, -} from "../geometry"; -import {EventQueue} from "./event_queue"; -import {PhysicsHooks} from "./physics_hooks"; +} from "../geometry/index.js"; +import {EventQueue} from "./event_queue.js"; +import {PhysicsHooks} from "./physics_hooks.js"; export class PhysicsPipeline { raw: RawPhysicsPipeline; diff --git a/src.ts/pipeline/query_pipeline.ts b/src.ts/pipeline/query_pipeline.ts index 5610ff31..4fc16831 100644 --- a/src.ts/pipeline/query_pipeline.ts +++ b/src.ts/pipeline/query_pipeline.ts @@ -1,4 +1,4 @@ -import {RawRayColliderIntersection} from "../raw"; +import {RawRayColliderIntersection} from "../raw.js"; import { ColliderHandle, ColliderSet, @@ -9,9 +9,9 @@ import { RayColliderHit, Shape, ColliderShapeCastHit, -} from "../geometry"; -import {IslandManager, RigidBodyHandle, RigidBodySet} from "../dynamics"; -import {Rotation, RotationOps, Vector, VectorOps} from "../math"; +} from "../geometry/index.js"; +import {IslandManager, RigidBodyHandle, RigidBodySet} from "../dynamics/index.js"; +import {Rotation, RotationOps, Vector, VectorOps} from "../math.js"; // NOTE: must match the bits in the QueryFilterFlags on the Rust side. /** diff --git a/src.ts/pipeline/serialization_pipeline.ts b/src.ts/pipeline/serialization_pipeline.ts index 87fde398..2c102016 100644 --- a/src.ts/pipeline/serialization_pipeline.ts +++ b/src.ts/pipeline/serialization_pipeline.ts @@ -1,14 +1,14 @@ -import {RawSerializationPipeline} from "../raw"; -import {Vector, VectorOps} from "../math"; +import {RawSerializationPipeline} from "../raw.js"; +import {Vector, VectorOps} from "../math.js"; import { IntegrationParameters, IslandManager, ImpulseJointSet, MultibodyJointSet, RigidBodySet, -} from "../dynamics"; -import {BroadPhase, ColliderSet, NarrowPhase} from "../geometry"; -import {World} from "./world"; +} from "../dynamics/index.js"; +import {BroadPhase, ColliderSet, NarrowPhase} from "../geometry/index.js"; +import {World} from "./world.js"; /** * A pipeline for serializing the physics scene. diff --git a/src.ts/pipeline/world.ts b/src.ts/pipeline/world.ts index 9ee85616..2a927251 100644 --- a/src.ts/pipeline/world.ts +++ b/src.ts/pipeline/world.ts @@ -12,7 +12,7 @@ import { RawRigidBodySet, RawSerializationPipeline, RawDebugRenderPipeline, -} from "../raw"; +} from "../raw.js"; import { BroadPhase, @@ -29,7 +29,7 @@ import { Shape, ColliderShapeCastHit, TempContactManifold, -} from "../geometry"; +} from "../geometry/index.js"; import { CCDSolver, IntegrationParameters, @@ -45,23 +45,23 @@ import { RigidBodyDesc, RigidBodyHandle, RigidBodySet, -} from "../dynamics"; -import {Rotation, Vector, VectorOps} from "../math"; -import {PhysicsPipeline} from "./physics_pipeline"; -import {QueryFilterFlags} from "./query_pipeline"; -import {SerializationPipeline} from "./serialization_pipeline"; -import {EventQueue} from "./event_queue"; -import {PhysicsHooks} from "./physics_hooks"; -import {DebugRenderBuffers, DebugRenderPipeline} from "./debug_render_pipeline"; +} from "../dynamics/index.js"; +import {Rotation, Vector, VectorOps} from "../math.js"; +import {PhysicsPipeline} from "./physics_pipeline.js"; +import {QueryFilterFlags} from "./query_pipeline.js"; +import {SerializationPipeline} from "./serialization_pipeline.js"; +import {EventQueue} from "./event_queue.js"; +import {PhysicsHooks} from "./physics_hooks.js"; +import {DebugRenderBuffers, DebugRenderPipeline} from "./debug_render_pipeline.js"; import { KinematicCharacterController, PidAxesMask, PidController, -} from "../control"; -import {Coarena} from "../coarena"; +} from "../control/index.js"; +import {Coarena} from "../coarena.js"; // #if DIM3 -import {DynamicRayCastVehicleController} from "../control"; +import {DynamicRayCastVehicleController} from "../control/index.js"; // #endif diff --git a/src.ts/rapier.ts b/src.ts/rapier.ts index dbf4d053..7afc45fb 100644 --- a/src.ts/rapier.ts +++ b/src.ts/rapier.ts @@ -1,3 +1,3 @@ -import * as RAPIER from "./exports"; -export * from "./exports"; +import * as RAPIER from "./exports.js"; +export * from "./exports.js"; export default RAPIER; diff --git a/testbed2d/src/Gui.ts b/testbed2d/src/Gui.ts index a410607e..984ba1f5 100644 --- a/testbed2d/src/Gui.ts +++ b/testbed2d/src/Gui.ts @@ -1,6 +1,6 @@ import GUI from "lil-gui"; import * as Stats from "stats.js"; -import type {Testbed} from "./Testbed"; +import type {Testbed} from "./Testbed.js"; export interface DebugInfos { token: number; diff --git a/testbed2d/src/Testbed.ts b/testbed2d/src/Testbed.ts index 61279ab2..ffc804f9 100644 --- a/testbed2d/src/Testbed.ts +++ b/testbed2d/src/Testbed.ts @@ -1,6 +1,6 @@ -import {Graphics} from "./Graphics"; -import {Gui} from "./Gui"; -import type {DebugInfos} from "./Gui"; +import {Graphics} from "./Graphics.js"; +import {Gui} from "./Gui.js"; +import type {DebugInfos} from "./Gui.js"; import {xxhash128} from "hash-wasm"; import type * as RAPIER from "@dimforge/rapier2d"; diff --git a/testbed2d/src/demos/characterController.ts b/testbed2d/src/demos/characterController.ts index 7877db12..3c515420 100644 --- a/testbed2d/src/demos/characterController.ts +++ b/testbed2d/src/demos/characterController.ts @@ -1,4 +1,4 @@ -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier2d"); diff --git a/testbed2d/src/demos/collisionGroups.ts b/testbed2d/src/demos/collisionGroups.ts index 51163618..c75470c1 100644 --- a/testbed2d/src/demos/collisionGroups.ts +++ b/testbed2d/src/demos/collisionGroups.ts @@ -1,4 +1,4 @@ -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier2d"); diff --git a/testbed2d/src/demos/convexPolygons.ts b/testbed2d/src/demos/convexPolygons.ts index 6edad202..9cce475a 100644 --- a/testbed2d/src/demos/convexPolygons.ts +++ b/testbed2d/src/demos/convexPolygons.ts @@ -1,5 +1,5 @@ import seedrandom from "seedrandom"; -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier2d"); diff --git a/testbed2d/src/demos/cubes.ts b/testbed2d/src/demos/cubes.ts index 5214b485..e5c33862 100644 --- a/testbed2d/src/demos/cubes.ts +++ b/testbed2d/src/demos/cubes.ts @@ -1,4 +1,4 @@ -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier2d"); diff --git a/testbed2d/src/demos/heightfield.ts b/testbed2d/src/demos/heightfield.ts index d055499b..fe2c7064 100644 --- a/testbed2d/src/demos/heightfield.ts +++ b/testbed2d/src/demos/heightfield.ts @@ -1,4 +1,4 @@ -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier2d"); diff --git a/testbed2d/src/demos/keva.ts b/testbed2d/src/demos/keva.ts index 6ca57c0c..a338442c 100644 --- a/testbed2d/src/demos/keva.ts +++ b/testbed2d/src/demos/keva.ts @@ -1,5 +1,5 @@ import type * as RAPIER from "@dimforge/rapier2d"; -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier2d"); diff --git a/testbed2d/src/demos/lockedRotations.ts b/testbed2d/src/demos/lockedRotations.ts index 8600f95f..09f88e74 100644 --- a/testbed2d/src/demos/lockedRotations.ts +++ b/testbed2d/src/demos/lockedRotations.ts @@ -1,4 +1,4 @@ -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier2d"); diff --git a/testbed2d/src/demos/pidController.ts b/testbed2d/src/demos/pidController.ts index fac2a7c4..372a3ecb 100644 --- a/testbed2d/src/demos/pidController.ts +++ b/testbed2d/src/demos/pidController.ts @@ -1,4 +1,4 @@ -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier2d"); diff --git a/testbed2d/src/demos/polyline.ts b/testbed2d/src/demos/polyline.ts index 47d82540..c4b09c6d 100644 --- a/testbed2d/src/demos/polyline.ts +++ b/testbed2d/src/demos/polyline.ts @@ -1,4 +1,4 @@ -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier2d"); diff --git a/testbed2d/src/demos/revoluteJoints.ts b/testbed2d/src/demos/revoluteJoints.ts index 2d7923fd..2bd72175 100644 --- a/testbed2d/src/demos/revoluteJoints.ts +++ b/testbed2d/src/demos/revoluteJoints.ts @@ -1,4 +1,4 @@ -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier2d"); diff --git a/testbed2d/src/demos/voxels.ts b/testbed2d/src/demos/voxels.ts index 6a6fc366..100ad37a 100644 --- a/testbed2d/src/demos/voxels.ts +++ b/testbed2d/src/demos/voxels.ts @@ -1,4 +1,4 @@ -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier2d"); diff --git a/testbed2d/src/index.ts b/testbed2d/src/index.ts index 24bd18f4..1491faf8 100644 --- a/testbed2d/src/index.ts +++ b/testbed2d/src/index.ts @@ -1,15 +1,15 @@ -import {Testbed} from "./Testbed"; -import * as CollisionGroups from "./demos/collisionGroups"; -import * as Cubes from "./demos/cubes"; -import * as Keva from "./demos/keva"; -import * as Heightfield from "./demos/heightfield"; -import * as Polyline from "./demos/polyline"; -import * as RevoluteJoints from "./demos/revoluteJoints"; -import * as LockedRotations from "./demos/lockedRotations"; -import * as ConvexPolygons from "./demos/convexPolygons"; -import * as CharacterController from "./demos/characterController"; -import * as PidController from "./demos/pidController"; -import * as Voxels from "./demos/voxels"; +import {Testbed} from "./Testbed.js"; +import * as CollisionGroups from "./demos/collisionGroups.js"; +import * as Cubes from "./demos/cubes.js"; +import * as Keva from "./demos/keva.js"; +import * as Heightfield from "./demos/heightfield.js"; +import * as Polyline from "./demos/polyline.js"; +import * as RevoluteJoints from "./demos/revoluteJoints.js"; +import * as LockedRotations from "./demos/lockedRotations.js"; +import * as ConvexPolygons from "./demos/convexPolygons.js"; +import * as CharacterController from "./demos/characterController.js"; +import * as PidController from "./demos/pidController.js"; +import * as Voxels from "./demos/voxels.js"; import("@dimforge/rapier2d").then((RAPIER) => { let builders = new Map([ diff --git a/testbed3d/src/Gui.ts b/testbed3d/src/Gui.ts index e89b2f47..abe468c9 100644 --- a/testbed3d/src/Gui.ts +++ b/testbed3d/src/Gui.ts @@ -1,6 +1,6 @@ import GUI from "lil-gui"; import * as Stats from "stats.js"; -import type {Testbed} from "./Testbed"; +import type {Testbed} from "./Testbed.js"; export interface DebugInfos { token: number; diff --git a/testbed3d/src/Testbed.ts b/testbed3d/src/Testbed.ts index 5d3afd88..8ed485f2 100644 --- a/testbed3d/src/Testbed.ts +++ b/testbed3d/src/Testbed.ts @@ -1,6 +1,6 @@ -import {Graphics} from "./Graphics"; -import {Gui} from "./Gui"; -import type {DebugInfos} from "./Gui"; +import {Graphics} from "./Graphics.js"; +import {Gui} from "./Gui.js"; +import type {DebugInfos} from "./Gui.js"; import {xxhash128} from "hash-wasm"; import type * as RAPIER from "@dimforge/rapier3d"; diff --git a/testbed3d/src/demos/ccd.ts b/testbed3d/src/demos/ccd.ts index 823c9013..8bcfac2f 100644 --- a/testbed3d/src/demos/ccd.ts +++ b/testbed3d/src/demos/ccd.ts @@ -1,5 +1,5 @@ import type RAPIER from "@dimforge/rapier3d"; -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier3d"); diff --git a/testbed3d/src/demos/characterController.ts b/testbed3d/src/demos/characterController.ts index 2406ebcc..950c0a39 100644 --- a/testbed3d/src/demos/characterController.ts +++ b/testbed3d/src/demos/characterController.ts @@ -1,4 +1,4 @@ -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier3d"); diff --git a/testbed3d/src/demos/collisionGroups.ts b/testbed3d/src/demos/collisionGroups.ts index 49c9ddb7..d89ebb24 100644 --- a/testbed3d/src/demos/collisionGroups.ts +++ b/testbed3d/src/demos/collisionGroups.ts @@ -1,4 +1,4 @@ -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier3d"); diff --git a/testbed3d/src/demos/convexPolyhedron.ts b/testbed3d/src/demos/convexPolyhedron.ts index 0ec4b903..d01b1ec6 100644 --- a/testbed3d/src/demos/convexPolyhedron.ts +++ b/testbed3d/src/demos/convexPolyhedron.ts @@ -1,4 +1,4 @@ -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; import seedrandom from "seedrandom"; type RAPIER_API = typeof import("@dimforge/rapier3d"); diff --git a/testbed3d/src/demos/damping.ts b/testbed3d/src/demos/damping.ts index c6295f66..4e834ee0 100644 --- a/testbed3d/src/demos/damping.ts +++ b/testbed3d/src/demos/damping.ts @@ -1,4 +1,4 @@ -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier3d"); diff --git a/testbed3d/src/demos/fountain.ts b/testbed3d/src/demos/fountain.ts index 00d8dced..96a6c7c1 100644 --- a/testbed3d/src/demos/fountain.ts +++ b/testbed3d/src/demos/fountain.ts @@ -1,4 +1,4 @@ -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier3d"); diff --git a/testbed3d/src/demos/glbToTrimesh.ts b/testbed3d/src/demos/glbToTrimesh.ts index fa65a7cd..d53d571f 100644 --- a/testbed3d/src/demos/glbToTrimesh.ts +++ b/testbed3d/src/demos/glbToTrimesh.ts @@ -1,4 +1,4 @@ -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; import {Vector3, Object3D, Mesh, BufferGeometry, BufferAttribute} from "three"; import {GLTFLoader} from "three/examples/jsm/loaders/GLTFLoader"; type RAPIER_API = typeof import("@dimforge/rapier3d"); diff --git a/testbed3d/src/demos/glbtoConvexHull.ts b/testbed3d/src/demos/glbtoConvexHull.ts index a4d2619e..27ea1625 100644 --- a/testbed3d/src/demos/glbtoConvexHull.ts +++ b/testbed3d/src/demos/glbtoConvexHull.ts @@ -1,4 +1,4 @@ -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; import { Vector3, Object3D, diff --git a/testbed3d/src/demos/heightfield.ts b/testbed3d/src/demos/heightfield.ts index 5a2feece..1ac63206 100644 --- a/testbed3d/src/demos/heightfield.ts +++ b/testbed3d/src/demos/heightfield.ts @@ -1,5 +1,5 @@ import seedrandom from "seedrandom"; -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier3d"); diff --git a/testbed3d/src/demos/joints.ts b/testbed3d/src/demos/joints.ts index 56546d7f..32b42190 100644 --- a/testbed3d/src/demos/joints.ts +++ b/testbed3d/src/demos/joints.ts @@ -1,5 +1,5 @@ import type RAPIER from "@dimforge/rapier3d"; -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier3d"); diff --git a/testbed3d/src/demos/keva.ts b/testbed3d/src/demos/keva.ts index d4e27cb0..3c92ef54 100644 --- a/testbed3d/src/demos/keva.ts +++ b/testbed3d/src/demos/keva.ts @@ -1,5 +1,5 @@ import type RAPIER from "@dimforge/rapier3d"; -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier3d"); diff --git a/testbed3d/src/demos/lockedRotations.ts b/testbed3d/src/demos/lockedRotations.ts index e3b4c538..5d2b4bd7 100644 --- a/testbed3d/src/demos/lockedRotations.ts +++ b/testbed3d/src/demos/lockedRotations.ts @@ -1,4 +1,4 @@ -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier3d"); diff --git a/testbed3d/src/demos/pidController.ts b/testbed3d/src/demos/pidController.ts index ea3e1286..2518a74e 100644 --- a/testbed3d/src/demos/pidController.ts +++ b/testbed3d/src/demos/pidController.ts @@ -1,4 +1,4 @@ -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier3d"); diff --git a/testbed3d/src/demos/platform.ts b/testbed3d/src/demos/platform.ts index fe51d9ae..cfd7192e 100644 --- a/testbed3d/src/demos/platform.ts +++ b/testbed3d/src/demos/platform.ts @@ -1,5 +1,5 @@ import seedrandom from "seedrandom"; -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier3d"); diff --git a/testbed3d/src/demos/pyramid.ts b/testbed3d/src/demos/pyramid.ts index 9a63e47e..0ef2ce98 100644 --- a/testbed3d/src/demos/pyramid.ts +++ b/testbed3d/src/demos/pyramid.ts @@ -1,4 +1,4 @@ -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier3d"); diff --git a/testbed3d/src/demos/trimesh.ts b/testbed3d/src/demos/trimesh.ts index 5a50bd3b..d9c706f4 100644 --- a/testbed3d/src/demos/trimesh.ts +++ b/testbed3d/src/demos/trimesh.ts @@ -1,5 +1,5 @@ import seedrandom from "seedrandom"; -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier3d"); diff --git a/testbed3d/src/demos/voxels.ts b/testbed3d/src/demos/voxels.ts index 936b8730..d10c1cb9 100644 --- a/testbed3d/src/demos/voxels.ts +++ b/testbed3d/src/demos/voxels.ts @@ -1,5 +1,5 @@ import seedrandom from "seedrandom"; -import type {Testbed} from "../Testbed"; +import type {Testbed} from "../Testbed.js"; type RAPIER_API = typeof import("@dimforge/rapier3d"); diff --git a/testbed3d/src/index.ts b/testbed3d/src/index.ts index accfad53..de679ff8 100644 --- a/testbed3d/src/index.ts +++ b/testbed3d/src/index.ts @@ -1,21 +1,21 @@ -import {Testbed} from "./Testbed"; -import * as Trimesh from "./demos/trimesh"; -import * as Voxels from "./demos/voxels"; -import * as CollisionGroups from "./demos/collisionGroups"; -import * as Pyramid from "./demos/pyramid"; -import * as Keva from "./demos/keva"; -import * as Joints from "./demos/joints"; -import * as Fountain from "./demos/fountain"; -import * as Damping from "./demos/damping"; -import * as Heightfield from "./demos/heightfield"; -import * as LockedRotations from "./demos/lockedRotations"; -import * as ConvexPolyhedron from "./demos/convexPolyhedron"; -import * as CCD from "./demos/ccd"; -import * as Platform from "./demos/platform"; -import * as CharacterController from "./demos/characterController"; -import * as PidController from "./demos/pidController"; -import * as glbToTrimesh from "./demos/glbToTrimesh"; -import * as glbToConvexHull from "./demos/glbtoConvexHull"; +import {Testbed} from "./Testbed.js"; +import * as Trimesh from "./demos/trimesh.js"; +import * as Voxels from "./demos/voxels.js"; +import * as CollisionGroups from "./demos/collisionGroups.js"; +import * as Pyramid from "./demos/pyramid.js"; +import * as Keva from "./demos/keva.js"; +import * as Joints from "./demos/joints.js"; +import * as Fountain from "./demos/fountain.js"; +import * as Damping from "./demos/damping.js"; +import * as Heightfield from "./demos/heightfield.js"; +import * as LockedRotations from "./demos/lockedRotations.js"; +import * as ConvexPolyhedron from "./demos/convexPolyhedron.js"; +import * as CCD from "./demos/ccd.js"; +import * as Platform from "./demos/platform.js"; +import * as CharacterController from "./demos/characterController.js"; +import * as PidController from "./demos/pidController.js"; +import * as glbToTrimesh from "./demos/glbToTrimesh.js"; +import * as glbToConvexHull from "./demos/glbtoConvexHull.js"; import("@dimforge/rapier3d").then((RAPIER) => { let builders = new Map([ From af9feed01049a7e05d25a14fb668842f602a7967 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Sat, 20 Sep 2025 18:41:42 -0700 Subject: [PATCH 2/6] the prepare_all_projects.sh script ran prettier, committing changes --- src.ts/control/character_controller.ts | 11 +++++++++-- src.ts/control/pid_controller.ts | 13 +++++++++++-- src.ts/geometry/collider_set.ts | 6 +++++- src.ts/pipeline/debug_render_pipeline.ts | 7 ++++++- src.ts/pipeline/query_pipeline.ts | 6 +++++- src.ts/pipeline/world.ts | 5 ++++- 6 files changed, 40 insertions(+), 8 deletions(-) diff --git a/src.ts/control/character_controller.ts b/src.ts/control/character_controller.ts index a4c03484..b38b91ce 100644 --- a/src.ts/control/character_controller.ts +++ b/src.ts/control/character_controller.ts @@ -1,4 +1,7 @@ -import {RawKinematicCharacterController, RawCharacterCollision} from "../raw.js"; +import { + RawKinematicCharacterController, + RawCharacterCollision, +} from "../raw.js"; import {Rotation, Vector, VectorOps} from "../math.js"; import { Collider, @@ -9,7 +12,11 @@ import { Shape, } from "../geometry/index.js"; import {QueryFilterFlags, World} from "../pipeline/index.js"; -import {IntegrationParameters, RigidBody, RigidBodySet} from "../dynamics/index.js"; +import { + IntegrationParameters, + RigidBody, + RigidBodySet, +} from "../dynamics/index.js"; /** * A collision between the character and an obstacle hit on its path. diff --git a/src.ts/control/pid_controller.ts b/src.ts/control/pid_controller.ts index 65109a1a..91a547ca 100644 --- a/src.ts/control/pid_controller.ts +++ b/src.ts/control/pid_controller.ts @@ -1,8 +1,17 @@ import {RawPidController} from "../raw.js"; import {Rotation, RotationOps, Vector, VectorOps} from "../math.js"; -import {Collider, ColliderSet, InteractionGroups, Shape} from "../geometry/index.js"; +import { + Collider, + ColliderSet, + InteractionGroups, + Shape, +} from "../geometry/index.js"; import {QueryFilterFlags, World} from "../pipeline/index.js"; -import {IntegrationParameters, RigidBody, RigidBodySet} from "../dynamics/index.js"; +import { + IntegrationParameters, + RigidBody, + RigidBodySet, +} from "../dynamics/index.js"; // TODO: unify with the JointAxesMask /** diff --git a/src.ts/geometry/collider_set.ts b/src.ts/geometry/collider_set.ts index 7a50e484..9253df17 100644 --- a/src.ts/geometry/collider_set.ts +++ b/src.ts/geometry/collider_set.ts @@ -2,7 +2,11 @@ import {RawColliderSet} from "../raw.js"; import {Coarena} from "../coarena.js"; import {RotationOps, VectorOps} from "../math.js"; import {Collider, ColliderDesc, ColliderHandle} from "./collider.js"; -import {ImpulseJointHandle, IslandManager, RigidBodyHandle} from "../dynamics/index.js"; +import { + ImpulseJointHandle, + IslandManager, + RigidBodyHandle, +} from "../dynamics/index.js"; import {RigidBodySet} from "../dynamics/index.js"; /** diff --git a/src.ts/pipeline/debug_render_pipeline.ts b/src.ts/pipeline/debug_render_pipeline.ts index 08d3d590..82d1a6ab 100644 --- a/src.ts/pipeline/debug_render_pipeline.ts +++ b/src.ts/pipeline/debug_render_pipeline.ts @@ -7,7 +7,12 @@ import { MultibodyJointSet, RigidBodySet, } from "../dynamics/index.js"; -import {BroadPhase, Collider, ColliderSet, NarrowPhase} from "../geometry/index.js"; +import { + BroadPhase, + Collider, + ColliderSet, + NarrowPhase, +} from "../geometry/index.js"; import {QueryFilterFlags} from "./query_pipeline.js"; /** diff --git a/src.ts/pipeline/query_pipeline.ts b/src.ts/pipeline/query_pipeline.ts index 4fc16831..dda72880 100644 --- a/src.ts/pipeline/query_pipeline.ts +++ b/src.ts/pipeline/query_pipeline.ts @@ -10,7 +10,11 @@ import { Shape, ColliderShapeCastHit, } from "../geometry/index.js"; -import {IslandManager, RigidBodyHandle, RigidBodySet} from "../dynamics/index.js"; +import { + IslandManager, + RigidBodyHandle, + RigidBodySet, +} from "../dynamics/index.js"; import {Rotation, RotationOps, Vector, VectorOps} from "../math.js"; // NOTE: must match the bits in the QueryFilterFlags on the Rust side. diff --git a/src.ts/pipeline/world.ts b/src.ts/pipeline/world.ts index 2a927251..4047687c 100644 --- a/src.ts/pipeline/world.ts +++ b/src.ts/pipeline/world.ts @@ -52,7 +52,10 @@ import {QueryFilterFlags} from "./query_pipeline.js"; import {SerializationPipeline} from "./serialization_pipeline.js"; import {EventQueue} from "./event_queue.js"; import {PhysicsHooks} from "./physics_hooks.js"; -import {DebugRenderBuffers, DebugRenderPipeline} from "./debug_render_pipeline.js"; +import { + DebugRenderBuffers, + DebugRenderPipeline, +} from "./debug_render_pipeline.js"; import { KinematicCharacterController, PidAxesMask, From bd081fc144e9e073fc128aa5f88911ca1902c977 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Sat, 20 Sep 2025 18:42:03 -0700 Subject: [PATCH 3/6] the prepare_all_projects.sh script updated Cargo.lock, committing changes --- Cargo.lock | 40 +++++++++++++--------------------------- 1 file changed, 13 insertions(+), 27 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b3a72621..59f7c607 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -406,25 +406,11 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "dimforge_rapier3d-simd" -version = "0.19.0" -dependencies = [ - "bincode", - "js-sys", - "nalgebra", - "palette", - "rapier3d", - "ref-cast", - "serde", - "wasm-bindgen", -] - [[package]] name = "downcast-rs" -version = "2.0.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea8a8b81cacc08888170eef4d13b775126db426d0b348bee9d18c2c1eaf123cf" +checksum = "117240f60069e65410b3ae1bb213295bd828f707b5bec6596a1afc8793ce0cbc" [[package]] name = "either" @@ -578,9 +564,9 @@ checksum = "8babf46d4c1c9d92deac9f7be466f76dfc4482b6452fc5024b5e8daf6ffeb3ee" [[package]] name = "glam" -version = "0.30.5" +version = "0.30.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2d1aab06663bdce00d6ca5e5ed586ec8d18033a771906c993a1e3755b368d85" +checksum = "34e4649b62c21fb8c737abe6449192ce96ecd16b5c0d606759fe43831b31bd95" [[package]] name = "globset" @@ -703,9 +689,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.10.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" +checksum = "206a8042aec68fa4a62e8d3f7aa4ceb508177d9324faf261e1959e495b7a1921" dependencies = [ "equivalent", "hashbrown 0.15.5", @@ -776,9 +762,9 @@ checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "nalgebra" -version = "0.34.0" +version = "0.34.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cd59afb6639828b33677758314a4a1a745c15c02bc597095b851c8fd915cf49" +checksum = "c4d5b3eff5cd580f93da45e64715e8c20a3996342f1e466599cf7a267a0c2f5f" dependencies = [ "approx", "glam 0.14.0", @@ -796,7 +782,7 @@ dependencies = [ "glam 0.27.0", "glam 0.28.0", "glam 0.29.3", - "glam 0.30.5", + "glam 0.30.7", "matrixmultiply", "nalgebra-macros", "num-complex", @@ -965,7 +951,6 @@ dependencies = [ "either", "ena", "foldhash 0.2.0", - "glam 0.30.5", "hashbrown 0.16.0", "indexmap", "log", @@ -1236,7 +1221,6 @@ dependencies = [ "simba", "static_assertions", "thiserror", - "vec_map", "web-time", "wide", ] @@ -1442,9 +1426,9 @@ checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "spade" -version = "2.14.0" +version = "2.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a14e31a007e9f85c32784b04f89e6e194bb252a4d41b4a8ccd9e77245d901c8c" +checksum = "fb313e1c8afee5b5647e00ee0fe6855e3d529eb863a0fdae1d60006c4d1e9990" dependencies = [ "hashbrown 0.15.5", "num-traits", @@ -1697,6 +1681,8 @@ dependencies = [ [[package]] name = "wide" version = "0.7.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce5da8ecb62bcd8ec8b7ea19f69a51275e91299be594ea5cc6ef7819e16cd03" dependencies = [ "bytemuck", "safe_arch", From 64fb5032e74a605763b1a64982fbc42a074cdfbc Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Sat, 20 Sep 2025 18:53:07 -0700 Subject: [PATCH 4/6] undo a couple dumb Copilot (Claude) changes --- src.ts/control/character_controller.ts | 6 +++--- src.ts/pipeline/physics_pipeline.ts | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src.ts/control/character_controller.ts b/src.ts/control/character_controller.ts index b38b91ce..dcaea548 100644 --- a/src.ts/control/character_controller.ts +++ b/src.ts/control/character_controller.ts @@ -4,11 +4,11 @@ import { } from "../raw.js"; import {Rotation, Vector, VectorOps} from "../math.js"; import { + BroadPhase, Collider, - ColliderDesc, - ColliderHandle, + ColliderSet, InteractionGroups, - QueryFilterFlags, + NarrowPhase, Shape, } from "../geometry/index.js"; import {QueryFilterFlags, World} from "../pipeline/index.js"; diff --git a/src.ts/pipeline/physics_pipeline.ts b/src.ts/pipeline/physics_pipeline.ts index 4530370a..6e0a3c81 100644 --- a/src.ts/pipeline/physics_pipeline.ts +++ b/src.ts/pipeline/physics_pipeline.ts @@ -11,7 +11,8 @@ import { } from "../dynamics/index.js"; import { BroadPhase, - BroadPhaseMultiSap, + ColliderHandle, + ColliderSet, NarrowPhase, } from "../geometry/index.js"; import {EventQueue} from "./event_queue.js"; From 6dcdd8a6cea3690f60d2ebd70f557118644eb66e Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Sat, 20 Sep 2025 18:54:48 -0700 Subject: [PATCH 5/6] add .js extensions to three.js imports --- testbed3d/src/Graphics.ts | 2 +- testbed3d/src/demos/glbToTrimesh.ts | 2 +- testbed3d/src/demos/glbtoConvexHull.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/testbed3d/src/Graphics.ts b/testbed3d/src/Graphics.ts index f52d6c96..be199ccf 100644 --- a/testbed3d/src/Graphics.ts +++ b/testbed3d/src/Graphics.ts @@ -1,5 +1,5 @@ import * as THREE from "three"; -import {OrbitControls} from "three/examples/jsm/controls/OrbitControls"; +import {OrbitControls} from "three/examples/jsm/controls/OrbitControls.js"; import RAPIER from "@dimforge/rapier3d"; const BOX_INSTANCE_INDEX = 0; diff --git a/testbed3d/src/demos/glbToTrimesh.ts b/testbed3d/src/demos/glbToTrimesh.ts index d53d571f..30de1194 100644 --- a/testbed3d/src/demos/glbToTrimesh.ts +++ b/testbed3d/src/demos/glbToTrimesh.ts @@ -1,6 +1,6 @@ import type {Testbed} from "../Testbed.js"; import {Vector3, Object3D, Mesh, BufferGeometry, BufferAttribute} from "three"; -import {GLTFLoader} from "three/examples/jsm/loaders/GLTFLoader"; +import {GLTFLoader} from "three/examples/jsm/loaders/GLTFLoader.js"; type RAPIER_API = typeof import("@dimforge/rapier3d"); export function initWorld(RAPIER: RAPIER_API, testbed: Testbed) { diff --git a/testbed3d/src/demos/glbtoConvexHull.ts b/testbed3d/src/demos/glbtoConvexHull.ts index 27ea1625..9f36beeb 100644 --- a/testbed3d/src/demos/glbtoConvexHull.ts +++ b/testbed3d/src/demos/glbtoConvexHull.ts @@ -7,7 +7,7 @@ import { BufferAttribute, TriangleStripDrawMode, } from "three"; -import {GLTFLoader} from "three/examples/jsm/loaders/GLTFLoader"; +import {GLTFLoader} from "three/examples/jsm/loaders/GLTFLoader.js"; type RAPIER_API = typeof import("@dimforge/rapier3d"); export function initWorld(RAPIER: RAPIER_API, testbed: Testbed) { From 6abba046ea3979695ea832fecddda1d29b713683 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Sat, 20 Sep 2025 19:01:36 -0700 Subject: [PATCH 6/6] running ./builds/prepare_builds/prepare_all_projects.sh modified Cargo.toml yet again (although it failed to build Wasm stuff), committing changes --- Cargo.lock | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index 59f7c607..1a33a784 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -406,6 +406,20 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "dimforge_rapier3d-simd" +version = "0.19.0" +dependencies = [ + "bincode", + "js-sys", + "nalgebra", + "palette", + "rapier3d", + "ref-cast", + "serde", + "wasm-bindgen", +] + [[package]] name = "downcast-rs" version = "2.0.2" @@ -951,6 +965,7 @@ dependencies = [ "either", "ena", "foldhash 0.2.0", + "glam 0.30.7", "hashbrown 0.16.0", "indexmap", "log", @@ -1221,6 +1236,7 @@ dependencies = [ "simba", "static_assertions", "thiserror", + "vec_map", "web-time", "wide", ]