@woosh/meep-engine 2.139.0 → 2.140.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_overlaps_aabb.d.ts +3 -3
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_overlaps_aabb.d.ts.map +1 -1
- package/src/core/bvh2/bvh3/query/bvh_query_user_data_overlaps_aabb.js +4 -4
- package/src/{engine/physics/broadphase/aabb_transform_oriented.d.ts → core/geom/3d/aabb/aabb3_transform_oriented.d.ts} +2 -2
- package/src/core/geom/3d/aabb/aabb3_transform_oriented.d.ts.map +1 -0
- package/src/{engine/physics/broadphase/aabb_transform_oriented.js → core/geom/3d/aabb/aabb3_transform_oriented.js} +1 -1
- package/src/core/geom/3d/quaternion/quat3_to_matrix3.d.ts +54 -0
- package/src/core/geom/3d/quaternion/quat3_to_matrix3.d.ts.map +1 -0
- package/src/core/geom/3d/quaternion/quat3_to_matrix3.js +69 -0
- package/src/core/geom/3d/shape/AbstractShape3D.d.ts +24 -2
- package/src/core/geom/3d/shape/AbstractShape3D.d.ts.map +1 -1
- package/src/core/geom/3d/shape/AbstractShape3D.js +24 -1
- package/src/core/geom/3d/shape/HeightMapShape3D.d.ts +148 -0
- package/src/core/geom/3d/shape/HeightMapShape3D.d.ts.map +1 -0
- package/src/core/geom/3d/shape/HeightMapShape3D.js +451 -0
- package/src/core/geom/3d/shape/MeshShape3D.d.ts +210 -0
- package/src/core/geom/3d/shape/MeshShape3D.d.ts.map +1 -0
- package/src/core/geom/3d/shape/MeshShape3D.js +593 -0
- package/src/core/geom/3d/shape/TransformedShape3D.d.ts.map +1 -1
- package/src/core/geom/3d/shape/TransformedShape3D.js +46 -2
- package/src/core/geom/3d/shape/Triangle3D.d.ts +95 -0
- package/src/core/geom/3d/shape/Triangle3D.d.ts.map +1 -0
- package/src/core/geom/3d/shape/Triangle3D.js +318 -0
- package/src/core/geom/3d/shape/UnionShape3D.js +13 -0
- package/src/core/geom/3d/shape/shape_mesh_from_geometry.d.ts +30 -0
- package/src/core/geom/3d/shape/shape_mesh_from_geometry.d.ts.map +1 -0
- package/src/core/geom/3d/shape/shape_mesh_from_geometry.js +64 -0
- package/src/core/geom/3d/tetrahedra/prototype_tetrahedrize_mesh.js +9 -11
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_build_vertex_to_tets_map.d.ts +28 -0
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_build_vertex_to_tets_map.d.ts.map +1 -0
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_build_vertex_to_tets_map.js +48 -0
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_improve_quality.d.ts.map +1 -1
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_improve_quality.js +40 -18
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_smooth_vertex.d.ts +9 -5
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_smooth_vertex.d.ts.map +1 -1
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_smooth_vertex.js +38 -10
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_vertex_is_boundary.d.ts +14 -5
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_vertex_is_boundary.d.ts.map +1 -1
- package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_vertex_is_boundary.js +47 -5
- package/src/core/geom/3d/topology/struct/binary/BinaryElementPool.d.ts +19 -0
- package/src/core/geom/3d/topology/struct/binary/BinaryElementPool.d.ts.map +1 -1
- package/src/core/geom/3d/topology/struct/binary/BinaryElementPool.js +75 -13
- package/src/core/geom/3d/triangle/v3_compute_triangle_normal.d.ts +2 -2
- package/src/core/geom/3d/triangle/v3_compute_triangle_normal.d.ts.map +1 -1
- package/src/core/geom/3d/triangle/v3_compute_triangle_normal.js +1 -1
- package/src/core/geom/vec3/v3_dot_array_array.d.ts +3 -3
- package/src/core/geom/vec3/v3_dot_array_array.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_dot_array_array.js +2 -2
- package/src/core/geom/vec3/v3_negate_array.d.ts +3 -3
- package/src/core/geom/vec3/v3_negate_array.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_negate_array.js +2 -2
- package/src/core/geom/vec3/v3_quat3_apply.d.ts +29 -0
- package/src/core/geom/vec3/v3_quat3_apply.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_quat3_apply.js +39 -0
- package/src/core/geom/vec3/v3_quat3_apply_inverse.d.ts +30 -0
- package/src/core/geom/vec3/v3_quat3_apply_inverse.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_quat3_apply_inverse.js +41 -0
- package/src/core/geom/vec3/v3_triple_cross_product.d.ts +32 -0
- package/src/core/geom/vec3/v3_triple_cross_product.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_triple_cross_product.js +45 -0
- package/src/engine/control/first-person/FirstPersonPlayerController.d.ts +16 -3
- package/src/engine/control/first-person/FirstPersonPlayerController.d.ts.map +1 -1
- package/src/engine/control/first-person/FirstPersonPlayerController.js +211 -211
- package/src/engine/control/first-person/FirstPersonPlayerControllerConfig.d.ts +72 -8
- package/src/engine/control/first-person/FirstPersonPlayerControllerConfig.d.ts.map +1 -1
- package/src/engine/control/first-person/FirstPersonPlayerControllerConfig.js +37 -5
- package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts +101 -3
- package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts.map +1 -1
- package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.js +1789 -1416
- package/src/engine/control/first-person/TODO.md +173 -127
- package/src/engine/control/first-person/abilities/Slide.d.ts.map +1 -1
- package/src/engine/control/first-person/abilities/Slide.js +9 -1
- package/src/engine/control/first-person/prototype_first_person_controller.js +88 -2
- package/src/engine/control/first-person/test/buildTestPlayer.d.ts.map +1 -1
- package/src/engine/control/first-person/test/buildTestPlayer.js +9 -1
- package/src/engine/graphics/geometry/CapsuleGeometry.d.ts +42 -0
- package/src/engine/graphics/geometry/CapsuleGeometry.d.ts.map +1 -0
- package/src/engine/graphics/geometry/CapsuleGeometry.js +171 -0
- package/src/engine/physics/BULLET_REVIEW.md +945 -0
- package/src/engine/physics/CANNON_REVIEW.md +1300 -0
- package/src/engine/physics/JOLT_REVIEW.md +913 -0
- package/src/engine/physics/PLAN.md +461 -236
- package/src/engine/physics/RAPIER_REVIEW.md +934 -0
- package/src/engine/physics/REVIEW_001_ACTION_PLAN.md +642 -0
- package/src/engine/physics/broadphase/compute_fat_world_aabb.js +2 -2
- package/src/engine/physics/contact/ManifoldStore.d.ts +83 -10
- package/src/engine/physics/contact/ManifoldStore.d.ts.map +1 -1
- package/src/engine/physics/contact/ManifoldStore.js +608 -499
- package/src/engine/physics/ecs/ColliderObserverSystem.d.ts +2 -2
- package/src/engine/physics/ecs/ColliderObserverSystem.d.ts.map +1 -1
- package/src/engine/physics/ecs/PhysicsSystem.d.ts +128 -20
- package/src/engine/physics/ecs/PhysicsSystem.d.ts.map +1 -1
- package/src/engine/physics/ecs/PhysicsSystem.js +1301 -1159
- package/src/engine/physics/fluid/FluidSimulator.d.ts.map +1 -1
- package/src/engine/physics/fluid/FluidSimulator.js +2 -1
- package/src/engine/physics/fluid/solver/v3_grid_subtract_pressure_gradient.d.ts +28 -6
- package/src/engine/physics/fluid/solver/v3_grid_subtract_pressure_gradient.d.ts.map +1 -1
- package/src/engine/physics/fluid/solver/v3_grid_subtract_pressure_gradient.js +39 -17
- package/src/engine/physics/gjk/expanding_polytope_algorithm.d.ts +6 -6
- package/src/engine/physics/gjk/expanding_polytope_algorithm.d.ts.map +1 -1
- package/src/engine/physics/gjk/expanding_polytope_algorithm.js +68 -22
- package/src/engine/physics/gjk/gjk.d.ts +28 -2
- package/src/engine/physics/gjk/gjk.d.ts.map +1 -1
- package/src/engine/physics/gjk/gjk.js +421 -378
- package/src/engine/physics/gjk/minkowski_support.d.ts +37 -0
- package/src/engine/physics/gjk/minkowski_support.d.ts.map +1 -0
- package/src/engine/physics/gjk/minkowski_support.js +75 -0
- package/src/engine/physics/gjk/mpr.d.ts +56 -0
- package/src/engine/physics/gjk/mpr.d.ts.map +1 -0
- package/src/engine/physics/gjk/mpr.js +344 -0
- package/src/engine/physics/inertia/world_inverse_inertia.d.ts +20 -5
- package/src/engine/physics/inertia/world_inverse_inertia.d.ts.map +1 -1
- package/src/engine/physics/inertia/world_inverse_inertia.js +36 -38
- package/src/engine/physics/integration/integrate_position.d.ts +25 -7
- package/src/engine/physics/integration/integrate_position.d.ts.map +1 -1
- package/src/engine/physics/integration/integrate_position.js +43 -12
- package/src/engine/physics/integration/integrate_velocity.d.ts +30 -0
- package/src/engine/physics/integration/integrate_velocity.d.ts.map +1 -1
- package/src/engine/physics/integration/integrate_velocity.js +82 -1
- package/src/engine/physics/narrowphase/PosedShape.d.ts +0 -8
- package/src/engine/physics/narrowphase/PosedShape.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/PosedShape.js +28 -30
- package/src/engine/physics/narrowphase/box_box_manifold.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/box_box_manifold.js +113 -17
- package/src/engine/physics/narrowphase/box_triangle_contact.d.ts +30 -0
- package/src/engine/physics/narrowphase/box_triangle_contact.d.ts.map +1 -0
- package/src/engine/physics/narrowphase/box_triangle_contact.js +811 -0
- package/src/engine/physics/narrowphase/capsule_contacts.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/capsule_contacts.js +10 -56
- package/src/engine/physics/narrowphase/capsule_triangle_contact.d.ts +71 -0
- package/src/engine/physics/narrowphase/capsule_triangle_contact.d.ts.map +1 -0
- package/src/engine/physics/narrowphase/capsule_triangle_contact.js +375 -0
- package/src/engine/physics/narrowphase/compute_penetration.d.ts +91 -0
- package/src/engine/physics/narrowphase/compute_penetration.d.ts.map +1 -0
- package/src/engine/physics/narrowphase/compute_penetration.js +396 -0
- package/src/engine/physics/narrowphase/decomposition/aabb_world_to_local.d.ts +35 -0
- package/src/engine/physics/narrowphase/decomposition/aabb_world_to_local.d.ts.map +1 -0
- package/src/engine/physics/narrowphase/decomposition/aabb_world_to_local.js +80 -0
- package/src/engine/physics/narrowphase/decomposition/decompose_to_triangles.d.ts +31 -0
- package/src/engine/physics/narrowphase/decomposition/decompose_to_triangles.d.ts.map +1 -0
- package/src/engine/physics/narrowphase/decomposition/decompose_to_triangles.js +55 -0
- package/src/engine/physics/narrowphase/decomposition/heightmap_enumerate_triangles.d.ts +42 -0
- package/src/engine/physics/narrowphase/decomposition/heightmap_enumerate_triangles.d.ts.map +1 -0
- package/src/engine/physics/narrowphase/decomposition/heightmap_enumerate_triangles.js +204 -0
- package/src/engine/physics/narrowphase/decomposition/mesh_enumerate_triangles.d.ts +42 -0
- package/src/engine/physics/narrowphase/decomposition/mesh_enumerate_triangles.d.ts.map +1 -0
- package/src/engine/physics/narrowphase/decomposition/mesh_enumerate_triangles.js +94 -0
- package/src/engine/physics/narrowphase/decomposition/triangle_buffer_layout.d.ts +37 -0
- package/src/engine/physics/narrowphase/decomposition/triangle_buffer_layout.d.ts.map +1 -0
- package/src/engine/physics/narrowphase/decomposition/triangle_buffer_layout.js +37 -0
- package/src/engine/physics/narrowphase/narrowphase_step.d.ts +8 -2
- package/src/engine/physics/narrowphase/narrowphase_step.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/narrowphase_step.js +1422 -382
- package/src/engine/physics/narrowphase/sphere_box_contact.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/sphere_box_contact.js +16 -23
- package/src/engine/physics/narrowphase/sphere_triangle_contact.d.ts +48 -0
- package/src/engine/physics/narrowphase/sphere_triangle_contact.d.ts.map +1 -0
- package/src/engine/physics/narrowphase/sphere_triangle_contact.js +143 -0
- package/src/engine/physics/queries/overlap_shape.d.ts +51 -0
- package/src/engine/physics/queries/overlap_shape.d.ts.map +1 -0
- package/src/engine/physics/queries/overlap_shape.js +183 -0
- package/src/engine/physics/queries/shape_cast.d.ts +56 -0
- package/src/engine/physics/queries/shape_cast.d.ts.map +1 -0
- package/src/engine/physics/queries/shape_cast.js +387 -0
- package/src/engine/physics/solver/solve_contacts.d.ts +116 -30
- package/src/engine/physics/solver/solve_contacts.d.ts.map +1 -1
- package/src/engine/physics/solver/solve_contacts.js +641 -223
- package/src/engine/physics/broadphase/aabb_transform_oriented.d.ts.map +0 -1
- package/src/engine/physics/fluid/solver/v3_grid_solve_pressure_unmasked_legacy.d.ts +0 -20
- package/src/engine/physics/fluid/solver/v3_grid_solve_pressure_unmasked_legacy.d.ts.map +0 -1
- package/src/engine/physics/fluid/solver/v3_grid_solve_pressure_unmasked_legacy.js +0 -83
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
export class FirstPersonPlayerControllerSystem extends System<any, any, any, any, any> {
|
|
20
20
|
constructor();
|
|
21
21
|
dependencies: (typeof Transform | typeof FirstPersonPlayerController)[];
|
|
22
|
-
components_used: (ResourceAccessSpecification<typeof
|
|
22
|
+
components_used: (ResourceAccessSpecification<typeof RigidBody> | ResourceAccessSpecification<typeof Transform> | ResourceAccessSpecification<typeof Camera>)[];
|
|
23
23
|
/**
|
|
24
24
|
* Per-entity runtime, keyed by entity id.
|
|
25
25
|
* @type {Map<number, PerEntityRuntime>}
|
|
@@ -55,6 +55,16 @@ export class FirstPersonPlayerControllerSystem extends System<any, any, any, any
|
|
|
55
55
|
* @type {((x:number, y:number, z:number) => number|null) | null}
|
|
56
56
|
*/
|
|
57
57
|
groundResolver: (x: number, y: number, z: number) => number | null;
|
|
58
|
+
/**
|
|
59
|
+
* PhysicsSystem reference used by {@link _moveAndSlide}. Auto-
|
|
60
|
+
* acquired at startup; can be overridden by the caller. When
|
|
61
|
+
* null (no physics in the world), move-and-slide degrades to a
|
|
62
|
+
* direct position add — useful for spec setups that don't wire
|
|
63
|
+
* physics.
|
|
64
|
+
* @type {PhysicsSystem|null}
|
|
65
|
+
*/
|
|
66
|
+
physicsSystem: PhysicsSystem | null;
|
|
67
|
+
startup(entityManager: any): Promise<void>;
|
|
58
68
|
/**
|
|
59
69
|
* @param {FirstPersonPlayerController} controller
|
|
60
70
|
* @param {Transform} bodyTransform
|
|
@@ -91,7 +101,23 @@ export class FirstPersonPlayerControllerSystem extends System<any, any, any, any
|
|
|
91
101
|
* @param {PerEntityRuntime} runtime
|
|
92
102
|
* @returns {boolean}
|
|
93
103
|
*/
|
|
94
|
-
|
|
104
|
+
/**
|
|
105
|
+
* Swap {@link Collider.shape} to the pre-built capsule that matches
|
|
106
|
+
* the player's current posture. Cheap — just a reference swap when
|
|
107
|
+
* the posture changed, no-op otherwise. The pre-built shapes live
|
|
108
|
+
* on the runtime (see {@link PerEntityRuntime.colliderShapeStand}
|
|
109
|
+
* etc.) so this method allocates nothing per tick.
|
|
110
|
+
*
|
|
111
|
+
* Hang posture reuses Stand: the player's body is full-extent,
|
|
112
|
+
* hanging below the ledge — the rig handles the arms-up animation,
|
|
113
|
+
* but the collision volume is unchanged. If a game ever wants a
|
|
114
|
+
* narrower hang silhouette (e.g. wedging into a chimney) it can
|
|
115
|
+
* add a `colliderShapeHang` and route here.
|
|
116
|
+
*
|
|
117
|
+
* @private
|
|
118
|
+
*/
|
|
119
|
+
private _syncColliderShape;
|
|
120
|
+
_resolveCrouchHeld(controller: any, runtime: any): any;
|
|
95
121
|
/**
|
|
96
122
|
* Jump finite-state-machine: button-edge detection, buffer + coyote
|
|
97
123
|
* grace, anticipation timer, impulse on completion. Variable-height
|
|
@@ -105,6 +131,40 @@ export class FirstPersonPlayerControllerSystem extends System<any, any, any, any
|
|
|
105
131
|
* @param {number} dt
|
|
106
132
|
*/
|
|
107
133
|
private _advanceJumpFsm;
|
|
134
|
+
/**
|
|
135
|
+
* Sweep the player's collider along (dx, dy, dz) via
|
|
136
|
+
* {@link PhysicsSystem.shapeCast} and translate the Transform up to
|
|
137
|
+
* (but not past) the first contact. Prevents tunneling through
|
|
138
|
+
* static geometry and creep-penetration over many ticks.
|
|
139
|
+
*
|
|
140
|
+
* v1 limitations:
|
|
141
|
+
* - The broadphase shape-cast returns the back-along-the-sweep
|
|
142
|
+
* normal (`−direction`), not the true surface normal. With
|
|
143
|
+
* that, the principled "slide along the surface" residual is
|
|
144
|
+
* `delta -= dot(delta, n)·n = 0` — i.e. the player stops at
|
|
145
|
+
* contact instead of sliding tangent to the wall. Once
|
|
146
|
+
* narrowphase refinement lands and `result.normal` becomes the
|
|
147
|
+
* true surface normal, the same residual computation will
|
|
148
|
+
* naturally produce sliding without an API change.
|
|
149
|
+
* - SKIN clearance (5 mm) keeps the player just shy of the wall
|
|
150
|
+
* so the next cast doesn't start with the capsule already in
|
|
151
|
+
* contact. Picking this too small risks GJK reporting `t = 0`
|
|
152
|
+
* and the player getting stuck; too large is visible as a gap.
|
|
153
|
+
*
|
|
154
|
+
* Falls through to a direct position add when the host hasn't
|
|
155
|
+
* wired a {@link PhysicsSystem} — useful for spec setups that
|
|
156
|
+
* don't bring physics up.
|
|
157
|
+
*
|
|
158
|
+
* @private
|
|
159
|
+
* @param {PerEntityRuntime} runtime
|
|
160
|
+
* @param {Transform} bodyTransform
|
|
161
|
+
* @param {number} deltaX
|
|
162
|
+
* @param {number} deltaY
|
|
163
|
+
* @param {number} deltaZ
|
|
164
|
+
* @returns {boolean} true if a contact occurred (and the sweep was
|
|
165
|
+
* truncated); false on a clean full advance.
|
|
166
|
+
*/
|
|
167
|
+
private _moveAndSlide;
|
|
108
168
|
/**
|
|
109
169
|
* Gravity (with fall and cut multipliers), vertical integration,
|
|
110
170
|
* built-in flat-floor resolution (land event + impulse), and jump-apex
|
|
@@ -178,9 +238,9 @@ export class FirstPersonPlayerControllerSystem extends System<any, any, any, any
|
|
|
178
238
|
import { System } from "../../ecs/System.js";
|
|
179
239
|
import { Transform } from "../../ecs/transform/Transform.js";
|
|
180
240
|
import { FirstPersonPlayerController } from "./FirstPersonPlayerController.js";
|
|
241
|
+
import { RigidBody } from "../../physics/ecs/RigidBody.js";
|
|
181
242
|
import { ResourceAccessSpecification } from "../../../core/model/ResourceAccessSpecification.js";
|
|
182
243
|
import { Camera } from "../../graphics/ecs/camera/Camera.js";
|
|
183
|
-
import { RigidBody } from "../../physics/ecs/RigidBody.js";
|
|
184
244
|
/**
|
|
185
245
|
* Per-entity runtime state the system maintains internally — too transient
|
|
186
246
|
* even for {@link FirstPersonPlayerController}'s `state` member, because it
|
|
@@ -197,6 +257,42 @@ declare class PerEntityRuntime {
|
|
|
197
257
|
* @type {RigidBody|null}
|
|
198
258
|
*/
|
|
199
259
|
rigidBody: RigidBody | null;
|
|
260
|
+
/**
|
|
261
|
+
* Co-attached collider, cached at link. Same source the physics
|
|
262
|
+
* narrowphase uses, so move-and-slide casts the player's
|
|
263
|
+
* actual collision shape against the world.
|
|
264
|
+
* @type {Collider|null}
|
|
265
|
+
*/
|
|
266
|
+
collider: Collider | null;
|
|
267
|
+
/**
|
|
268
|
+
* Pre-allocated move-and-slide scratch — Ray3 and PhysicsSurfacePoint
|
|
269
|
+
* reused per cast so the controller doesn't churn the allocator
|
|
270
|
+
* each fixed step. Lazily filled by {@link _moveAndSlide}.
|
|
271
|
+
* @private
|
|
272
|
+
* @type {Ray3|null}
|
|
273
|
+
*/
|
|
274
|
+
private slideRay;
|
|
275
|
+
/** @private @type {PhysicsSurfacePoint|null} */
|
|
276
|
+
private slideHit;
|
|
277
|
+
/**
|
|
278
|
+
* Pre-built capsule colliders, one per posture. Cached at link
|
|
279
|
+
* from `config.body.{height, crouchHeight, proneHeight, radius}`
|
|
280
|
+
* so {@link _syncColliderShape} can swap the collider's shape on
|
|
281
|
+
* a posture change with zero per-tick allocation. Hang reuses
|
|
282
|
+
* Stand (the player's body is full-extent, just hanging below
|
|
283
|
+
* the ledge — the rig animates the arms-up pose). Sentinel
|
|
284
|
+
* `lastPosture = -1` forces a sync on the first tick after
|
|
285
|
+
* link, so the initial shape always matches Stand.
|
|
286
|
+
* @private
|
|
287
|
+
* @type {TransformedShape3D|null}
|
|
288
|
+
*/
|
|
289
|
+
private colliderShapeStand;
|
|
290
|
+
/** @private @type {TransformedShape3D|null} */
|
|
291
|
+
private colliderShapeCrouch;
|
|
292
|
+
/** @private @type {TransformedShape3D|null} */
|
|
293
|
+
private colliderShapeProne;
|
|
294
|
+
/** @private */
|
|
295
|
+
private lastPosture;
|
|
200
296
|
/** Eye pitch in radians, clamped to config.look limits. */
|
|
201
297
|
eyePitch: number;
|
|
202
298
|
/** Body yaw in radians (around world up). */
|
|
@@ -342,6 +438,8 @@ declare class PerEntityRuntime {
|
|
|
342
438
|
/** Cached eye entity ID. -1 until link assigns it. */
|
|
343
439
|
eyeEntity: number;
|
|
344
440
|
}
|
|
441
|
+
import { PhysicsSystem } from "../../physics/ecs/PhysicsSystem.js";
|
|
442
|
+
import { Collider } from "../../physics/ecs/Collider.js";
|
|
345
443
|
import { Spring } from "./math/Spring.js";
|
|
346
444
|
import { EyeOffsetStack } from "./composer/EyeOffsetStack.js";
|
|
347
445
|
import { FirstPersonSensors } from "./sensors/FirstPersonSensors.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirstPersonPlayerControllerSystem.d.ts","sourceRoot":"","sources":["../../../../../src/engine/control/first-person/FirstPersonPlayerControllerSystem.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FirstPersonPlayerControllerSystem.d.ts","sourceRoot":"","sources":["../../../../../src/engine/control/first-person/FirstPersonPlayerControllerSystem.js"],"names":[],"mappings":"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"}
|