@absolutejs/rapier3d 0.14.1 → 0.16.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/README.md +58 -0
- package/absolutejs/README.md +58 -0
- package/dist/build-info.mjs +1 -1
- package/dist/provenance.json +4 -4
- package/dist/rapier.mjs +1 -1
- package/dist/types/pipeline/step_profile.d.ts +2 -1
- package/dist/types/pipeline/world.d.ts +16 -0
- package/dist/types/rapier_wasm3d.d.ts +2 -0
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { World, ContactConvergenceStats, FreeRotationStats } from "./world";
|
|
1
|
+
import type { World, ContactConvergenceStats, FreeRotationStats, FreeAssemblyStats } from "./world";
|
|
2
2
|
import type { EventQueue } from "./event_queue";
|
|
3
3
|
import type { PhysicsHooks } from "./physics_hooks";
|
|
4
4
|
export interface PhysicsStepSample {
|
|
@@ -23,6 +23,7 @@ export interface PhysicsStepSample {
|
|
|
23
23
|
};
|
|
24
24
|
convergence: ContactConvergenceStats;
|
|
25
25
|
freeRotation: FreeRotationStats;
|
|
26
|
+
freeAssembly: FreeAssemblyStats;
|
|
26
27
|
} | null;
|
|
27
28
|
}
|
|
28
29
|
export interface PhysicsStepProfile {
|
|
@@ -40,6 +40,17 @@ export interface FreeRotationStats {
|
|
|
40
40
|
/** Maximum accepted angular-velocity equation residual in radians/second. */
|
|
41
41
|
maxResidualRadiansPerSecond: number;
|
|
42
42
|
}
|
|
43
|
+
/** Isolated fixed-assembly attempts under uniform gravity. Counts include
|
|
44
|
+
* solver substeps and CCD passes. Unsupported topology, loads, damping or
|
|
45
|
+
* invalid aggregate construction are excluded before any attempt and therefore
|
|
46
|
+
* are not rejection counts. Zero attempts does not establish conservation.
|
|
47
|
+
*/
|
|
48
|
+
export interface FreeAssemblyStats {
|
|
49
|
+
acceptedSteps: number;
|
|
50
|
+
nonphysicalInertiaRejections: number;
|
|
51
|
+
rotationLimitRejections: number;
|
|
52
|
+
invalidOrFailedSolves: number;
|
|
53
|
+
}
|
|
43
54
|
/**
|
|
44
55
|
* The physics world.
|
|
45
56
|
*
|
|
@@ -598,6 +609,11 @@ export declare class World {
|
|
|
598
609
|
* This count does not expose internal substep durations or time of impact.
|
|
599
610
|
*/
|
|
600
611
|
ccdSubsteps(): number | null;
|
|
612
|
+
/** Owned assembly observations from the last completed profiled step.
|
|
613
|
+
* Null before a profiled step, after restoration or a profiling toggle,
|
|
614
|
+
* and while profiling is disabled. Reading does not alter physics.
|
|
615
|
+
*/
|
|
616
|
+
freeAssemblyStats(): FreeAssemblyStats | null;
|
|
601
617
|
/** Owned isolated-body rotation observations from the last completed profiled
|
|
602
618
|
* step; null before that step, after toggling profiling, when disabled, or
|
|
603
619
|
* after restoration. Zero accepted steps does not establish conservation.
|
|
@@ -896,6 +896,7 @@ export class RawPhysicsPipeline {
|
|
|
896
896
|
[Symbol.dispose](): void;
|
|
897
897
|
ccd_substeps(): number | undefined;
|
|
898
898
|
contact_convergence(): Float64Array | undefined;
|
|
899
|
+
free_assembly_candidate(): Float64Array | undefined;
|
|
899
900
|
free_rotation_candidate(): Float64Array | undefined;
|
|
900
901
|
is_profiler_enabled(): boolean;
|
|
901
902
|
constructor();
|
|
@@ -2405,6 +2406,7 @@ export interface InitOutput {
|
|
|
2405
2406
|
readonly rawnarrowphase_new: () => number;
|
|
2406
2407
|
readonly rawphysicspipeline_ccd_substeps: (a: number) => number;
|
|
2407
2408
|
readonly rawphysicspipeline_contact_convergence: (a: number, b: number) => void;
|
|
2409
|
+
readonly rawphysicspipeline_free_assembly_candidate: (a: number, b: number) => void;
|
|
2408
2410
|
readonly rawphysicspipeline_free_rotation_candidate: (a: number, b: number) => void;
|
|
2409
2411
|
readonly rawphysicspipeline_is_profiler_enabled: (a: number) => number;
|
|
2410
2412
|
readonly rawphysicspipeline_new: () => number;
|
package/package.json
CHANGED