@woosh/meep-engine 2.146.0 → 2.148.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/math/spline/spline3_hermite_intersection_spline3_hermite.d.ts +4 -4
- package/src/core/math/spline/spline3_hermite_intersection_spline3_hermite.d.ts.map +1 -1
- package/src/core/math/spline/spline3_hermite_intersection_spline3_hermite.js +48 -52
- package/src/core/math/spline/spline3_hermite_intersection_spline3_hermite_2d.d.ts +23 -21
- package/src/core/math/spline/spline3_hermite_intersection_spline3_hermite_2d.d.ts.map +1 -1
- package/src/core/math/spline/spline3_hermite_intersection_spline3_hermite_2d.js +41 -406
- package/src/core/math/spline/spline3_hermite_intersection_spline3_hermite_nd.d.ts +5 -4
- package/src/core/math/spline/spline3_hermite_intersection_spline3_hermite_nd.d.ts.map +1 -1
- package/src/core/math/spline/spline3_hermite_intersection_spline3_hermite_nd.js +400 -395
- package/src/engine/control/first-person/FirstPersonPlayerController.d.ts +0 -11
- package/src/engine/control/first-person/FirstPersonPlayerController.d.ts.map +1 -1
- package/src/engine/control/first-person/FirstPersonPlayerControllerConfig.d.ts +8 -6
- package/src/engine/control/first-person/FirstPersonPlayerControllerConfig.d.ts.map +1 -1
- package/src/engine/control/first-person/FirstPersonPlayerControllerConfig.js +552 -551
- package/src/engine/control/first-person/abilities/LedgeGrab.d.ts +8 -3
- package/src/engine/control/first-person/abilities/LedgeGrab.d.ts.map +1 -1
- package/src/engine/control/first-person/abilities/LedgeGrab.js +213 -199
- package/src/engine/control/first-person/abilities/Mantle.d.ts.map +1 -1
- package/src/engine/control/first-person/abilities/Mantle.js +195 -188
- package/src/engine/control/first-person/abilities/WallRun.d.ts.map +1 -1
- package/src/engine/control/first-person/abilities/WallRun.js +183 -175
- package/src/engine/control/first-person/sensors/FirstPersonSensors.d.ts +9 -0
- package/src/engine/control/first-person/sensors/FirstPersonSensors.d.ts.map +1 -1
- package/src/engine/control/first-person/sensors/FirstPersonSensors.js +87 -77
- package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.d.ts +8 -0
- package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.d.ts.map +1 -1
- package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.js +229 -196
- package/src/engine/ecs/EntityManager.d.ts +34 -11
- package/src/engine/ecs/EntityManager.d.ts.map +1 -1
- package/src/engine/ecs/EntityManager.js +71 -42
- package/src/engine/interpolation/BinaryInterpolationAdapter.d.ts.map +1 -0
- package/src/engine/interpolation/Interpoland.d.ts +48 -0
- package/src/engine/interpolation/Interpoland.d.ts.map +1 -0
- package/src/engine/interpolation/Interpoland.js +49 -0
- package/src/engine/interpolation/Interpolated.d.ts +101 -0
- package/src/engine/interpolation/Interpolated.d.ts.map +1 -0
- package/src/engine/interpolation/Interpolated.js +149 -0
- package/src/engine/{network/sim → interpolation}/InterpolationLog.d.ts +1 -1
- package/src/engine/interpolation/InterpolationLog.d.ts.map +1 -0
- package/src/engine/{network/sim → interpolation}/InterpolationLog.js +2 -2
- package/src/engine/interpolation/InterpolationSystem.d.ts +116 -0
- package/src/engine/interpolation/InterpolationSystem.d.ts.map +1 -0
- package/src/engine/interpolation/InterpolationSystem.js +233 -0
- package/src/engine/interpolation/PoseInterpolationAdapter.d.ts +17 -0
- package/src/engine/interpolation/PoseInterpolationAdapter.d.ts.map +1 -0
- package/src/engine/interpolation/PoseInterpolationAdapter.js +61 -0
- package/src/engine/interpolation/TransformPoseSerializationAdapter.d.ts +35 -0
- package/src/engine/interpolation/TransformPoseSerializationAdapter.d.ts.map +1 -0
- package/src/engine/interpolation/TransformPoseSerializationAdapter.js +57 -0
- package/src/engine/interpolation/pose_interpoland.d.ts +18 -0
- package/src/engine/interpolation/pose_interpoland.d.ts.map +1 -0
- package/src/engine/interpolation/pose_interpoland.js +27 -0
- package/src/engine/network/NetworkSession.d.ts +2 -2
- package/src/engine/network/NetworkSession.d.ts.map +1 -1
- package/src/engine/network/NetworkSession.js +2 -2
- package/src/engine/network/adapters/QuaternionInterpolationAdapter.d.ts +1 -1
- package/src/engine/network/adapters/QuaternionInterpolationAdapter.d.ts.map +1 -1
- package/src/engine/network/adapters/QuaternionInterpolationAdapter.js +1 -1
- package/src/engine/network/adapters/TransformInterpolationAdapter.d.ts +1 -1
- package/src/engine/network/adapters/TransformInterpolationAdapter.d.ts.map +1 -1
- package/src/engine/network/adapters/TransformInterpolationAdapter.js +1 -1
- package/src/engine/network/adapters/Vector3InterpolationAdapter.d.ts +1 -1
- package/src/engine/network/adapters/Vector3InterpolationAdapter.d.ts.map +1 -1
- package/src/engine/network/adapters/Vector3InterpolationAdapter.js +1 -1
- package/src/engine/physics/INTEPOLATION_SYSTEM_PLAN.md +287 -0
- package/src/engine/physics/PLAN.md +10 -9
- package/src/engine/physics/body/SolverBodyState.d.ts +142 -0
- package/src/engine/physics/body/SolverBodyState.d.ts.map +1 -0
- package/src/engine/physics/body/SolverBodyState.js +251 -0
- package/src/engine/physics/broadphase/generate_pairs.d.ts +2 -1
- package/src/engine/physics/broadphase/generate_pairs.d.ts.map +1 -1
- package/src/engine/physics/broadphase/generate_pairs.js +5 -3
- package/src/engine/physics/constraint/solve_constraints.d.ts.map +1 -1
- package/src/engine/physics/constraint/solve_constraints.js +691 -673
- package/src/engine/physics/ecs/PhysicsSystem.d.ts +82 -15
- package/src/engine/physics/ecs/PhysicsSystem.d.ts.map +1 -1
- package/src/engine/physics/ecs/PhysicsSystem.js +387 -87
- package/src/engine/physics/inertia/world_inverse_inertia.d.ts +23 -0
- package/src/engine/physics/inertia/world_inverse_inertia.d.ts.map +1 -1
- package/src/engine/physics/inertia/world_inverse_inertia.js +116 -77
- package/src/engine/physics/integration/integrate_position.d.ts +11 -1
- package/src/engine/physics/integration/integrate_position.d.ts.map +1 -1
- package/src/engine/physics/integration/integrate_position.js +97 -79
- package/src/engine/physics/integration/integrate_velocity.d.ts +12 -3
- package/src/engine/physics/integration/integrate_velocity.d.ts.map +1 -1
- package/src/engine/physics/integration/integrate_velocity.js +201 -160
- package/src/engine/physics/narrowphase/box_box_manifold.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/box_box_manifold.js +750 -665
- package/src/engine/physics/narrowphase/box_triangle_contact.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/box_triangle_contact.js +19 -46
- package/src/engine/physics/narrowphase/clip_against_axis_uv.d.ts +16 -0
- package/src/engine/physics/narrowphase/clip_against_axis_uv.d.ts.map +1 -0
- package/src/engine/physics/narrowphase/clip_against_axis_uv.js +49 -0
- package/src/engine/physics/narrowphase/narrowphase_step.d.ts.map +1 -1
- package/src/engine/physics/narrowphase/narrowphase_step.js +52 -4
- package/src/engine/physics/queries/raycast.d.ts.map +1 -1
- package/src/engine/physics/queries/raycast.js +7 -4
- package/src/engine/physics/solver/solve_contacts.d.ts +2 -2
- package/src/engine/physics/solver/solve_contacts.d.ts.map +1 -1
- package/src/engine/physics/solver/solve_contacts.js +1341 -1173
- package/src/engine/network/sim/BinaryInterpolationAdapter.d.ts.map +0 -1
- package/src/engine/network/sim/InterpolationLog.d.ts.map +0 -1
- /package/src/engine/{network/sim → interpolation}/BinaryInterpolationAdapter.d.ts +0 -0
- /package/src/engine/{network/sim → interpolation}/BinaryInterpolationAdapter.js +0 -0
|
@@ -21,8 +21,9 @@ export class PhysicsSystem extends System<any, any, any, any, any> {
|
|
|
21
21
|
components_used: (ResourceAccessSpecification<typeof RigidBody> | ResourceAccessSpecification<typeof Collider> | ResourceAccessSpecification<typeof Transform>)[];
|
|
22
22
|
/**
|
|
23
23
|
* @type {BodyStorage}
|
|
24
|
+
* @readonly
|
|
24
25
|
*/
|
|
25
|
-
storage: BodyStorage;
|
|
26
|
+
readonly storage: BodyStorage;
|
|
26
27
|
/**
|
|
27
28
|
* @type {BVH}
|
|
28
29
|
*/
|
|
@@ -34,8 +35,9 @@ export class PhysicsSystem extends System<any, any, any, any, any> {
|
|
|
34
35
|
/**
|
|
35
36
|
* Persistent contact-manifold cache. One slot per active pair.
|
|
36
37
|
* @type {ManifoldStore}
|
|
38
|
+
* @readonly
|
|
37
39
|
*/
|
|
38
|
-
manifolds: ManifoldStore;
|
|
40
|
+
readonly manifolds: ManifoldStore;
|
|
39
41
|
/**
|
|
40
42
|
* Per-frame list of broadphase-overlapping pairs (canonical
|
|
41
43
|
* `(min, max)`). Cleared at the top of each step.
|
|
@@ -57,6 +59,17 @@ export class PhysicsSystem extends System<any, any, any, any, any> {
|
|
|
57
59
|
* @type {IslandBuilder}
|
|
58
60
|
*/
|
|
59
61
|
islands: IslandBuilder;
|
|
62
|
+
/**
|
|
63
|
+
* Data-oriented mirror of the per-body solver hot state (velocity,
|
|
64
|
+
* inverse mass / inertia, orientation), packed into one ArrayBuffer
|
|
65
|
+
* and indexed by body slot. Gathered from the `RigidBody` /
|
|
66
|
+
* `Transform` components once per step (after islands are built),
|
|
67
|
+
* mutated in place by the TGS substep loop, and the persistent
|
|
68
|
+
* velocity scattered back at the end. Keeps the solver's hottest inner
|
|
69
|
+
* loop free of component-object dereferences.
|
|
70
|
+
* @type {SolverBodyState}
|
|
71
|
+
*/
|
|
72
|
+
__solver_state: SolverBodyState;
|
|
60
73
|
/**
|
|
61
74
|
* Velocity-squared threshold below which a body is eligible to start
|
|
62
75
|
* accumulating sleep time. Combined linear + angular kinetic-ish
|
|
@@ -140,8 +153,11 @@ export class PhysicsSystem extends System<any, any, any, any, any> {
|
|
|
140
153
|
* @type {RigidBody[]}
|
|
141
154
|
*/
|
|
142
155
|
__bodies: RigidBody[];
|
|
143
|
-
/**
|
|
144
|
-
|
|
156
|
+
/**
|
|
157
|
+
* @type {Transform[]}
|
|
158
|
+
* @readonly
|
|
159
|
+
*/
|
|
160
|
+
readonly __transforms: Transform[];
|
|
145
161
|
/**
|
|
146
162
|
* Per-body list of attached colliders. Each entry stores the
|
|
147
163
|
* Collider component, its world Transform, the entity that owns
|
|
@@ -212,12 +228,22 @@ export class PhysicsSystem extends System<any, any, any, any, any> {
|
|
|
212
228
|
*/
|
|
213
229
|
__ccd_start_pos: Float64Array;
|
|
214
230
|
/**
|
|
215
|
-
*
|
|
216
|
-
*
|
|
217
|
-
*
|
|
231
|
+
* Optional shared interpolation log to produce per-step pose snapshots
|
|
232
|
+
* into (the {@link InterpolationSystem}'s log). When set — and only then —
|
|
233
|
+
* each fixedUpdate restores every awake {@link Interpolated} body's live
|
|
234
|
+
* components from the previous tick (undoing render-time interpolation so
|
|
235
|
+
* the sim reads authoritative state), then records the post-step state
|
|
236
|
+
* under the current `entityManager.fixedStepTick`. Null on a headless /
|
|
237
|
+
* non-rendering world, where the producer work is skipped entirely.
|
|
238
|
+
* @type {InterpolationLog|null}
|
|
239
|
+
*/
|
|
240
|
+
interpolationLog: InterpolationLog | null;
|
|
241
|
+
/**
|
|
242
|
+
* Reusable decode buffer for restoring interpolated snapshots.
|
|
218
243
|
* @private
|
|
244
|
+
* @type {BinaryBuffer}
|
|
219
245
|
*/
|
|
220
|
-
private
|
|
246
|
+
private __interp_scratch;
|
|
221
247
|
/**
|
|
222
248
|
* Symmetric layer/mask check + optional user callback. Called per
|
|
223
249
|
* candidate pair during broadphase. Returns `true` to accept the pair.
|
|
@@ -468,6 +494,32 @@ export class PhysicsSystem extends System<any, any, any, any, any> {
|
|
|
468
494
|
y: number;
|
|
469
495
|
z: number;
|
|
470
496
|
}): void;
|
|
497
|
+
/**
|
|
498
|
+
* Teleport a body to a new pose, bypassing integration: writes the body's
|
|
499
|
+
* Transform directly and wakes it. For an interpolated body this also flags a
|
|
500
|
+
* render `snap` on its {@link Interpolated} component, so the producer keeps
|
|
501
|
+
* this pose (rather than restoring the previous tick over it) and the
|
|
502
|
+
* renderer shows the new pose without sliding across the jump.
|
|
503
|
+
*
|
|
504
|
+
* This is the authoritative way to reposition an interpolated body — a raw
|
|
505
|
+
* `Transform` write would be undone by the per-step restore. Velocity is left
|
|
506
|
+
* as-is; zero it via {@link setLinearVelocity} if the teleport should also
|
|
507
|
+
* stop the body.
|
|
508
|
+
*
|
|
509
|
+
* @param {RigidBody} rigidBody
|
|
510
|
+
* @param {Vector3|{x:number,y:number,z:number}} position world position
|
|
511
|
+
* @param {Quaternion|{x:number,y:number,z:number,w:number}} rotation world unit-quaternion rotation
|
|
512
|
+
*/
|
|
513
|
+
setPose(rigidBody: RigidBody, position: Vector3 | {
|
|
514
|
+
x: number;
|
|
515
|
+
y: number;
|
|
516
|
+
z: number;
|
|
517
|
+
}, rotation: Quaternion | {
|
|
518
|
+
x: number;
|
|
519
|
+
y: number;
|
|
520
|
+
z: number;
|
|
521
|
+
w: number;
|
|
522
|
+
}): void;
|
|
471
523
|
/**
|
|
472
524
|
* Force the body awake. Static bodies are ignored.
|
|
473
525
|
* @param {RigidBody} rigidBody
|
|
@@ -511,13 +563,6 @@ export class PhysicsSystem extends System<any, any, any, any, any> {
|
|
|
511
563
|
* @param {number} end
|
|
512
564
|
*/
|
|
513
565
|
private __atomic_sleep_island_range;
|
|
514
|
-
/**
|
|
515
|
-
* Get the body index for a packed body id without revalidation. Used by
|
|
516
|
-
* query traversals that already trust the id came from a live BVH leaf.
|
|
517
|
-
* @param {number} packed_body_id
|
|
518
|
-
* @returns {number}
|
|
519
|
-
*/
|
|
520
|
-
__index_of(packed_body_id: number): number;
|
|
521
566
|
/**
|
|
522
567
|
* Broadphase raycast against both BVHs. Fills `result` with the nearest
|
|
523
568
|
* hit and returns `true` on hit, `false` on miss.
|
|
@@ -674,6 +719,27 @@ export class PhysicsSystem extends System<any, any, any, any, any> {
|
|
|
674
719
|
* @private
|
|
675
720
|
*/
|
|
676
721
|
private __dispatch_contact_events;
|
|
722
|
+
/**
|
|
723
|
+
* Producer — restore pass. At the top of a fixed step, reset every awake
|
|
724
|
+
* {@link Interpolated} body's live components to their authoritative state
|
|
725
|
+
* from the previous tick's snapshot, undoing any render-time interpolation
|
|
726
|
+
* the {@link InterpolationSystem} wrote between frames so the sim integrates
|
|
727
|
+
* from truth, not an interpolated pose. A body with no previous snapshot
|
|
728
|
+
* (first step ever, or just woken) is left as-is — its live state is already
|
|
729
|
+
* authoritative. No-op unless {@link interpolationLog} is wired.
|
|
730
|
+
* @private
|
|
731
|
+
*/
|
|
732
|
+
private __interp_restore;
|
|
733
|
+
/**
|
|
734
|
+
* Producer — record pass. At the end of a fixed step, snapshot every awake
|
|
735
|
+
* {@link Interpolated} body's live components into the shared log under the
|
|
736
|
+
* current `entityManager.fixedStepTick`. The render-time
|
|
737
|
+
* {@link InterpolationSystem} blends consecutive ticks from these snapshots.
|
|
738
|
+
* Only awake (moving) bodies are recorded, so the log stays sparse. No-op
|
|
739
|
+
* unless {@link interpolationLog} is wired.
|
|
740
|
+
* @private
|
|
741
|
+
*/
|
|
742
|
+
private __interp_record;
|
|
677
743
|
fixedUpdate(dt: any): void;
|
|
678
744
|
/**
|
|
679
745
|
* @readonly
|
|
@@ -692,6 +758,7 @@ import { ManifoldStore } from "../contact/ManifoldStore.js";
|
|
|
692
758
|
import { PairList } from "../broadphase/PairList.js";
|
|
693
759
|
import { ContactEventBuffer } from "../events/ContactEventBuffer.js";
|
|
694
760
|
import { IslandBuilder } from "../island/IslandBuilder.js";
|
|
761
|
+
import { SolverBodyState } from "../body/SolverBodyState.js";
|
|
695
762
|
import Vector3 from "../../../core/geom/Vector3.js";
|
|
696
763
|
import Signal from "../../../core/events/signal/Signal.js";
|
|
697
764
|
import { BodyKind } from "./BodyKind.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhysicsSystem.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/ecs/PhysicsSystem.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PhysicsSystem.d.ts","sourceRoot":"","sources":["../../../../../src/engine/physics/ecs/PhysicsSystem.js"],"names":[],"mappings":"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"}
|