diff --git a/Cargo.lock b/Cargo.lock index b3a7262..1a33a78 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -422,9 +422,9 @@ dependencies = [ [[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 +578,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 +703,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 +776,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 +796,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 +965,7 @@ dependencies = [ "either", "ena", "foldhash 0.2.0", - "glam 0.30.5", + "glam 0.30.7", "hashbrown 0.16.0", "indexmap", "log", @@ -1442,9 +1442,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 +1697,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", diff --git a/rapier-compat/src2d/init.ts b/rapier-compat/src2d/init.ts index 668bfe1..749ff2a 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 15b14ad..e89272b 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 45a3bb7..0703dfe 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 e0ddd54..d4c874c 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 a756056..0f36120 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 2ff194c..98f1e5f 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 8e53639..dcaea54 100644 --- a/src.ts/control/character_controller.ts +++ b/src.ts/control/character_controller.ts @@ -1,5 +1,8 @@ -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, @@ -7,9 +10,13 @@ import { InteractionGroups, NarrowPhase, 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 43e495a..be47bc0 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 52b2f00..91a547c 100644 --- a/src.ts/control/pid_controller.ts +++ b/src.ts/control/pid_controller.ts @@ -1,8 +1,17 @@ -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 fa65b3e..5bfe40c 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 7f79422..7c7ac17 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 0c637dd..0611148 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 2d38251..47bc9cf 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 4141658..f223b2c 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 b7253e2..b1b0e83 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 65ed21d..15334a1 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 5608aec..e6d2ede 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 2fbb340..090d21a 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 8f52dbe..f15c34d 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 4c2e47b..d2eed81 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 237bd54..d16e564 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 addaee9..c4391fd 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 2581736..1f252f9 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 832b837..9253df1 100644 --- a/src.ts/geometry/collider_set.ts +++ b/src.ts/geometry/collider_set.ts @@ -1,9 +1,13 @@ -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 802f57f..aa469df 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 1bd19e5..c0b44f0 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 af04a22..63aacac 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 d272b7e..eeda59d 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 36df5ee..d40c73a 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 f354698..1ba3f48 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 ade13f1..bda43b6 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 ebca392..9467577 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 bf0d705..82d1a6a 100644 --- a/src.ts/pipeline/debug_render_pipeline.ts +++ b/src.ts/pipeline/debug_render_pipeline.ts @@ -1,14 +1,19 @@ -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 e39c158..0ecd91d 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 092c1a5..818cf76 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 20e12ad..e680bd4 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 a331920..6e0a3c8 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,15 @@ import { RigidBodySet, CCDSolver, IslandManager, -} from "../dynamics"; +} from "../dynamics/index.js"; import { BroadPhase, ColliderHandle, ColliderSet, 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 5610ff3..dda7288 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,13 @@ 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 87fde39..2c10201 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 9ee8561..4047687 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,26 @@ 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 dbf4d05..7afc45f 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 a410607..984ba1f 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 61279ab..ffc804f 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 7877db1..3c51542 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 5116361..c75470c 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 6edad20..9cce475 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 5214b48..e5c3386 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 d055499..fe2c706 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 6ca57c0..a338442 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 8600f95..09f88e7 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 fac2a7c..372a3ec 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 47d8254..c4b09c6 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 2d7923f..2bd7217 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 6a6fc36..100ad37 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 24bd18f..1491faf 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/Graphics.ts b/testbed3d/src/Graphics.ts index f52d6c9..be199cc 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/Gui.ts b/testbed3d/src/Gui.ts index e89b2f4..abe468c 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 5d3afd8..8ed485f 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 823c901..8bcfac2 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 2406ebc..950c0a3 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 49c9ddb..d89ebb2 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 0ec4b90..d01b1ec 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 c6295f6..4e834ee 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 00d8dce..96a6c7c 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 fa65a7c..30de119 100644 --- a/testbed3d/src/demos/glbToTrimesh.ts +++ b/testbed3d/src/demos/glbToTrimesh.ts @@ -1,6 +1,6 @@ -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"; +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 a4d2619..9f36bee 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, @@ -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) { diff --git a/testbed3d/src/demos/heightfield.ts b/testbed3d/src/demos/heightfield.ts index 5a2feec..1ac6320 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 56546d7..32b4219 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 d4e27cb..3c92ef5 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 e3b4c53..5d2b4bd 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 ea3e128..2518a74 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 fe51d9a..cfd7192 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 9a63e47..0ef2ce9 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 5a50bd3..d9c706f 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 936b873..d10c1cb 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 accfad5..de679ff 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([