@absolutejs/rapier3d 0.2.1 → 0.4.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 +20 -2
- package/absolutejs/README.md +42 -2
- package/dist/provenance.json +3 -3
- package/dist/rapier.mjs +1 -1
- package/dist/types/dynamics/integration_parameters.d.ts +9 -0
- package/dist/types/pipeline/world.d.ts +8 -0
- package/dist/types/rapier_wasm3d.d.ts +11 -0
- package/package.json +2 -2
|
@@ -11,6 +11,15 @@ export declare class IntegrationParameters {
|
|
|
11
11
|
get contactClustering(): boolean;
|
|
12
12
|
/** Change between simulation steps; false may increase solver workload. */
|
|
13
13
|
set contactClustering(value: boolean);
|
|
14
|
+
/** Reuse nearby contact manifolds between updates. Default true; false increases narrow-phase work. */
|
|
15
|
+
get contactRecycling(): boolean;
|
|
16
|
+
set contactRecycling(value: boolean);
|
|
17
|
+
/** Relative-pose drift threshold, multiplied by lengthUnit. Default 0.05. Change between steps. */
|
|
18
|
+
get normalizedContactRecycleDistance(): number;
|
|
19
|
+
set normalizedContactRecycleDistance(value: number);
|
|
20
|
+
/** Fraction of cached impulses reused by the solver, in [0, 1]. Default 1. Change between steps. */
|
|
21
|
+
get warmstartCoefficient(): number;
|
|
22
|
+
set warmstartCoefficient(value: number);
|
|
14
23
|
/** Minimum CCD substep duration in seconds; upstream default is 1/60/100. */
|
|
15
24
|
get minCcdDt(): number;
|
|
16
25
|
/** Change between steps. Very small values may introduce numerical instability. */
|
|
@@ -560,6 +560,14 @@ export declare class World {
|
|
|
560
560
|
* Only works if the internal profiler is enabled with `World.profilerEnabled = true`.
|
|
561
561
|
*/
|
|
562
562
|
get profilerEnabled(): boolean;
|
|
563
|
+
/**
|
|
564
|
+
* Actual CCD passes recorded by the last completed profiled step, not the
|
|
565
|
+
* configured maximum. Zero means CCD did not act; the world still advanced.
|
|
566
|
+
* Returns null before a profiled step, while profiling is disabled, and after
|
|
567
|
+
* changing profilerEnabled until another step completes. Profiling is opt-in.
|
|
568
|
+
* This count does not expose internal substep durations or time of impact.
|
|
569
|
+
*/
|
|
570
|
+
ccdSubsteps(): number | null;
|
|
563
571
|
/**
|
|
564
572
|
* The time spent in milliseconds by the last step to run the entire simulation step.
|
|
565
573
|
*
|
|
@@ -706,12 +706,14 @@ export class RawIntegrationParameters {
|
|
|
706
706
|
[Symbol.dispose](): void;
|
|
707
707
|
constructor();
|
|
708
708
|
contactClustering: boolean;
|
|
709
|
+
contactRecycling: boolean;
|
|
709
710
|
readonly contact_erp: number;
|
|
710
711
|
dt: number;
|
|
711
712
|
lengthUnit: number;
|
|
712
713
|
maxCcdSubsteps: number;
|
|
713
714
|
minCcdDt: number;
|
|
714
715
|
normalizedAllowedLinearError: number;
|
|
716
|
+
normalizedContactRecycleDistance: number;
|
|
715
717
|
normalizedPredictionDistance: number;
|
|
716
718
|
numInternalPgsIterations: number;
|
|
717
719
|
numSolverIterations: number;
|
|
@@ -723,6 +725,7 @@ export class RawIntegrationParameters {
|
|
|
723
725
|
softBodiesMaxExtraSubsteps: number;
|
|
724
726
|
softBodiesRecovery: RawSoftRecoverySettings;
|
|
725
727
|
softBodiesResweepStrain: number;
|
|
728
|
+
warmstartCoefficient: number;
|
|
726
729
|
}
|
|
727
730
|
|
|
728
731
|
export class RawIslandManager {
|
|
@@ -883,6 +886,7 @@ export class RawNarrowPhase {
|
|
|
883
886
|
export class RawPhysicsPipeline {
|
|
884
887
|
free(): void;
|
|
885
888
|
[Symbol.dispose](): void;
|
|
889
|
+
ccd_substeps(): number | undefined;
|
|
886
890
|
is_profiler_enabled(): boolean;
|
|
887
891
|
constructor();
|
|
888
892
|
set_profiler_enabled(enabled: boolean): void;
|
|
@@ -2296,6 +2300,7 @@ export interface InitOutput {
|
|
|
2296
2300
|
readonly rawimpulsejointset_new: () => number;
|
|
2297
2301
|
readonly rawimpulsejointset_remove: (a: number, b: number, c: number) => void;
|
|
2298
2302
|
readonly rawintegrationparameters_contactClustering: (a: number) => number;
|
|
2303
|
+
readonly rawintegrationparameters_contactRecycling: (a: number) => number;
|
|
2299
2304
|
readonly rawintegrationparameters_contact_erp: (a: number) => number;
|
|
2300
2305
|
readonly rawintegrationparameters_dt: (a: number) => number;
|
|
2301
2306
|
readonly rawintegrationparameters_lengthUnit: (a: number) => number;
|
|
@@ -2303,16 +2308,19 @@ export interface InitOutput {
|
|
|
2303
2308
|
readonly rawintegrationparameters_minCcdDt: (a: number) => number;
|
|
2304
2309
|
readonly rawintegrationparameters_new: () => number;
|
|
2305
2310
|
readonly rawintegrationparameters_normalizedAllowedLinearError: (a: number) => number;
|
|
2311
|
+
readonly rawintegrationparameters_normalizedContactRecycleDistance: (a: number) => number;
|
|
2306
2312
|
readonly rawintegrationparameters_normalizedPredictionDistance: (a: number) => number;
|
|
2307
2313
|
readonly rawintegrationparameters_numInternalPgsIterations: (a: number) => number;
|
|
2308
2314
|
readonly rawintegrationparameters_numSolverIterations: (a: number) => number;
|
|
2309
2315
|
readonly rawintegrationparameters_set_contactClustering: (a: number, b: number) => void;
|
|
2316
|
+
readonly rawintegrationparameters_set_contactRecycling: (a: number, b: number) => void;
|
|
2310
2317
|
readonly rawintegrationparameters_set_contact_natural_frequency: (a: number, b: number) => void;
|
|
2311
2318
|
readonly rawintegrationparameters_set_dt: (a: number, b: number) => void;
|
|
2312
2319
|
readonly rawintegrationparameters_set_lengthUnit: (a: number, b: number) => void;
|
|
2313
2320
|
readonly rawintegrationparameters_set_maxCcdSubsteps: (a: number, b: number) => void;
|
|
2314
2321
|
readonly rawintegrationparameters_set_minCcdDt: (a: number, b: number) => void;
|
|
2315
2322
|
readonly rawintegrationparameters_set_normalizedAllowedLinearError: (a: number, b: number) => void;
|
|
2323
|
+
readonly rawintegrationparameters_set_normalizedContactRecycleDistance: (a: number, b: number) => void;
|
|
2316
2324
|
readonly rawintegrationparameters_set_normalizedPredictionDistance: (a: number, b: number) => void;
|
|
2317
2325
|
readonly rawintegrationparameters_set_numInternalPgsIterations: (a: number, b: number) => void;
|
|
2318
2326
|
readonly rawintegrationparameters_set_numSolverIterations: (a: number, b: number) => void;
|
|
@@ -2323,6 +2331,7 @@ export interface InitOutput {
|
|
|
2323
2331
|
readonly rawintegrationparameters_set_softBodiesMaxExtraSubsteps: (a: number, b: number) => void;
|
|
2324
2332
|
readonly rawintegrationparameters_set_softBodiesRecovery: (a: number, b: number) => void;
|
|
2325
2333
|
readonly rawintegrationparameters_set_softBodiesResweepStrain: (a: number, b: number) => void;
|
|
2334
|
+
readonly rawintegrationparameters_set_warmstartCoefficient: (a: number, b: number) => void;
|
|
2326
2335
|
readonly rawintegrationparameters_softBodiesContactStiffening: (a: number) => number;
|
|
2327
2336
|
readonly rawintegrationparameters_softBodiesFemLinearTolerance: (a: number) => number;
|
|
2328
2337
|
readonly rawintegrationparameters_softBodiesFemMaxDenseDofs: (a: number) => number;
|
|
@@ -2330,6 +2339,7 @@ export interface InitOutput {
|
|
|
2330
2339
|
readonly rawintegrationparameters_softBodiesMaxExtraSubsteps: (a: number) => number;
|
|
2331
2340
|
readonly rawintegrationparameters_softBodiesRecovery: (a: number) => number;
|
|
2332
2341
|
readonly rawintegrationparameters_softBodiesResweepStrain: (a: number) => number;
|
|
2342
|
+
readonly rawintegrationparameters_warmstartCoefficient: (a: number) => number;
|
|
2333
2343
|
readonly rawislandmanager_forEachActiveRigidBodyHandle: (a: number, b: number) => void;
|
|
2334
2344
|
readonly rawislandmanager_new: () => number;
|
|
2335
2345
|
readonly rawkinematiccharactercontroller_autostepEnabled: (a: number) => number;
|
|
@@ -2381,6 +2391,7 @@ export interface InitOutput {
|
|
|
2381
2391
|
readonly rawnarrowphase_intersection_pair: (a: number, b: number, c: number) => number;
|
|
2382
2392
|
readonly rawnarrowphase_intersection_pairs_with: (a: number, b: number, c: number) => void;
|
|
2383
2393
|
readonly rawnarrowphase_new: () => number;
|
|
2394
|
+
readonly rawphysicspipeline_ccd_substeps: (a: number) => number;
|
|
2384
2395
|
readonly rawphysicspipeline_is_profiler_enabled: (a: number) => number;
|
|
2385
2396
|
readonly rawphysicspipeline_new: () => number;
|
|
2386
2397
|
readonly rawphysicspipeline_set_profiler_enabled: (a: number, b: number) => void;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@absolutejs/rapier3d",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Rapier 3D with
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "Rapier 3D with solver-contact diagnostics and validated contact-policy controls",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"repository": {
|