@flighthq/physics3d 0.4.0-next.1752.f250cb9 → 0.4.0-next.1771.f4d15c3
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/colliderTransform.d.ts.map +1 -1
- package/dist/colliderTransform.js +98 -0
- package/dist/colliderTransform.js.map +1 -1
- package/dist/debugGeometry.js +74 -0
- package/dist/debugGeometry.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/jointFactories.d.ts.map +1 -1
- package/dist/jointFactories.js +12 -0
- package/dist/jointFactories.js.map +1 -1
- package/dist/jointRows.d.ts +3 -2
- package/dist/jointRows.d.ts.map +1 -1
- package/dist/jointRows.js +48 -4
- package/dist/jointRows.js.map +1 -1
- package/dist/joints.d.ts.map +1 -1
- package/dist/joints.js +75 -36
- package/dist/joints.js.map +1 -1
- package/dist/massProperties.d.ts +2 -0
- package/dist/massProperties.d.ts.map +1 -1
- package/dist/massProperties.js +55 -0
- package/dist/massProperties.js.map +1 -1
- package/dist/worldQueries.d.ts +3 -1
- package/dist/worldQueries.d.ts.map +1 -1
- package/dist/worldQueries.js +131 -4
- package/dist/worldQueries.js.map +1 -1
- package/package.json +5 -5
- package/src/jointRows.test.ts +71 -7
- package/src/joints.test.ts +125 -0
- package/src/massProperties.test.ts +89 -0
- package/src/worldQueries.test.ts +127 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colliderTransform.d.ts","sourceRoot":"","sources":["../src/colliderTransform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKvH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,GAAG,uBAAuB,
|
|
1
|
+
{"version":3,"file":"colliderTransform.d.ts","sourceRoot":"","sources":["../src/colliderTransform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKvH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,GAAG,uBAAuB,CAyDnH;AAUD,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAyGhH;AAMD,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,aAAa,GAAG,IAAI,CAmI5G"}
|
|
@@ -31,6 +31,28 @@ export function createPhysics3DColliderWorldShape(local) {
|
|
|
31
31
|
z1: local.z1,
|
|
32
32
|
radius: local.radius,
|
|
33
33
|
};
|
|
34
|
+
case 'cylinder':
|
|
35
|
+
return {
|
|
36
|
+
kind: 'cylinder',
|
|
37
|
+
x0: local.x0,
|
|
38
|
+
y0: local.y0,
|
|
39
|
+
z0: local.z0,
|
|
40
|
+
x1: local.x1,
|
|
41
|
+
y1: local.y1,
|
|
42
|
+
z1: local.z1,
|
|
43
|
+
radius: local.radius,
|
|
44
|
+
};
|
|
45
|
+
case 'cone':
|
|
46
|
+
return {
|
|
47
|
+
kind: 'cone',
|
|
48
|
+
apexX: local.apexX,
|
|
49
|
+
apexY: local.apexY,
|
|
50
|
+
apexZ: local.apexZ,
|
|
51
|
+
baseX: local.baseX,
|
|
52
|
+
baseY: local.baseY,
|
|
53
|
+
baseZ: local.baseZ,
|
|
54
|
+
radius: local.radius,
|
|
55
|
+
};
|
|
34
56
|
case 'convex':
|
|
35
57
|
return { kind: 'convex', points: local.points.slice() };
|
|
36
58
|
default:
|
|
@@ -109,6 +131,30 @@ export function updatePhysics3DColliderWorldShape(collider, body) {
|
|
|
109
131
|
world.radius = local.radius;
|
|
110
132
|
return;
|
|
111
133
|
}
|
|
134
|
+
if (local.kind === 'cylinder' && world.kind === 'cylinder') {
|
|
135
|
+
rotatePhysics3DPoint(qX, qY, qZ, qW, local.x0, local.y0, local.z0, scratchPoint);
|
|
136
|
+
world.x0 = body.x + scratchPoint[0];
|
|
137
|
+
world.y0 = body.y + scratchPoint[1];
|
|
138
|
+
world.z0 = body.z + scratchPoint[2];
|
|
139
|
+
rotatePhysics3DPoint(qX, qY, qZ, qW, local.x1, local.y1, local.z1, scratchPoint);
|
|
140
|
+
world.x1 = body.x + scratchPoint[0];
|
|
141
|
+
world.y1 = body.y + scratchPoint[1];
|
|
142
|
+
world.z1 = body.z + scratchPoint[2];
|
|
143
|
+
world.radius = local.radius;
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
if (local.kind === 'cone' && world.kind === 'cone') {
|
|
147
|
+
rotatePhysics3DPoint(qX, qY, qZ, qW, local.apexX, local.apexY, local.apexZ, scratchPoint);
|
|
148
|
+
world.apexX = body.x + scratchPoint[0];
|
|
149
|
+
world.apexY = body.y + scratchPoint[1];
|
|
150
|
+
world.apexZ = body.z + scratchPoint[2];
|
|
151
|
+
rotatePhysics3DPoint(qX, qY, qZ, qW, local.baseX, local.baseY, local.baseZ, scratchPoint);
|
|
152
|
+
world.baseX = body.x + scratchPoint[0];
|
|
153
|
+
world.baseY = body.y + scratchPoint[1];
|
|
154
|
+
world.baseZ = body.z + scratchPoint[2];
|
|
155
|
+
world.radius = local.radius;
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
112
158
|
if (local.kind === 'convex' && world.kind === 'convex') {
|
|
113
159
|
const source = local.points;
|
|
114
160
|
const target = world.points;
|
|
@@ -179,6 +225,32 @@ export function writePhysics3DColliderBounds(collider, out) {
|
|
|
179
225
|
out.maxY = Math.max(shape.y0, shape.y1) + shape.radius;
|
|
180
226
|
out.maxZ = Math.max(shape.z0, shape.z1) + shape.radius;
|
|
181
227
|
return;
|
|
228
|
+
case 'cylinder': {
|
|
229
|
+
// A cylinder's cap is a DISC, not a sphere, so its extent along each axis is `radius` reduced by
|
|
230
|
+
// how much the axis lies along the cylinder's own. Padding by the full radius the way the capsule
|
|
231
|
+
// above does is valid but loose — an axis-aligned cylinder would claim a bounding box a full
|
|
232
|
+
// radius too tall, and every extra unit is broadphase pairs the narrow phase then has to reject.
|
|
233
|
+
writeDiscExtent(shape.x1 - shape.x0, shape.y1 - shape.y0, shape.z1 - shape.z0, shape.radius, scratchExtent);
|
|
234
|
+
out.minX = Math.min(shape.x0, shape.x1) - scratchExtent[0];
|
|
235
|
+
out.minY = Math.min(shape.y0, shape.y1) - scratchExtent[1];
|
|
236
|
+
out.minZ = Math.min(shape.z0, shape.z1) - scratchExtent[2];
|
|
237
|
+
out.maxX = Math.max(shape.x0, shape.x1) + scratchExtent[0];
|
|
238
|
+
out.maxY = Math.max(shape.y0, shape.y1) + scratchExtent[1];
|
|
239
|
+
out.maxZ = Math.max(shape.z0, shape.z1) + scratchExtent[2];
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
case 'cone': {
|
|
243
|
+
// The union of a point and a disc: the apex contributes no extent at all, so padding it the way
|
|
244
|
+
// the base is padded would describe a cylinder rather than a cone.
|
|
245
|
+
writeDiscExtent(shape.baseX - shape.apexX, shape.baseY - shape.apexY, shape.baseZ - shape.apexZ, shape.radius, scratchExtent);
|
|
246
|
+
out.minX = Math.min(shape.apexX, shape.baseX - scratchExtent[0]);
|
|
247
|
+
out.minY = Math.min(shape.apexY, shape.baseY - scratchExtent[1]);
|
|
248
|
+
out.minZ = Math.min(shape.apexZ, shape.baseZ - scratchExtent[2]);
|
|
249
|
+
out.maxX = Math.max(shape.apexX, shape.baseX + scratchExtent[0]);
|
|
250
|
+
out.maxY = Math.max(shape.apexY, shape.baseY + scratchExtent[1]);
|
|
251
|
+
out.maxZ = Math.max(shape.apexZ, shape.baseZ + scratchExtent[2]);
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
182
254
|
case 'convex': {
|
|
183
255
|
const points = shape.points;
|
|
184
256
|
if (points.length < 3) {
|
|
@@ -241,5 +313,31 @@ function rotatePhysics3DPoint(qX, qY, qZ, qW, x, y, z, out) {
|
|
|
241
313
|
out[1] = y + qW * tY + qZ * tX - qX * tZ;
|
|
242
314
|
out[2] = z + qW * tZ + qX * tY - qY * tX;
|
|
243
315
|
}
|
|
316
|
+
// The per-axis half-extent of a disc of `radius` whose plane normal is `axis`, written as `[x, y, z]`.
|
|
317
|
+
//
|
|
318
|
+
// A disc reaches its full radius along an axis only when that axis lies IN its plane; along its own
|
|
319
|
+
// normal it reaches nothing. `sqrt(1 - component^2)` is exactly that falloff, with `component` the
|
|
320
|
+
// direction cosine between the world axis and the disc's normal. A degenerate (zero) axis has no plane,
|
|
321
|
+
// so the full radius is returned on every axis — the conservative answer, matching what validation
|
|
322
|
+
// would have rejected anyway.
|
|
323
|
+
function writeDiscExtent(axisX, axisY, axisZ, radius, out) {
|
|
324
|
+
const lengthSquared = axisX * axisX + axisY * axisY + axisZ * axisZ;
|
|
325
|
+
if (lengthSquared <= 0) {
|
|
326
|
+
out[0] = radius;
|
|
327
|
+
out[1] = radius;
|
|
328
|
+
out[2] = radius;
|
|
329
|
+
return;
|
|
330
|
+
}
|
|
331
|
+
const inverse = 1 / Math.sqrt(lengthSquared);
|
|
332
|
+
const nx = axisX * inverse;
|
|
333
|
+
const ny = axisY * inverse;
|
|
334
|
+
const nz = axisZ * inverse;
|
|
335
|
+
// Clamped at zero because 1 - n^2 can land a few ulps below it when the axis is exactly cardinal, and
|
|
336
|
+
// Math.sqrt of a negative would put NaN into a broadphase bound.
|
|
337
|
+
out[0] = radius * Math.sqrt(Math.max(0, 1 - nx * nx));
|
|
338
|
+
out[1] = radius * Math.sqrt(Math.max(0, 1 - ny * ny));
|
|
339
|
+
out[2] = radius * Math.sqrt(Math.max(0, 1 - nz * nz));
|
|
340
|
+
}
|
|
341
|
+
const scratchExtent = [0, 0, 0];
|
|
244
342
|
const scratchPoint = [0, 0, 0];
|
|
245
343
|
//# sourceMappingURL=colliderTransform.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colliderTransform.js","sourceRoot":"","sources":["../src/colliderTransform.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"colliderTransform.js","sourceRoot":"","sources":["../src/colliderTransform.ts"],"names":[],"mappings":"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"}
|
package/dist/debugGeometry.js
CHANGED
|
@@ -79,6 +79,25 @@ function writeCollider(out, shape, body) {
|
|
|
79
79
|
writeLine(out, 'collider', body.index, -1, scratchAnchorA[0], scratchAnchorA[1], scratchAnchorA[2], scratchAnchorB[0], scratchAnchorB[1], scratchAnchorB[2]);
|
|
80
80
|
return;
|
|
81
81
|
}
|
|
82
|
+
case 'cylinder': {
|
|
83
|
+
// The axis plus a ring at each cap. No spheres, unlike the capsule above — drawing one would show
|
|
84
|
+
// the rounded ends the cylinder deliberately does not have, and the two kinds would look identical
|
|
85
|
+
// in a debug view precisely where they differ.
|
|
86
|
+
writeBodyPoint(body, shape.x0, shape.y0, shape.z0, scratchAnchorA);
|
|
87
|
+
writeBodyPoint(body, shape.x1, shape.y1, shape.z1, scratchAnchorB);
|
|
88
|
+
writeAxialRing(out, body.index, scratchAnchorA, scratchAnchorB, shape.radius, 0);
|
|
89
|
+
writeAxialRing(out, body.index, scratchAnchorA, scratchAnchorB, shape.radius, 1);
|
|
90
|
+
writeLine(out, 'collider', body.index, -1, scratchAnchorA[0], scratchAnchorA[1], scratchAnchorA[2], scratchAnchorB[0], scratchAnchorB[1], scratchAnchorB[2]);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
case 'cone': {
|
|
94
|
+
// The base ring, plus the axis out to the apex. The apex is a point and needs no ring of its own.
|
|
95
|
+
writeBodyPoint(body, shape.apexX, shape.apexY, shape.apexZ, scratchAnchorA);
|
|
96
|
+
writeBodyPoint(body, shape.baseX, shape.baseY, shape.baseZ, scratchAnchorB);
|
|
97
|
+
writeAxialRing(out, body.index, scratchAnchorA, scratchAnchorB, shape.radius, 1);
|
|
98
|
+
writeLine(out, 'collider', body.index, -1, scratchAnchorA[0], scratchAnchorA[1], scratchAnchorA[2], scratchAnchorB[0], scratchAnchorB[1], scratchAnchorB[2]);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
82
101
|
case 'convex': {
|
|
83
102
|
// The hull's own triangulation, derived rather than stored: `CollisionConvex3D` carries no edges,
|
|
84
103
|
// and drawing a guessed edge set would show a solid the simulation does not have. Each triangle
|
|
@@ -193,6 +212,61 @@ const BOX_EDGES = [
|
|
|
193
212
|
[3, 7],
|
|
194
213
|
];
|
|
195
214
|
const HULL_VERTEX_RADIUS = 0.02;
|
|
215
|
+
// A closed ring of `RING_SEGMENTS` line segments around the axis from `start` to `end`, at parameter
|
|
216
|
+
// `t` along it. Used for the flat caps a cylinder and a cone have and a capsule does not.
|
|
217
|
+
//
|
|
218
|
+
// The two in-plane basis vectors come from crossing the axis with whichever cardinal direction it leans
|
|
219
|
+
// on LEAST, so the cross product never collapses — the same rule the collision core uses to pick a
|
|
220
|
+
// perpendicular, and for the same reason: crossing with a fixed axis fails exactly when the shape is
|
|
221
|
+
// aligned to it, which is the common case rather than a rare one.
|
|
222
|
+
function writeAxialRing(out, bodyIndex, start, end, radius, t) {
|
|
223
|
+
const axisX = end[0] - start[0];
|
|
224
|
+
const axisY = end[1] - start[1];
|
|
225
|
+
const axisZ = end[2] - start[2];
|
|
226
|
+
const length = Math.sqrt(axisX * axisX + axisY * axisY + axisZ * axisZ);
|
|
227
|
+
if (!(length > 0))
|
|
228
|
+
return;
|
|
229
|
+
const unitX = axisX / length;
|
|
230
|
+
const unitY = axisY / length;
|
|
231
|
+
const unitZ = axisZ / length;
|
|
232
|
+
const absX = Math.abs(unitX);
|
|
233
|
+
const absY = Math.abs(unitY);
|
|
234
|
+
const absZ = Math.abs(unitZ);
|
|
235
|
+
const pickX = absX <= absY && absX <= absZ ? 1 : 0;
|
|
236
|
+
const pickY = pickX === 0 && absY <= absZ ? 1 : 0;
|
|
237
|
+
const pickZ = pickX === 0 && pickY === 0 ? 1 : 0;
|
|
238
|
+
let uX = unitY * pickZ - unitZ * pickY;
|
|
239
|
+
let uY = unitZ * pickX - unitX * pickZ;
|
|
240
|
+
let uZ = unitX * pickY - unitY * pickX;
|
|
241
|
+
const uLength = Math.sqrt(uX * uX + uY * uY + uZ * uZ);
|
|
242
|
+
if (!(uLength > 0))
|
|
243
|
+
return;
|
|
244
|
+
uX /= uLength;
|
|
245
|
+
uY /= uLength;
|
|
246
|
+
uZ /= uLength;
|
|
247
|
+
const vX = unitY * uZ - unitZ * uY;
|
|
248
|
+
const vY = unitZ * uX - unitX * uZ;
|
|
249
|
+
const vZ = unitX * uY - unitY * uX;
|
|
250
|
+
const centerX = start[0] + axisX * t;
|
|
251
|
+
const centerY = start[1] + axisY * t;
|
|
252
|
+
const centerZ = start[2] + axisZ * t;
|
|
253
|
+
let previousX = centerX + uX * radius;
|
|
254
|
+
let previousY = centerY + uY * radius;
|
|
255
|
+
let previousZ = centerZ + uZ * radius;
|
|
256
|
+
for (let i = 1; i <= RING_SEGMENTS; i += 1) {
|
|
257
|
+
const angle = (i / RING_SEGMENTS) * Math.PI * 2;
|
|
258
|
+
const cos = Math.cos(angle) * radius;
|
|
259
|
+
const sin = Math.sin(angle) * radius;
|
|
260
|
+
const nextX = centerX + uX * cos + vX * sin;
|
|
261
|
+
const nextY = centerY + uY * cos + vY * sin;
|
|
262
|
+
const nextZ = centerZ + uZ * cos + vZ * sin;
|
|
263
|
+
writeLine(out, 'collider', bodyIndex, -1, previousX, previousY, previousZ, nextX, nextY, nextZ);
|
|
264
|
+
previousX = nextX;
|
|
265
|
+
previousY = nextY;
|
|
266
|
+
previousZ = nextZ;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
const RING_SEGMENTS = 16;
|
|
196
270
|
const scratchAnchorA = [0, 0, 0];
|
|
197
271
|
const scratchAnchorB = [0, 0, 0];
|
|
198
272
|
const scratchCenter = [0, 0, 0];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debugGeometry.js","sourceRoot":"","sources":["../src/debugGeometry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"debugGeometry.js","sourceRoot":"","sources":["../src/debugGeometry.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,12 +8,12 @@ export { isPhysics3DPairJointSuppressed } from './jointCollisionSuppression';
|
|
|
8
8
|
export { createPhysics3DBallAndSocketJoint, createPhysics3DConeTwistJoint, createPhysics3DDistanceJoint, createPhysics3DFixedJoint, createPhysics3DGeneric6DofJoint, createPhysics3DHingeJoint, createPhysics3DSliderJoint, } from './jointFactories';
|
|
9
9
|
export { addPhysics3DJoint, getPhysics3DJointSolver, invalidatePhysics3DJoint, registerPhysics3DJointSolver, removePhysics3DJoint, } from './jointRegistry';
|
|
10
10
|
export { physics3DBallAndSocketJointSolver, physics3DConeTwistJointSolver, physics3DDistanceJointSolver, physics3DFixedJointSolver, physics3DGeneric6DofJointSolver, physics3DHingeJointSolver, physics3DSliderJointSolver, Physics3DBallAndSocketJointKind, Physics3DConeTwistJointKind, Physics3DDistanceJointKind, Physics3DFixedJointKind, Physics3DGeneric6DofJointKind, Physics3DHingeJointKind, Physics3DSliderJointKind, } from './joints';
|
|
11
|
-
export { combinePhysics3DMassData, computePhysics3DBoxMassData, computePhysics3DCapsuleMassData, computePhysics3DColliderMassData, computePhysics3DConvexHullMassData, computePhysics3DSphereMassData, createPhysics3DMassData, setRigidBody3DMassData, updateRigidBody3DMassData, } from './massProperties';
|
|
11
|
+
export { combinePhysics3DMassData, computePhysics3DBoxMassData, computePhysics3DCapsuleMassData, computePhysics3DConeMassData, computePhysics3DCylinderMassData, computePhysics3DColliderMassData, computePhysics3DConvexHullMassData, computePhysics3DSphereMassData, createPhysics3DMassData, setRigidBody3DMassData, updateRigidBody3DMassData, } from './massProperties';
|
|
12
12
|
export { mixPhysics3DFriction, mixPhysics3DRestitution } from './material';
|
|
13
13
|
export { registerBuiltInPhysics3DJointSolvers } from './registerBuiltInPhysics3DJointSolvers';
|
|
14
14
|
export { stepPhysics3D, stepPhysics3DInterval } from './step';
|
|
15
15
|
export { addPhysics3DBody, addPhysics3DCollider, applyPhysics3DForce, applyPhysics3DForceAtPoint, applyPhysics3DLinearImpulse, applyPhysics3DTorque, createPhysics3DCollider, createPhysics3DSequentialImpulseConfig, createPhysics3DSolverConfig, createPhysics3DWorld, createRigidBody3D, findPhysics3DBody, invalidatePhysics3DCollider, Physics3DWorldVersion, removePhysics3DBody, removePhysics3DCollider, setPhysics3DBodyFixedRotation, setPhysics3DBodyTransform, setPhysics3DBodyType, wakePhysics3DBody, writeRigidBody3DWorldCenter, } from './world';
|
|
16
|
-
export { createPhysics3DQueryFilter, createPhysics3DQueryResult, createPhysics3DRayResult, queryPhysics3DPoint, queryPhysics3DRay, queryPhysics3DRayClosest, queryPhysics3DRegion, } from './worldQueries';
|
|
16
|
+
export { createPhysics3DQueryFilter, createPhysics3DQueryResult, createPhysics3DRayResult, createPhysics3DShapeCastResult, queryPhysics3DPoint, queryPhysics3DRay, queryPhysics3DRayClosest, queryPhysics3DRegion, queryPhysics3DShapeCast, } from './worldQueries';
|
|
17
17
|
export { createPhysics3DDebugGeometry, writePhysics3DDebugGeometry } from './debugGeometry';
|
|
18
18
|
export { hasActivePhysics3DBullet, integratePhysics3DContinuous } from './continuous';
|
|
19
19
|
export { breakPhysics3DJoint, evaluatePhysics3DJointBreakage, isPhysics3DJointBreakable } from './jointBreakage';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,8BAA8B,GAC/B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACnH,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,4BAA4B,EAC5B,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,4BAA4B,EAC5B,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EACzB,0BAA0B,EAC1B,+BAA+B,EAC/B,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,+BAA+B,EAC/B,gCAAgC,EAChC,kCAAkC,EAClC,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,oBAAoB,EACpB,uBAAuB,EACvB,sCAAsC,EACtC,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,6BAA6B,EAC7B,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,8BAA8B,GAC/B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACnH,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,4BAA4B,EAC5B,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,4BAA4B,EAC5B,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EACzB,0BAA0B,EAC1B,+BAA+B,EAC/B,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,+BAA+B,EAC/B,4BAA4B,EAC5B,gCAAgC,EAChC,gCAAgC,EAChC,kCAAkC,EAClC,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,oBAAoB,EACpB,uBAAuB,EACvB,sCAAsC,EACtC,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,6BAA6B,EAC7B,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,8BAA8B,EAC9B,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAEtF,OAAO,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACjH,OAAO,EACL,mCAAmC,EACnC,2BAA2B,EAC3B,4BAA4B,EAC5B,8BAA8B,EAC9B,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -8,12 +8,12 @@ export { isPhysics3DPairJointSuppressed } from './jointCollisionSuppression';
|
|
|
8
8
|
export { createPhysics3DBallAndSocketJoint, createPhysics3DConeTwistJoint, createPhysics3DDistanceJoint, createPhysics3DFixedJoint, createPhysics3DGeneric6DofJoint, createPhysics3DHingeJoint, createPhysics3DSliderJoint, } from './jointFactories';
|
|
9
9
|
export { addPhysics3DJoint, getPhysics3DJointSolver, invalidatePhysics3DJoint, registerPhysics3DJointSolver, removePhysics3DJoint, } from './jointRegistry';
|
|
10
10
|
export { physics3DBallAndSocketJointSolver, physics3DConeTwistJointSolver, physics3DDistanceJointSolver, physics3DFixedJointSolver, physics3DGeneric6DofJointSolver, physics3DHingeJointSolver, physics3DSliderJointSolver, Physics3DBallAndSocketJointKind, Physics3DConeTwistJointKind, Physics3DDistanceJointKind, Physics3DFixedJointKind, Physics3DGeneric6DofJointKind, Physics3DHingeJointKind, Physics3DSliderJointKind, } from './joints';
|
|
11
|
-
export { combinePhysics3DMassData, computePhysics3DBoxMassData, computePhysics3DCapsuleMassData, computePhysics3DColliderMassData, computePhysics3DConvexHullMassData, computePhysics3DSphereMassData, createPhysics3DMassData, setRigidBody3DMassData, updateRigidBody3DMassData, } from './massProperties';
|
|
11
|
+
export { combinePhysics3DMassData, computePhysics3DBoxMassData, computePhysics3DCapsuleMassData, computePhysics3DConeMassData, computePhysics3DCylinderMassData, computePhysics3DColliderMassData, computePhysics3DConvexHullMassData, computePhysics3DSphereMassData, createPhysics3DMassData, setRigidBody3DMassData, updateRigidBody3DMassData, } from './massProperties';
|
|
12
12
|
export { mixPhysics3DFriction, mixPhysics3DRestitution } from './material';
|
|
13
13
|
export { registerBuiltInPhysics3DJointSolvers } from './registerBuiltInPhysics3DJointSolvers';
|
|
14
14
|
export { stepPhysics3D, stepPhysics3DInterval } from './step';
|
|
15
15
|
export { addPhysics3DBody, addPhysics3DCollider, applyPhysics3DForce, applyPhysics3DForceAtPoint, applyPhysics3DLinearImpulse, applyPhysics3DTorque, createPhysics3DCollider, createPhysics3DSequentialImpulseConfig, createPhysics3DSolverConfig, createPhysics3DWorld, createRigidBody3D, findPhysics3DBody, invalidatePhysics3DCollider, Physics3DWorldVersion, removePhysics3DBody, removePhysics3DCollider, setPhysics3DBodyFixedRotation, setPhysics3DBodyTransform, setPhysics3DBodyType, wakePhysics3DBody, writeRigidBody3DWorldCenter, } from './world';
|
|
16
|
-
export { createPhysics3DQueryFilter, createPhysics3DQueryResult, createPhysics3DRayResult, queryPhysics3DPoint, queryPhysics3DRay, queryPhysics3DRayClosest, queryPhysics3DRegion, } from './worldQueries';
|
|
16
|
+
export { createPhysics3DQueryFilter, createPhysics3DQueryResult, createPhysics3DRayResult, createPhysics3DShapeCastResult, queryPhysics3DPoint, queryPhysics3DRay, queryPhysics3DRayClosest, queryPhysics3DRegion, queryPhysics3DShapeCast, } from './worldQueries';
|
|
17
17
|
export { createPhysics3DDebugGeometry, writePhysics3DDebugGeometry } from './debugGeometry';
|
|
18
18
|
export { hasActivePhysics3DBullet, integratePhysics3DContinuous } from './continuous';
|
|
19
19
|
export { breakPhysics3DJoint, evaluatePhysics3DJointBreakage, isPhysics3DJointBreakable } from './jointBreakage';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,8BAA8B,GAC/B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACnH,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,4BAA4B,EAC5B,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,4BAA4B,EAC5B,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EACzB,0BAA0B,EAC1B,+BAA+B,EAC/B,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,+BAA+B,EAC/B,gCAAgC,EAChC,kCAAkC,EAClC,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,oBAAoB,EACpB,uBAAuB,EACvB,sCAAsC,EACtC,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,6BAA6B,EAC7B,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,8BAA8B,GAC/B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACnH,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,4BAA4B,EAC5B,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,4BAA4B,EAC5B,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EACzB,0BAA0B,EAC1B,+BAA+B,EAC/B,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,+BAA+B,EAC/B,4BAA4B,EAC5B,gCAAgC,EAChC,gCAAgC,EAChC,kCAAkC,EAClC,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,oBAAoB,EACpB,uBAAuB,EACvB,sCAAsC,EACtC,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,6BAA6B,EAC7B,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,8BAA8B,EAC9B,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAEtF,OAAO,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACjH,OAAO,EACL,mCAAmC,EACnC,2BAA2B,EAC3B,4BAA4B,EAC5B,8BAA8B,EAC9B,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jointFactories.d.ts","sourceRoot":"","sources":["../src/jointFactories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAC3B,kCAAkC,EAClC,uBAAuB,EACvB,8BAA8B,EAC9B,sBAAsB,EACtB,6BAA6B,EAC7B,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAChC,mBAAmB,EACnB,0BAA0B,EAK1B,oBAAoB,EACpB,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;AAkBlC,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,QAAQ,CAAC,kCAAkC,CAAC,GACpD,2BAA2B,CAE7B;AAKD,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,QAAQ,CAAC,8BAA8B,CAAC,GAChD,uBAAuB,
|
|
1
|
+
{"version":3,"file":"jointFactories.d.ts","sourceRoot":"","sources":["../src/jointFactories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAC3B,kCAAkC,EAClC,uBAAuB,EACvB,8BAA8B,EAC9B,sBAAsB,EACtB,6BAA6B,EAC7B,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAChC,mBAAmB,EACnB,0BAA0B,EAK1B,oBAAoB,EACpB,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;AAkBlC,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,QAAQ,CAAC,kCAAkC,CAAC,GACpD,2BAA2B,CAE7B;AAKD,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,QAAQ,CAAC,8BAA8B,CAAC,GAChD,uBAAuB,CAkBzB;AAKD,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,QAAQ,CAAC,6BAA6B,CAAC,GAAG,sBAAsB,CAcrH;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAAG,mBAAmB,CAE5G;AAKD,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,QAAQ,CAAC,gCAAgC,CAAC,GAClD,yBAAyB,CAuB3B;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAAG,mBAAmB,CAkB5G;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,QAAQ,CAAC,2BAA2B,CAAC,GAAG,oBAAoB,CAkB/G"}
|
package/dist/jointFactories.js
CHANGED
|
@@ -22,6 +22,9 @@ export function createPhysics3DConeTwistJoint(options) {
|
|
|
22
22
|
enableTwistLimit: options.enableTwistLimit ?? false,
|
|
23
23
|
lowerTwistAngle: options.lowerTwistAngle ?? 0,
|
|
24
24
|
upperTwistAngle: options.upperTwistAngle ?? 0,
|
|
25
|
+
enableLimitSpring: options.enableLimitSpring ?? false,
|
|
26
|
+
limitFrequencyHz: options.limitFrequencyHz ?? 0,
|
|
27
|
+
limitDampingRatio: options.limitDampingRatio ?? 0,
|
|
25
28
|
swingLimitImpulse: 0,
|
|
26
29
|
lowerTwistImpulse: 0,
|
|
27
30
|
upperTwistImpulse: 0,
|
|
@@ -68,6 +71,9 @@ export function createPhysics3DGeneric6DofJoint(options) {
|
|
|
68
71
|
upperAngularX: options.upperAngularX ?? -1,
|
|
69
72
|
upperAngularY: options.upperAngularY ?? -1,
|
|
70
73
|
upperAngularZ: options.upperAngularZ ?? -1,
|
|
74
|
+
enableLimitSpring: options.enableLimitSpring ?? false,
|
|
75
|
+
limitFrequencyHz: options.limitFrequencyHz ?? 0,
|
|
76
|
+
limitDampingRatio: options.limitDampingRatio ?? 0,
|
|
71
77
|
lowerLimitImpulses: [0, 0, 0, 0, 0, 0],
|
|
72
78
|
upperLimitImpulses: [0, 0, 0, 0, 0, 0],
|
|
73
79
|
};
|
|
@@ -83,6 +89,9 @@ export function createPhysics3DHingeJoint(options) {
|
|
|
83
89
|
enableMotor: options.enableMotor ?? false,
|
|
84
90
|
motorSpeed: options.motorSpeed ?? 0,
|
|
85
91
|
maxMotorTorque: options.maxMotorTorque ?? 0,
|
|
92
|
+
enableLimitSpring: options.enableLimitSpring ?? false,
|
|
93
|
+
limitFrequencyHz: options.limitFrequencyHz ?? 0,
|
|
94
|
+
limitDampingRatio: options.limitDampingRatio ?? 0,
|
|
86
95
|
motorImpulse: 0,
|
|
87
96
|
lowerLimitImpulse: 0,
|
|
88
97
|
upperLimitImpulse: 0,
|
|
@@ -99,6 +108,9 @@ export function createPhysics3DSliderJoint(options) {
|
|
|
99
108
|
enableMotor: options.enableMotor ?? false,
|
|
100
109
|
motorSpeed: options.motorSpeed ?? 0,
|
|
101
110
|
maxMotorForce: options.maxMotorForce ?? 0,
|
|
111
|
+
enableLimitSpring: options.enableLimitSpring ?? false,
|
|
112
|
+
limitFrequencyHz: options.limitFrequencyHz ?? 0,
|
|
113
|
+
limitDampingRatio: options.limitDampingRatio ?? 0,
|
|
102
114
|
motorImpulse: 0,
|
|
103
115
|
lowerLimitImpulse: 0,
|
|
104
116
|
upperLimitImpulse: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jointFactories.js","sourceRoot":"","sources":["../src/jointFactories.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAElB,0GAA0G;AAC1G,2GAA2G;AAC3G,wBAAwB;AACxB,EAAE;AACF,yGAAyG;AACzG,gFAAgF;AAChF,MAAM,UAAU,iCAAiC,CAC/C,OAAqD;IAErD,OAAO,EAAE,IAAI,EAAE,+BAA+B,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,8GAA8G;AAC9G,uGAAuG;AACvG,wCAAwC;AACxC,MAAM,UAAU,6BAA6B,CAC3C,OAAiD;IAEjD,OAAO;QACL,IAAI,EAAE,2BAA2B;QACjC,GAAG,eAAe,CAAC,OAAO,CAAC;QAC3B,GAAG,iBAAiB,CAAC,OAAO,CAAC;QAC7B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,IAAI;QAClD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC;QAC/C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC;QAC/C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,KAAK;QACnD,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,CAAC;QAC7C,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,CAAC;QAC7C,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC;KACrB,CAAC;AACJ,CAAC;AAED,yGAAyG;AACzG,6GAA6G;AAC7G,kGAAkG;AAClG,MAAM,UAAU,4BAA4B,CAAC,OAAgD;IAC3F,OAAO;QACL,IAAI,EAAE,0BAA0B;QAChC,GAAG,eAAe,CAAC,OAAO,CAAC;QAC3B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC;QAC3B,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,KAAK;QAC3C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC;QACrC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,CAAC;QACvC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,KAAK;QACzC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,CAAC;QACjC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,iBAAiB;QACxD,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAA6C;IACrF,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;AACvG,CAAC;AAED,8GAA8G;AAC9G,2GAA2G;AAC3G,sDAAsD;AACtD,MAAM,UAAU,+BAA+B,CAC7C,OAAmD;IAEnD,OAAO;QACL,IAAI,EAAE,6BAA6B;QACnC,GAAG,eAAe,CAAC,OAAO,CAAC;QAC3B,GAAG,iBAAiB,CAAC,OAAO,CAAC;QAC7B,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,CAAC;QACvC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,CAAC;QACvC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,CAAC;QACvC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC;QACxC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC;QACxC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC;QACxC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC;QACzC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC;QACzC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC;QACzC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;QAC1C,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;QAC1C,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;QAC1C,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACtC,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAA6C;IACrF,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,GAAG,eAAe,CAAC,OAAO,CAAC;QAC3B,GAAG,iBAAiB,CAAC,OAAO,CAAC;QAC7B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,KAAK;QACzC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC;QACnC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC;QACnC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,KAAK;QACzC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC;QACnC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,CAAC;QAC3C,YAAY,EAAE,CAAC;QACf,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAA8C;IACvF,OAAO;QACL,IAAI,EAAE,wBAAwB;QAC9B,GAAG,eAAe,CAAC,OAAO,CAAC;QAC3B,GAAG,iBAAiB,CAAC,OAAO,CAAC;QAC7B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,KAAK;QACzC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,CAAC;QAC/C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,CAAC;QAC/C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,KAAK;QACzC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC;QACnC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC;QACzC,YAAY,EAAE,CAAC;QACf,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,OAAwC;IAC/D,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC;QACzC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC;QACzC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC;QACzC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC;QACzC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC;QACzC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC;QACzC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,KAAK;QACnD,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,iBAAiB;QAC1D,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,iBAAiB;QAC5D,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,CAAC;QACX,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;KACP,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,OAA6C;IACtE,OAAO;QACL,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,CAAC;QAC7C,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,CAAC;QAC7C,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,CAAC;QAC7C,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,CAAC;QAC7C,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,CAAC;QAC7C,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,CAAC;QAC7C,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,CAAC;QAC7C,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,CAAC;KAC9C,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"jointFactories.js","sourceRoot":"","sources":["../src/jointFactories.ts"],"names":[],"mappings":"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"}
|
package/dist/jointRows.d.ts
CHANGED
|
@@ -16,14 +16,15 @@ export declare function readFrameRotations(bodyA: Readonly<RigidBody3D>, bodyB:
|
|
|
16
16
|
export declare function readJointImpulse(joint: Readonly<Physics3DJoint>, slot: number): number;
|
|
17
17
|
export declare function solveAngularBlock(bodyA: RigidBody3D, bodyB: RigidBody3D, joint: Physics3DJoint, state: readonly number[], massOffset: number, biasOffset: number): void;
|
|
18
18
|
export declare function solveEqualityRow(bodyA: RigidBody3D, bodyB: RigidBody3D, joint: Physics3DJoint, slot: number, state: readonly number[], offset: number, mass: number, error: number, biasFactor: number): void;
|
|
19
|
-
export declare function solveLowerLimitRow(bodyA: RigidBody3D, bodyB: RigidBody3D, state: number[], offset: number, mass: number, error: number, biasFactor: number, accumulatorSlot: number): void;
|
|
19
|
+
export declare function solveLowerLimitRow(bodyA: RigidBody3D, bodyB: RigidBody3D, state: number[], offset: number, mass: number, error: number, biasFactor: number, accumulatorSlot: number, gamma?: number): void;
|
|
20
20
|
export declare function solveMotorRow(bodyA: RigidBody3D, bodyB: RigidBody3D, state: readonly number[], offset: number, mass: number, speed: number, maxImpulse: number, previous: number): number;
|
|
21
21
|
export declare function solvePointBlock(bodyA: RigidBody3D, bodyB: RigidBody3D, joint: Physics3DJoint, state: readonly number[]): void;
|
|
22
|
-
export declare function solveUpperLimitRow(bodyA: RigidBody3D, bodyB: RigidBody3D, state: number[], offset: number, mass: number, error: number, biasFactor: number, accumulatorSlot: number): void;
|
|
22
|
+
export declare function solveUpperLimitRow(bodyA: RigidBody3D, bodyB: RigidBody3D, state: number[], offset: number, mass: number, error: number, biasFactor: number, accumulatorSlot: number, gamma?: number): void;
|
|
23
23
|
export declare function warmStartAngularBlock(bodyA: RigidBody3D, bodyB: RigidBody3D, joint: Readonly<Physics3DJoint>): void;
|
|
24
24
|
export declare function warmStartPointBlock(bodyA: RigidBody3D, bodyB: RigidBody3D, joint: Readonly<Physics3DJoint>): void;
|
|
25
25
|
export declare function writeAngularRow(state: number[], offset: number, axisX: number, axisY: number, axisZ: number): void;
|
|
26
26
|
export declare function writeJointImpulse(joint: Physics3DJoint, slot: number, value: number): void;
|
|
27
|
+
export declare function writePhysics3DSoftRowParameters(mass: number, frequencyHz: number, dampingRatio: number, dt: number, hardBiasFactor: number, out: number[]): void;
|
|
27
28
|
export declare function writeRow(state: number[], offset: number, directionX: number, directionY: number, directionZ: number, armAX: number, armAY: number, armAZ: number, armBX: number, armBY: number, armBZ: number): void;
|
|
28
29
|
export declare const frameABasis: number[];
|
|
29
30
|
export declare const frameBBasis: number[];
|
package/dist/jointRows.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jointRows.d.ts","sourceRoot":"","sources":["../src/jointRows.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAiClG,eAAO,MAAM,UAAU,IAAI,CAAC;AAI5B,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,YAAY,IAAI,CAAC;AAG9B,wBAAgB,QAAQ,CACtB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CAgBN;AAaD,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAc/E;AAMD,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAE3D;AAID,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAExF;AAGD,wBAAgB,UAAU,CACxB,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC5B,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC5B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,MAAM,EAAE,MAAM,GACb,MAAM,CAcR;AAGD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC5B,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC5B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,MAAM,EAAE,MAAM,GACb,MAAM,CAcR;AAID,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC5B,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC5B,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,GACT,IAAI,CAoBN;AAID,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC5B,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC5B,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,MAAM,EAAE,EACf,EAAE,EAAE,MAAM,GACT,IAAI,CAqBN;AAID,wBAAgB,cAAc,CAC5B,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC5B,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC5B,MAAM,EAAE,oBAAoB,GAC3B,IAAI,CAkBN;AAGD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC5B,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC5B,MAAM,EAAE,oBAAoB,GAC3B,IAAI,CAkBN;AAGD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAetF;AAGD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,IAAI,CAiBN;AAGD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GACjB,IAAI,CAKN;
|
|
1
|
+
{"version":3,"file":"jointRows.d.ts","sourceRoot":"","sources":["../src/jointRows.ts"],"names":[],"mappings":"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"}
|
package/dist/jointRows.js
CHANGED
|
@@ -156,10 +156,14 @@ export function solveEqualityRow(bodyA, bodyB, joint, slot, state, offset, mass,
|
|
|
156
156
|
// joint authored out of range and sitting still is never pushed back. `min(error, 0)` corrects but cannot
|
|
157
157
|
// suppress: it zeroes the bias while INSIDE the interval, and the row then brakes any approach to the bound
|
|
158
158
|
// from a distance — a motor at speed held at a standstill by a limit it was nowhere near.
|
|
159
|
-
|
|
159
|
+
// `gamma` is the row's COMPLIANCE, zero for a hard stop. It multiplies the ACCUMULATED impulse rather
|
|
160
|
+
// than this iteration's, because a soft constraint is one that gives way in proportion to how hard it
|
|
161
|
+
// has already been pushing — a statement about the total, not the increment. The non-negative clamp
|
|
162
|
+
// survives softening untouched: a compliant stop still may only push back through the bound.
|
|
163
|
+
export function solveLowerLimitRow(bodyA, bodyB, state, offset, mass, error, biasFactor, accumulatorSlot, gamma = 0) {
|
|
160
164
|
const velocity = getRowVelocity(bodyA, bodyB, state, offset);
|
|
161
165
|
const previous = state[accumulatorSlot];
|
|
162
|
-
const total = Math.max(previous - mass * (velocity + error * biasFactor), 0);
|
|
166
|
+
const total = Math.max(previous - mass * (velocity + error * biasFactor + gamma * previous), 0);
|
|
163
167
|
state[accumulatorSlot] = total;
|
|
164
168
|
applyRow(bodyA, bodyB, state, offset, total - previous);
|
|
165
169
|
}
|
|
@@ -197,10 +201,10 @@ export function solvePointBlock(bodyA, bodyB, joint, state) {
|
|
|
197
201
|
//
|
|
198
202
|
// The mirror of `solveLowerLimitRow`, reached by reading the row backwards: negating both the velocity and
|
|
199
203
|
// the applied impulse turns "at least" into "at most" without a second sign convention to keep straight.
|
|
200
|
-
export function solveUpperLimitRow(bodyA, bodyB, state, offset, mass, error, biasFactor, accumulatorSlot) {
|
|
204
|
+
export function solveUpperLimitRow(bodyA, bodyB, state, offset, mass, error, biasFactor, accumulatorSlot, gamma = 0) {
|
|
201
205
|
const velocity = -getRowVelocity(bodyA, bodyB, state, offset);
|
|
202
206
|
const previous = state[accumulatorSlot];
|
|
203
|
-
const total = Math.max(previous - mass * (velocity + error * biasFactor), 0);
|
|
207
|
+
const total = Math.max(previous - mass * (velocity + error * biasFactor + gamma * previous), 0);
|
|
204
208
|
state[accumulatorSlot] = total;
|
|
205
209
|
applyRow(bodyA, bodyB, state, offset, -(total - previous));
|
|
206
210
|
}
|
|
@@ -240,6 +244,45 @@ export function writeJointImpulse(joint, slot, value) {
|
|
|
240
244
|
break;
|
|
241
245
|
}
|
|
242
246
|
}
|
|
247
|
+
// Derives the three numbers a SOFT constraint row needs from the motion a caller described, writing
|
|
248
|
+
// `[mass, biasFactor, gamma]`.
|
|
249
|
+
//
|
|
250
|
+
// A frequency and a damping ratio describe the motion wanted; stiffness and damping are what the solver
|
|
251
|
+
// needs, and converting between them requires the mass being moved. Deriving them here, per-step and
|
|
252
|
+
// per-pair, is what makes a 2 Hz spring oscillate at 2 Hz whatever it is attached to — an authored
|
|
253
|
+
// stiffness would change frequency the moment either body's mass did.
|
|
254
|
+
//
|
|
255
|
+
// `biasFactor` is returned in the position a hard row's own bias factor occupies, so a row solves
|
|
256
|
+
// identically either way and the only difference between a stop and a spring is which three numbers it
|
|
257
|
+
// was handed.
|
|
258
|
+
//
|
|
259
|
+
// `hardBiasFactor` is what to fall back to when the spring cannot be computed, and it is a PARAMETER
|
|
260
|
+
// rather than a constant because the two callers legitimately disagree about it: a two-sided rest row
|
|
261
|
+
// corrects at `BAUMGARTE / dt`, while a one-sided limit row corrects fully at `1 / dt`. Baking either
|
|
262
|
+
// in would silently change the other's hard behaviour the first time it took this path.
|
|
263
|
+
//
|
|
264
|
+
// Compliance adds to the INVERSE mass, which is why the returned mass is not a scaled version of the
|
|
265
|
+
// input: softening makes a constraint easier to violate, and that is an addition on the reciprocal side.
|
|
266
|
+
// A non-positive frequency or timestep returns the HARD parameters, so "spring enabled with no
|
|
267
|
+
// frequency set" degrades to the stop it replaced rather than to a constraint that does nothing.
|
|
268
|
+
export function writePhysics3DSoftRowParameters(mass, frequencyHz, dampingRatio, dt, hardBiasFactor, out) {
|
|
269
|
+
if (!(frequencyHz > 0) || !(dt > 0)) {
|
|
270
|
+
out[0] = mass;
|
|
271
|
+
out[1] = hardBiasFactor;
|
|
272
|
+
out[2] = 0;
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
const angular = TAU * frequencyHz;
|
|
276
|
+
const damping = 2 * mass * dampingRatio * angular;
|
|
277
|
+
const stiffness = mass * angular * angular;
|
|
278
|
+
const gammaDenominator = dt * (damping + dt * stiffness);
|
|
279
|
+
const gamma = gammaDenominator > 0 ? 1 / gammaDenominator : 0;
|
|
280
|
+
const inverseMass = mass > 0 ? 1 / mass : 0;
|
|
281
|
+
const softened = inverseMass + gamma;
|
|
282
|
+
out[0] = softened > 0 ? 1 / softened : 0;
|
|
283
|
+
out[1] = dt * stiffness * gamma;
|
|
284
|
+
out[2] = gamma;
|
|
285
|
+
}
|
|
243
286
|
// Writes one constraint row into a joint's per-step state.
|
|
244
287
|
export function writeRow(state, offset, directionX, directionY, directionZ, armAX, armAY, armAZ, armBX, armBY, armBZ) {
|
|
245
288
|
state[offset] = directionX;
|
|
@@ -285,6 +328,7 @@ function writeBlock(state, offset, source) {
|
|
|
285
328
|
// The fraction of a joint's positional error corrected per step. Matches the contact solver's rationale:
|
|
286
329
|
// correcting all of it at once turns a deep error into an explosion.
|
|
287
330
|
const BAUMGARTE = 0.2;
|
|
331
|
+
const TAU = 2 * Math.PI;
|
|
288
332
|
// The world-space frames the prepare pass leaves for the kind that asked for them. Module scratch rather than
|
|
289
333
|
// per-joint state because they are consumed within one `prepare`, never across two.
|
|
290
334
|
export const frameABasis = new Array(9).fill(0);
|