@forgeax/engine-physics-rapier3d 0.1.26 → 0.1.28
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/dist/__tests__/derived-physics.unit.test.d.ts +2 -0
- package/dist/__tests__/derived-physics.unit.test.d.ts.map +1 -0
- package/dist/index.mjs +1598 -27
- package/dist/index.mjs.map +1 -1
- package/dist/rapier-physics-world-3d.d.ts +98 -4
- package/dist/rapier-physics-world-3d.d.ts.map +1 -1
- package/package.json +7 -7
- package/src/__tests__/derived-physics.unit.test.ts +779 -0
- package/src/__tests__/physics-rapier3d.unit.test.ts +66 -1
- package/src/rapier-physics-world-3d.ts +2013 -50
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Component, SystemHandle, World } from '@forgeax/engine-ecs';
|
|
2
2
|
import { type Vec3 } from '@forgeax/engine-math';
|
|
3
|
-
import type
|
|
3
|
+
import { type DerivedPhysicsCandidate, type DerivedPhysicsCandidateInput, type DerivedPhysicsFailure, type DerivedPhysicsMotion, type DerivedPhysicsPublication, type DerivedPhysicsSnapshot, type DerivedShapeState, type PhysicsConstraintInput, type PhysicsContactObservation, type PhysicsWorld, type RaycastHit } from '@forgeax/engine-physics';
|
|
4
|
+
import { type Result } from '@forgeax/engine-types';
|
|
4
5
|
import type { Rapier3DModule } from './wasm-loader';
|
|
5
6
|
interface Rapier3DKinematicControllerState {
|
|
6
7
|
readonly entity: number;
|
|
@@ -40,6 +41,9 @@ export interface Rapier3DCollisionEvent {
|
|
|
40
41
|
readonly type: 'started' | 'stopped';
|
|
41
42
|
readonly entityA: number;
|
|
42
43
|
readonly entityB: number;
|
|
44
|
+
readonly fixedStep?: number;
|
|
45
|
+
readonly shapeA?: string;
|
|
46
|
+
readonly shapeB?: string;
|
|
43
47
|
}
|
|
44
48
|
type RapierWorld = any;
|
|
45
49
|
/**
|
|
@@ -66,6 +70,26 @@ export declare class RapierPhysicsWorld3D implements PhysicsWorld {
|
|
|
66
70
|
private readonly collisionPairs;
|
|
67
71
|
private readonly pendingCollisionEvents;
|
|
68
72
|
private readonly collisionEventHistory;
|
|
73
|
+
/** One backend owns every derived shape; these maps are not a second world. */
|
|
74
|
+
private readonly derivedBodies;
|
|
75
|
+
private readonly derivedCandidates;
|
|
76
|
+
private readonly pendingDerivedCandidates;
|
|
77
|
+
private readonly retiredDerivedBodies;
|
|
78
|
+
private readonly derivedColliderToShape;
|
|
79
|
+
private readonly derivedConstraints;
|
|
80
|
+
private readonly derivedBodySources;
|
|
81
|
+
private readonly derivedPublications;
|
|
82
|
+
private readonly derivedFailures;
|
|
83
|
+
private readonly derivedContacts;
|
|
84
|
+
private readonly derivedPoisonedEntities;
|
|
85
|
+
private readonly physicsOwner;
|
|
86
|
+
private candidateSequence;
|
|
87
|
+
private derivedCandidateBytes;
|
|
88
|
+
private backendGeneration;
|
|
89
|
+
private fixedStep;
|
|
90
|
+
private derivedPublicationPending;
|
|
91
|
+
private worldIdentity;
|
|
92
|
+
private activeDerivedAdmission;
|
|
69
93
|
private currentGravity;
|
|
70
94
|
/**
|
|
71
95
|
* Lazily-built Rapier KinematicCharacterController per character entity
|
|
@@ -92,6 +116,8 @@ export declare class RapierPhysicsWorld3D implements PhysicsWorld {
|
|
|
92
116
|
raycast(origin: Vec3, direction: Vec3, maxDist: number, filterMask?: number): RaycastHit | undefined;
|
|
93
117
|
teleport(entity: number, position: Vec3): void;
|
|
94
118
|
step(deltaTime: number): void;
|
|
119
|
+
/** Publish only after the fixed-step ECS writeback/contact boundary. */
|
|
120
|
+
finalizeDerivedFixedStep(): void;
|
|
95
121
|
/**
|
|
96
122
|
* Drain the Rapier event queue into `collisionPairs`. Each event names two
|
|
97
123
|
* collider handles + a `started` flag; we resolve each collider to its owning
|
|
@@ -100,6 +126,7 @@ export declare class RapierPhysicsWorld3D implements PhysicsWorld {
|
|
|
100
126
|
* queries (the queue is otherwise drained-on-overflow and never observed).
|
|
101
127
|
*/
|
|
102
128
|
private drainRapierCollisionEvents;
|
|
129
|
+
private recordContactObservation;
|
|
103
130
|
/** Resolve a Rapier collider handle to its owning ECS entity, or undefined. */
|
|
104
131
|
private colliderHandleToEntity;
|
|
105
132
|
private addPair;
|
|
@@ -116,6 +143,71 @@ export declare class RapierPhysicsWorld3D implements PhysicsWorld {
|
|
|
116
143
|
drainCollisionEvents(): Rapier3DCollisionEvent[];
|
|
117
144
|
getCollisionPairs(): Map<number, Set<number>>;
|
|
118
145
|
getCollisionEventHistory(): readonly Rapier3DCollisionEvent[];
|
|
146
|
+
/** Detached fixed-step contact facts; no Rapier manifolds or handles escape. */
|
|
147
|
+
getContactObservations(): readonly PhysicsContactObservation[];
|
|
148
|
+
/** Prepare disabled native Voxels for one entity without changing queries. */
|
|
149
|
+
prepareDerivedShapeCandidate(input: DerivedPhysicsCandidateInput): ReturnType<NonNullable<PhysicsWorld['prepareDerivedShapeCandidate']>>;
|
|
150
|
+
/** Queue a prepared candidate for the next call to `step()`. */
|
|
151
|
+
admitDerivedShapeCandidate(candidate: DerivedPhysicsCandidate, commitGeometry?: () => Result<void, Error>): ReturnType<NonNullable<PhysicsWorld['admitDerivedShapeCandidate']>>;
|
|
152
|
+
getDerivedAdmission(entity?: number): {
|
|
153
|
+
readonly entity: number;
|
|
154
|
+
readonly revision: number;
|
|
155
|
+
readonly fixedStep: number;
|
|
156
|
+
} | undefined;
|
|
157
|
+
private admitDerivedShapeCandidateInternal;
|
|
158
|
+
/** Cancel candidate-native resources; the committed state remains untouched. */
|
|
159
|
+
cancelDerivedShapeCandidate(candidate: DerivedPhysicsCandidate): ReturnType<NonNullable<PhysicsWorld['cancelDerivedShapeCandidate']>>;
|
|
160
|
+
/** Reject all in-flight derived work while preserving the last publication. */
|
|
161
|
+
invalidateDerivedShapeCandidates(reason?: string): void;
|
|
162
|
+
getDerivedPublication(entity: number): DerivedPhysicsPublication | undefined;
|
|
163
|
+
getDerivedFailure(entity: number): DerivedPhysicsFailure | undefined;
|
|
164
|
+
getDerivedBodyType(entity: number): 'static' | 'dynamic' | 'kinematic' | undefined;
|
|
165
|
+
getDerivedBodyMass(entity: number): number | undefined;
|
|
166
|
+
getDerivedMotion(entity: number): DerivedPhysicsMotion | undefined;
|
|
167
|
+
getDerivedRecoveryState(): 'ready' | 'rebuild-required';
|
|
168
|
+
getDerivedShapes(entity: number): readonly DerivedShapeState[];
|
|
169
|
+
captureDerivedPhysicsState(): DerivedPhysicsSnapshot;
|
|
170
|
+
restoreDerivedPhysicsState(snapshot: DerivedPhysicsSnapshot): ReturnType<NonNullable<PhysicsWorld['restoreDerivedPhysicsState']>>;
|
|
171
|
+
createDerivedConstraint(input: PhysicsConstraintInput): ReturnType<NonNullable<PhysicsWorld['createDerivedConstraint']>>;
|
|
172
|
+
updateDerivedConstraint(input: PhysicsConstraintInput): ReturnType<NonNullable<PhysicsWorld['updateDerivedConstraint']>>;
|
|
173
|
+
removeDerivedConstraint(id: string): ReturnType<NonNullable<PhysicsWorld['removeDerivedConstraint']>>;
|
|
174
|
+
private createDerivedCollider;
|
|
175
|
+
private removeNativeCollider;
|
|
176
|
+
private createNativeConstraint;
|
|
177
|
+
private rememberDerivedFailure;
|
|
178
|
+
private rejectPreparedCandidate;
|
|
179
|
+
private processDerivedCandidates;
|
|
180
|
+
private publishDerivedCandidates;
|
|
181
|
+
private retireDerivedBodies;
|
|
182
|
+
private applyDerivedMass;
|
|
183
|
+
/** Restore the complete committed mass policy after a failed admission. */
|
|
184
|
+
private restoreCommittedMass;
|
|
185
|
+
/**
|
|
186
|
+
* Rapier keeps `setAdditionalMassProperties` as native state even after a
|
|
187
|
+
* collider recompute. Clear that override explicitly before recomputing so
|
|
188
|
+
* automatic candidates and rollback really return to the authored policy.
|
|
189
|
+
*/
|
|
190
|
+
private restoreAutomaticMass;
|
|
191
|
+
private rememberAuthoredDensity;
|
|
192
|
+
private restoreAutomaticDensities;
|
|
193
|
+
private restoreNativeConstraints;
|
|
194
|
+
private bodyColliders;
|
|
195
|
+
private releaseDerivedCandidate;
|
|
196
|
+
private sourceForEntity;
|
|
197
|
+
/**
|
|
198
|
+
* Project the final source revision of every queued body. Constraint
|
|
199
|
+
* dependencies are checked against this projection, not against whichever
|
|
200
|
+
* queued candidate happens to be processed first.
|
|
201
|
+
*/
|
|
202
|
+
private pendingDerivedSources;
|
|
203
|
+
private newestPendingRevision;
|
|
204
|
+
private recoveryBlocked;
|
|
205
|
+
private validateConstraintDependencies;
|
|
206
|
+
private constraintDependenciesMatch;
|
|
207
|
+
private validateDerivedAdmission;
|
|
208
|
+
private constraintsForBody;
|
|
209
|
+
private installDerivedConstraint;
|
|
210
|
+
private removeNativeConstraint;
|
|
119
211
|
getPendingTeleports(): readonly [
|
|
120
212
|
number,
|
|
121
213
|
{
|
|
@@ -164,6 +256,7 @@ export declare class RapierPhysicsWorld3D implements PhysicsWorld {
|
|
|
164
256
|
private resetForFullReconcile;
|
|
165
257
|
private fullReconcilePhysicsState;
|
|
166
258
|
private reconcilePhysicsDelta;
|
|
259
|
+
private syncDerivedCompatibleEcsMutation;
|
|
167
260
|
/** @internal ECS system bridge; consumers should register PhysicsSyncBackend. */
|
|
168
261
|
_syncFromEcs(world: World, transformComponent: Component, globalTransformComponent?: Component<string, import("@forgeax/engine-ecs").ComponentSchema> | undefined): void;
|
|
169
262
|
/**
|
|
@@ -195,16 +288,17 @@ export declare class RapierPhysicsWorld3D implements PhysicsWorld {
|
|
|
195
288
|
angularDamping: number;
|
|
196
289
|
gravityScale: number;
|
|
197
290
|
ccdEnabled: number;
|
|
198
|
-
}, collider: PhysicsCollider3D): void;
|
|
291
|
+
}, collider: PhysicsCollider3D | undefined): void;
|
|
292
|
+
private createAuthoredCollider;
|
|
199
293
|
/**
|
|
200
294
|
* Synchronize a static or kinematic body's Rapier pose and collider shape from
|
|
201
295
|
* the resolved Transform pose. Dynamic bodies own their pose after creation.
|
|
202
296
|
*/
|
|
203
|
-
syncAuthoredPose(entity: number, transform: PhysicsTransform3D, collider: PhysicsCollider3D, bodyType: 'static' | 'kinematic'): void;
|
|
297
|
+
syncAuthoredPose(entity: number, transform: PhysicsTransform3D, collider: PhysicsCollider3D | undefined, bodyType: 'static' | 'kinematic'): void;
|
|
204
298
|
/**
|
|
205
299
|
* Register an ECS entity with its Rapier body handle.
|
|
206
300
|
*/
|
|
207
|
-
registerBody(entity: number, bodyHandle: number): void;
|
|
301
|
+
registerBody(entity: number, bodyHandle: number, additionalMass?: number, authoredDensity?: number): void;
|
|
208
302
|
/**
|
|
209
303
|
* Apply all pending teleports to their respective bodies.
|
|
210
304
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rapier-physics-world-3d.d.ts","sourceRoot":"","sources":["../src/rapier-physics-world-3d.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,SAAS,EAAuB,YAAY,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAI/F,OAAO,EAAc,KAAK,IAAI,EAAQ,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"rapier-physics-world-3d.d.ts","sourceRoot":"","sources":["../src/rapier-physics-world-3d.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forgeax/engine-physics-rapier3d",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.28",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -23,15 +23,15 @@
|
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@dimforge/rapier3d-compat": "0.20.0",
|
|
26
|
-
"@forgeax/engine-ecs": "0.1.
|
|
27
|
-
"@forgeax/engine-math": "0.1.
|
|
28
|
-
"@forgeax/engine-physics": "0.1.
|
|
29
|
-
"@forgeax/engine-scene": "0.1.
|
|
30
|
-
"@forgeax/engine-types": "0.1.
|
|
26
|
+
"@forgeax/engine-ecs": "0.1.28",
|
|
27
|
+
"@forgeax/engine-math": "0.1.28",
|
|
28
|
+
"@forgeax/engine-physics": "0.1.28",
|
|
29
|
+
"@forgeax/engine-scene": "0.1.28",
|
|
30
|
+
"@forgeax/engine-types": "0.1.28"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@dimforge/rapier3d": "0.20.0",
|
|
34
|
-
"@forgeax/engine-runtime": "0.1.
|
|
34
|
+
"@forgeax/engine-runtime": "0.1.28"
|
|
35
35
|
},
|
|
36
36
|
"forgeax": {
|
|
37
37
|
"metrics": {
|