@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.
@@ -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 { PhysicsWorld, RaycastHit } from '@forgeax/engine-physics';
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":"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"}
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.26",
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.26",
27
- "@forgeax/engine-math": "0.1.26",
28
- "@forgeax/engine-physics": "0.1.26",
29
- "@forgeax/engine-scene": "0.1.26",
30
- "@forgeax/engine-types": "0.1.26"
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.26"
34
+ "@forgeax/engine-runtime": "0.1.28"
35
35
  },
36
36
  "forgeax": {
37
37
  "metrics": {