@flighthq/physics3d 0.4.0-edge.1908.751021c

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.
Files changed (180) hide show
  1. package/dist/broadphase.d.ts +4 -0
  2. package/dist/broadphase.d.ts.map +1 -0
  3. package/dist/broadphase.js +158 -0
  4. package/dist/broadphase.js.map +1 -0
  5. package/dist/colliderCollision.d.ts +5 -0
  6. package/dist/colliderCollision.d.ts.map +1 -0
  7. package/dist/colliderCollision.js +55 -0
  8. package/dist/colliderCollision.js.map +1 -0
  9. package/dist/colliderTransform.d.ts +5 -0
  10. package/dist/colliderTransform.d.ts.map +1 -0
  11. package/dist/colliderTransform.js +424 -0
  12. package/dist/colliderTransform.js.map +1 -0
  13. package/dist/contactIntake.d.ts +5 -0
  14. package/dist/contactIntake.d.ts.map +1 -0
  15. package/dist/contactIntake.js +237 -0
  16. package/dist/contactIntake.js.map +1 -0
  17. package/dist/contacts.d.ts +4 -0
  18. package/dist/contacts.d.ts.map +1 -0
  19. package/dist/contacts.js +64 -0
  20. package/dist/contacts.js.map +1 -0
  21. package/dist/continuous.d.ts +5 -0
  22. package/dist/continuous.d.ts.map +1 -0
  23. package/dist/continuous.js +829 -0
  24. package/dist/continuous.js.map +1 -0
  25. package/dist/contract.d.ts +28 -0
  26. package/dist/contract.d.ts.map +1 -0
  27. package/dist/contract.js +28 -0
  28. package/dist/contract.js.map +1 -0
  29. package/dist/debugGeometry.d.ts +4 -0
  30. package/dist/debugGeometry.d.ts.map +1 -0
  31. package/dist/debugGeometry.js +333 -0
  32. package/dist/debugGeometry.js.map +1 -0
  33. package/dist/enablePhysics3DGuards.d.ts +4 -0
  34. package/dist/enablePhysics3DGuards.d.ts.map +1 -0
  35. package/dist/enablePhysics3DGuards.js +155 -0
  36. package/dist/enablePhysics3DGuards.js.map +1 -0
  37. package/dist/explainPhysics3DCollision.d.ts +3 -0
  38. package/dist/explainPhysics3DCollision.d.ts.map +1 -0
  39. package/dist/explainPhysics3DCollision.js +30 -0
  40. package/dist/explainPhysics3DCollision.js.map +1 -0
  41. package/dist/explainPhysics3DJoints.d.ts +3 -0
  42. package/dist/explainPhysics3DJoints.d.ts.map +1 -0
  43. package/dist/explainPhysics3DJoints.js +32 -0
  44. package/dist/explainPhysics3DJoints.js.map +1 -0
  45. package/dist/explainPhysics3DStep.d.ts +3 -0
  46. package/dist/explainPhysics3DStep.d.ts.map +1 -0
  47. package/dist/explainPhysics3DStep.js +51 -0
  48. package/dist/explainPhysics3DStep.js.map +1 -0
  49. package/dist/index.d.ts +22 -0
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +22 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/integrate.d.ts +6 -0
  54. package/dist/integrate.d.ts.map +1 -0
  55. package/dist/integrate.js +184 -0
  56. package/dist/integrate.js.map +1 -0
  57. package/dist/islands.d.ts +6 -0
  58. package/dist/islands.d.ts.map +1 -0
  59. package/dist/islands.js +333 -0
  60. package/dist/islands.js.map +1 -0
  61. package/dist/jointBreakage.d.ts +5 -0
  62. package/dist/jointBreakage.d.ts.map +1 -0
  63. package/dist/jointBreakage.js +44 -0
  64. package/dist/jointBreakage.js.map +1 -0
  65. package/dist/jointCollisionSuppression.d.ts +4 -0
  66. package/dist/jointCollisionSuppression.d.ts.map +1 -0
  67. package/dist/jointCollisionSuppression.js +40 -0
  68. package/dist/jointCollisionSuppression.js.map +1 -0
  69. package/dist/jointFactories.d.ts +9 -0
  70. package/dist/jointFactories.d.ts.map +1 -0
  71. package/dist/jointFactories.js +159 -0
  72. package/dist/jointFactories.js.map +1 -0
  73. package/dist/jointMath.d.ts +17 -0
  74. package/dist/jointMath.d.ts.map +1 -0
  75. package/dist/jointMath.js +361 -0
  76. package/dist/jointMath.js.map +1 -0
  77. package/dist/jointReaction.d.ts +8 -0
  78. package/dist/jointReaction.d.ts.map +1 -0
  79. package/dist/jointReaction.js +65 -0
  80. package/dist/jointReaction.js.map +1 -0
  81. package/dist/jointRegistry.d.ts +8 -0
  82. package/dist/jointRegistry.d.ts.map +1 -0
  83. package/dist/jointRegistry.js +144 -0
  84. package/dist/jointRegistry.js.map +1 -0
  85. package/dist/jointRows.d.ts +33 -0
  86. package/dist/jointRows.d.ts.map +1 -0
  87. package/dist/jointRows.js +352 -0
  88. package/dist/jointRows.js.map +1 -0
  89. package/dist/joints.d.ts +16 -0
  90. package/dist/joints.d.ts.map +1 -0
  91. package/dist/joints.js +1060 -0
  92. package/dist/joints.js.map +1 -0
  93. package/dist/massProperties.d.ts +13 -0
  94. package/dist/massProperties.d.ts.map +1 -0
  95. package/dist/massProperties.js +462 -0
  96. package/dist/massProperties.js.map +1 -0
  97. package/dist/material.d.ts +3 -0
  98. package/dist/material.d.ts.map +1 -0
  99. package/dist/material.js +13 -0
  100. package/dist/material.js.map +1 -0
  101. package/dist/nodeSync.d.ts +3 -0
  102. package/dist/nodeSync.d.ts.map +1 -0
  103. package/dist/nodeSync.js +16 -0
  104. package/dist/nodeSync.js.map +1 -0
  105. package/dist/ownership.d.ts +8 -0
  106. package/dist/ownership.d.ts.map +1 -0
  107. package/dist/ownership.js +26 -0
  108. package/dist/ownership.js.map +1 -0
  109. package/dist/physics3DBroadphasePublication.d.ts +5 -0
  110. package/dist/physics3DBroadphasePublication.d.ts.map +1 -0
  111. package/dist/physics3DBroadphasePublication.js +49 -0
  112. package/dist/physics3DBroadphasePublication.js.map +1 -0
  113. package/dist/physics3DSpatialIndexingGuards.d.ts +4 -0
  114. package/dist/physics3DSpatialIndexingGuards.d.ts.map +1 -0
  115. package/dist/physics3DSpatialIndexingGuards.js +11 -0
  116. package/dist/physics3DSpatialIndexingGuards.js.map +1 -0
  117. package/dist/registerBuiltInPhysics3DJointSolvers.d.ts +3 -0
  118. package/dist/registerBuiltInPhysics3DJointSolvers.d.ts.map +1 -0
  119. package/dist/registerBuiltInPhysics3DJointSolvers.js +15 -0
  120. package/dist/registerBuiltInPhysics3DJointSolvers.js.map +1 -0
  121. package/dist/solver.d.ts +8 -0
  122. package/dist/solver.d.ts.map +1 -0
  123. package/dist/solver.js +460 -0
  124. package/dist/solver.js.map +1 -0
  125. package/dist/step.d.ts +5 -0
  126. package/dist/step.d.ts.map +1 -0
  127. package/dist/step.js +302 -0
  128. package/dist/step.js.map +1 -0
  129. package/dist/stepValidation.d.ts +13 -0
  130. package/dist/stepValidation.d.ts.map +1 -0
  131. package/dist/stepValidation.js +284 -0
  132. package/dist/stepValidation.js.map +1 -0
  133. package/dist/symmetricTensor.d.ts +11 -0
  134. package/dist/symmetricTensor.d.ts.map +1 -0
  135. package/dist/symmetricTensor.js +150 -0
  136. package/dist/symmetricTensor.js.map +1 -0
  137. package/dist/world.d.ts +27 -0
  138. package/dist/world.d.ts.map +1 -0
  139. package/dist/world.js +762 -0
  140. package/dist/world.js.map +1 -0
  141. package/dist/worldQueries.d.ts +11 -0
  142. package/dist/worldQueries.d.ts.map +1 -0
  143. package/dist/worldQueries.js +409 -0
  144. package/dist/worldQueries.js.map +1 -0
  145. package/package.json +55 -0
  146. package/src/broadphase.test.ts +265 -0
  147. package/src/colliderCollision.test.ts +57 -0
  148. package/src/colliderTransform.test.ts +221 -0
  149. package/src/contactIntake.test.ts +370 -0
  150. package/src/contacts.test.ts +64 -0
  151. package/src/continuous.test.ts +679 -0
  152. package/src/debugGeometry.test.ts +288 -0
  153. package/src/enablePhysics3DGuards.test.ts +206 -0
  154. package/src/explainPhysics3DCollision.test.ts +78 -0
  155. package/src/explainPhysics3DJoints.test.ts +101 -0
  156. package/src/explainPhysics3DStep.test.ts +142 -0
  157. package/src/integrate.test.ts +279 -0
  158. package/src/islands.test.ts +384 -0
  159. package/src/jointBreakage.test.ts +143 -0
  160. package/src/jointCollisionSuppression.test.ts +94 -0
  161. package/src/jointFactories.test.ts +244 -0
  162. package/src/jointMath.test.ts +646 -0
  163. package/src/jointReaction.test.ts +241 -0
  164. package/src/jointRegistry.test.ts +229 -0
  165. package/src/jointRows.test.ts +548 -0
  166. package/src/joints.test.ts +1066 -0
  167. package/src/massProperties.test.ts +611 -0
  168. package/src/material.test.ts +40 -0
  169. package/src/nodeSync.test.ts +50 -0
  170. package/src/ownership.test.ts +61 -0
  171. package/src/physics3DBroadphasePublication.test.ts +63 -0
  172. package/src/physics3DSpatialIndexingGuards.test.ts +43 -0
  173. package/src/registerBuiltInPhysics3DJointSolvers.test.ts +51 -0
  174. package/src/solver.test.ts +567 -0
  175. package/src/step.test.ts +490 -0
  176. package/src/stepValidation.test.ts +346 -0
  177. package/src/stress.test.ts +526 -0
  178. package/src/symmetricTensor.test.ts +166 -0
  179. package/src/world.test.ts +1127 -0
  180. package/src/worldQueries.test.ts +565 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"world.js","sourceRoot":"","sources":["../src/world.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { CollisionBuiltInShape3D, Physics3DQueryFilter, Physics3DQueryResult, Physics3DRayResult, Physics3DShapeCastResult, Physics3DWorld, SpatialAabb3D } from '@flighthq/types/contract';
2
+ export declare function createPhysics3DQueryFilter(): Physics3DQueryFilter;
3
+ export declare function createPhysics3DQueryResult(): Physics3DQueryResult;
4
+ export declare function createPhysics3DRayResult(): Physics3DRayResult;
5
+ export declare function createPhysics3DShapeCastResult(): Physics3DShapeCastResult;
6
+ export declare function queryPhysics3DPoint(world: Physics3DWorld, x: number, y: number, z: number, out: Physics3DQueryResult, filter?: Readonly<Physics3DQueryFilter>): void;
7
+ export declare function queryPhysics3DRay(world: Physics3DWorld, originX: number, originY: number, originZ: number, directionX: number, directionY: number, directionZ: number, out: Physics3DRayResult, maxFraction?: number, filter?: Readonly<Physics3DQueryFilter>): void;
8
+ export declare function queryPhysics3DRayClosest(world: Physics3DWorld, originX: number, originY: number, originZ: number, directionX: number, directionY: number, directionZ: number, out: Physics3DRayResult, maxFraction?: number, filter?: Readonly<Physics3DQueryFilter>): void;
9
+ export declare function queryPhysics3DRegion(world: Physics3DWorld, region: Readonly<SpatialAabb3D>, out: Physics3DQueryResult, filter?: Readonly<Physics3DQueryFilter>): void;
10
+ export declare function queryPhysics3DShapeCast(world: Physics3DWorld, shape: Readonly<CollisionBuiltInShape3D>, dx: number, dy: number, dz: number, out: Physics3DShapeCastResult, maxFraction?: number, filter?: Readonly<Physics3DQueryFilter>): void;
11
+ //# sourceMappingURL=worldQueries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worldQueries.d.ts","sourceRoot":"","sources":["../src/worldQueries.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,uBAAuB,EAIvB,oBAAoB,EACpB,oBAAoB,EAEpB,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,EAEd,aAAa,EACd,MAAM,0BAA0B,CAAC;AAelC,wBAAgB,0BAA0B,IAAI,oBAAoB,CASjE;AAID,wBAAgB,0BAA0B,IAAI,oBAAoB,CAEjE;AAED,wBAAgB,wBAAwB,IAAI,kBAAkB,CAE7D;AAED,wBAAgB,8BAA8B,IAAI,wBAAwB,CAczE;AAKD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,EACrB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,GAAG,EAAE,oBAAoB,EACzB,MAAM,CAAC,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACtC,IAAI,CAwBN;AAKD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,kBAAkB,EACvB,WAAW,SAA2B,EACtC,MAAM,CAAC,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACtC,IAAI,CAcN;AAKD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,kBAAkB,EACvB,WAAW,SAA2B,EACtC,MAAM,CAAC,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACtC,IAAI,CAcN;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,EAC/B,GAAG,EAAE,oBAAoB,EACzB,MAAM,CAAC,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACtC,IAAI,CAuBN;AAmBD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EACxC,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,wBAAwB,EAC7B,WAAW,SAAI,EACf,MAAM,CAAC,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACtC,IAAI,CA8CN"}
@@ -0,0 +1,409 @@
1
+ import { createCollisionRaycastHit3D, createCollisionTimeOfImpact3D, getCollisionShapeContainsPoint3D, } from '@flighthq/collision/contract';
2
+ import { synchronizePhysics3DBroadphase } from './broadphase';
3
+ import { raycastPhysics3DColliderShape, sweepPhysics3DColliderShapes } from './colliderCollision';
4
+ import { writePhysics3DColliderBounds } from './colliderTransform';
5
+ // Queries against the world's CURRENT pose. Every one of them synchronizes the broadphase first, so a
6
+ // query made between steps — or before the first step — observes where the caller just put a body
7
+ // rather than the snapshot the most recent contact set was built from.
8
+ //
9
+ // Results are ordered by body index and then collider index rather than by backend traversal history,
10
+ // which is what makes a pick deterministic: a uniform grid walks a Map whose order follows insertion and
11
+ // movement, so two runs of the same scene would otherwise disagree about which of two overlapping
12
+ // colliders came first.
13
+ export function createPhysics3DQueryFilter() {
14
+ return {
15
+ categoryBits: 0xffffffff,
16
+ maskBits: 0xffffffff,
17
+ includeSensors: true,
18
+ includeDynamic: true,
19
+ includeKinematic: true,
20
+ includeStatic: true,
21
+ };
22
+ }
23
+ // Allocates a reusable query buffer. Entries stay allocated at their high-water mark; query functions
24
+ // rewrite them and publish only `hitCount`, so picking can run each frame without garbage.
25
+ export function createPhysics3DQueryResult() {
26
+ return { hits: [], hitCount: 0 };
27
+ }
28
+ export function createPhysics3DRayResult() {
29
+ return { hits: [], hitCount: 0 };
30
+ }
31
+ export function createPhysics3DShapeCastResult() {
32
+ return {
33
+ body: null,
34
+ collider: null,
35
+ colliderIndex: -1,
36
+ fraction: 0,
37
+ hit: false,
38
+ normalX: 0,
39
+ normalY: 0,
40
+ normalZ: 0,
41
+ x: 0,
42
+ y: 0,
43
+ z: 0,
44
+ };
45
+ }
46
+ // Writes every collider containing the world-space point. Broadphase candidates are confirmed by the
47
+ // collision package's exact shape predicate, so a rotated box does not report the empty corners of its
48
+ // bounding volume.
49
+ export function queryPhysics3DPoint(world, x, y, z, out, filter) {
50
+ out.hitCount = 0;
51
+ if (!Number.isFinite(x) || !Number.isFinite(y) || !Number.isFinite(z))
52
+ return;
53
+ const scratch = acquirePhysics3DQueryScratch();
54
+ try {
55
+ synchronizePhysics3DBroadphase(world);
56
+ world.index.querySpatialPoint(x, y, z, scratch.candidateBodies);
57
+ scratch.candidateBodies.sort(compareNumbers);
58
+ for (const bodyIndex of scratch.candidateBodies) {
59
+ const body = world.bodyByIndex.get(bodyIndex);
60
+ if (body === undefined || !passesBodyFilter(body, filter))
61
+ continue;
62
+ for (let colliderIndex = 0; colliderIndex < body.colliders.length; colliderIndex += 1) {
63
+ const collider = body.colliders[colliderIndex];
64
+ if (!passesColliderFilter(collider, filter))
65
+ continue;
66
+ const shape = collider.world;
67
+ if (shape.kind === 'triangle-mesh' || shape.kind === 'heightfield')
68
+ continue;
69
+ if (!getCollisionShapeContainsPoint3D(shape, x, y, z))
70
+ continue;
71
+ writeQueryHit(out, body, collider, colliderIndex);
72
+ }
73
+ }
74
+ }
75
+ finally {
76
+ releasePhysics3DQueryScratch(scratch);
77
+ }
78
+ }
79
+ // Writes every exact collider intersection with `origin + direction * fraction`, ordered nearest first.
80
+ // `maxFraction` turns the unbounded ray into a finite sweep without requiring direction to be
81
+ // normalized.
82
+ export function queryPhysics3DRay(world, originX, originY, originZ, directionX, directionY, directionZ, out, maxFraction = Number.POSITIVE_INFINITY, filter) {
83
+ queryPhysics3DRayInternal(world, originX, originY, originZ, directionX, directionY, directionZ, out, maxFraction, filter, false);
84
+ }
85
+ // Writes at most the nearest exact hit — the ground check, the hitscan shot. Ties use the same
86
+ // body-then-collider ordering as the all-hits query, so the selected result is deterministic rather than
87
+ // broadphase-history dependent.
88
+ export function queryPhysics3DRayClosest(world, originX, originY, originZ, directionX, directionY, directionZ, out, maxFraction = Number.POSITIVE_INFINITY, filter) {
89
+ queryPhysics3DRayInternal(world, originX, originY, originZ, directionX, directionY, directionZ, out, maxFraction, filter, true);
90
+ }
91
+ export function queryPhysics3DRegion(world, region, out, filter) {
92
+ out.hitCount = 0;
93
+ if (!isValidRegion(region))
94
+ return;
95
+ const scratch = acquirePhysics3DQueryScratch();
96
+ try {
97
+ synchronizePhysics3DBroadphase(world);
98
+ world.index.querySpatialRegion(region, scratch.candidateBodies);
99
+ scratch.candidateBodies.sort(compareNumbers);
100
+ for (const bodyIndex of scratch.candidateBodies) {
101
+ const body = world.bodyByIndex.get(bodyIndex);
102
+ if (body === undefined || !passesBodyFilter(body, filter))
103
+ continue;
104
+ for (let colliderIndex = 0; colliderIndex < body.colliders.length; colliderIndex += 1) {
105
+ const collider = body.colliders[colliderIndex];
106
+ if (!passesColliderFilter(collider, filter))
107
+ continue;
108
+ writePhysics3DColliderBounds(collider, scratch.colliderBounds);
109
+ if (!boundsOverlap(scratch.colliderBounds, region))
110
+ continue;
111
+ writeQueryHit(out, body, collider, colliderIndex);
112
+ }
113
+ }
114
+ }
115
+ finally {
116
+ releasePhysics3DQueryScratch(scratch);
117
+ }
118
+ }
119
+ // Writes every collider whose current world-space bounds overlap `region`. The spatial index holds
120
+ // aggregate BODY bounds, so its candidates are refined per collider before publication: a region in the
121
+ // empty gap between two colliders on one body must not report either of them.
122
+ // Sweeps `shape` — a WORLD-space collider, positioned where the sweep begins — along the displacement
123
+ // (`dx`,`dy`,`dz`) and writes the first collider it reaches.
124
+ //
125
+ // The query a character controller runs and a raycast cannot answer: a ray finds the first surface its
126
+ // line touches, so a capsule's shoulders pass through a gap its centre line clears. `maxFraction`
127
+ // bounds the sweep on the same normalized interval the displacement defines.
128
+ //
129
+ // The broadphase is asked for the SWEPT bounds — the shape's box at the start unioned with its box at
130
+ // the end — rather than for the start box. Querying only the start would return the candidates already
131
+ // touching the shape and miss every one it is about to reach, which is the entire question being asked.
132
+ //
133
+ // Candidates are then swept exactly and the earliest fraction wins. Ties break on body index then
134
+ // collider index, matching the ray queries, so a shape driven squarely into the seam between two
135
+ // colliders reports the same one every run rather than following broadphase insertion history.
136
+ export function queryPhysics3DShapeCast(world, shape, dx, dy, dz, out, maxFraction = 1, filter) {
137
+ clearShapeCastResult(out);
138
+ if (!Number.isFinite(dx) || !Number.isFinite(dy) || !Number.isFinite(dz))
139
+ return;
140
+ if (!Number.isFinite(maxFraction) || maxFraction < 0)
141
+ return;
142
+ const scratch = acquirePhysics3DQueryScratch();
143
+ try {
144
+ synchronizePhysics3DBroadphase(world);
145
+ if (!writeSweptShapeBounds(shape, dx * maxFraction, dy * maxFraction, dz * maxFraction, scratch.colliderBounds)) {
146
+ return;
147
+ }
148
+ world.index.querySpatialRegion(scratch.colliderBounds, scratch.candidateBodies);
149
+ scratch.candidateBodies.sort(compareNumbers);
150
+ let bestFraction = Number.POSITIVE_INFINITY;
151
+ for (const bodyIndex of scratch.candidateBodies) {
152
+ const body = world.bodyByIndex.get(bodyIndex);
153
+ if (body === undefined || !passesBodyFilter(body, filter))
154
+ continue;
155
+ for (let colliderIndex = 0; colliderIndex < body.colliders.length; colliderIndex += 1) {
156
+ const collider = body.colliders[colliderIndex];
157
+ if (!passesColliderFilter(collider, filter))
158
+ continue;
159
+ // The collider is stationary for the duration of the cast: this is a query about where the shape
160
+ // can go against the world as it stands, not a prediction of the next step.
161
+ if (!sweepPhysics3DColliderShapes(shape, dx, dy, dz, collider.world, 0, 0, 0, scratch.timeOfImpact, maxFraction)) {
162
+ continue;
163
+ }
164
+ if (scratch.timeOfImpact.fraction >= bestFraction)
165
+ continue;
166
+ bestFraction = scratch.timeOfImpact.fraction;
167
+ out.hit = true;
168
+ out.body = body;
169
+ out.collider = collider;
170
+ out.colliderIndex = colliderIndex;
171
+ out.fraction = scratch.timeOfImpact.fraction;
172
+ out.x = scratch.timeOfImpact.x;
173
+ out.y = scratch.timeOfImpact.y;
174
+ out.z = scratch.timeOfImpact.z;
175
+ out.normalX = scratch.timeOfImpact.normalX;
176
+ out.normalY = scratch.timeOfImpact.normalY;
177
+ out.normalZ = scratch.timeOfImpact.normalZ;
178
+ }
179
+ }
180
+ }
181
+ finally {
182
+ releasePhysics3DQueryScratch(scratch);
183
+ }
184
+ }
185
+ function queryPhysics3DRayInternal(world, originX, originY, originZ, directionX, directionY, directionZ, out, maxFraction, filter, closestOnly) {
186
+ out.hitCount = 0;
187
+ if (!Number.isFinite(originX) ||
188
+ !Number.isFinite(originY) ||
189
+ !Number.isFinite(originZ) ||
190
+ !Number.isFinite(directionX) ||
191
+ !Number.isFinite(directionY) ||
192
+ !Number.isFinite(directionZ) ||
193
+ Number.isNaN(maxFraction) ||
194
+ maxFraction < 0) {
195
+ return;
196
+ }
197
+ const scratch = acquirePhysics3DQueryScratch();
198
+ try {
199
+ synchronizePhysics3DBroadphase(world);
200
+ world.index.querySpatialRay(originX, originY, originZ, directionX, directionY, directionZ, scratch.candidateBodies);
201
+ scratch.candidateBodies.sort(compareNumbers);
202
+ for (const bodyIndex of scratch.candidateBodies) {
203
+ const body = world.bodyByIndex.get(bodyIndex);
204
+ if (body === undefined || !passesBodyFilter(body, filter))
205
+ continue;
206
+ for (let colliderIndex = 0; colliderIndex < body.colliders.length; colliderIndex += 1) {
207
+ const collider = body.colliders[colliderIndex];
208
+ if (!passesColliderFilter(collider, filter))
209
+ continue;
210
+ if (!raycastPhysics3DColliderShape(collider.world, originX, originY, originZ, directionX, directionY, directionZ, scratch.raycastHit, maxFraction)) {
211
+ continue;
212
+ }
213
+ if (closestOnly)
214
+ writeClosestRayHit(out, body, collider, colliderIndex, scratch.raycastHit);
215
+ else
216
+ writeRayHit(out, body, collider, colliderIndex, scratch.raycastHit);
217
+ }
218
+ }
219
+ if (!closestOnly)
220
+ sortLiveRayHits(out);
221
+ }
222
+ finally {
223
+ releasePhysics3DQueryScratch(scratch);
224
+ }
225
+ }
226
+ function boundsOverlap(a, b) {
227
+ return (a.minX <= b.maxX && a.maxX >= b.minX && a.minY <= b.maxY && a.maxY >= b.minY && a.minZ <= b.maxZ && a.maxZ >= b.minZ);
228
+ }
229
+ function compareNumbers(a, b) {
230
+ return a - b;
231
+ }
232
+ function compareRayHits(a, b) {
233
+ if (a.fraction !== b.fraction)
234
+ return a.fraction - b.fraction;
235
+ if (a.body.index !== b.body.index)
236
+ return a.body.index - b.body.index;
237
+ return a.colliderIndex - b.colliderIndex;
238
+ }
239
+ function isValidRegion(region) {
240
+ return (Number.isFinite(region.minX) &&
241
+ Number.isFinite(region.minY) &&
242
+ Number.isFinite(region.minZ) &&
243
+ Number.isFinite(region.maxX) &&
244
+ Number.isFinite(region.maxY) &&
245
+ Number.isFinite(region.maxZ) &&
246
+ region.minX <= region.maxX &&
247
+ region.minY <= region.maxY &&
248
+ region.minZ <= region.maxZ);
249
+ }
250
+ function passesBodyFilter(body, filter) {
251
+ if (filter === undefined)
252
+ return true;
253
+ if (body.type === 'dynamic')
254
+ return filter.includeDynamic;
255
+ if (body.type === 'kinematic')
256
+ return filter.includeKinematic;
257
+ return filter.includeStatic;
258
+ }
259
+ function passesColliderFilter(collider, filter) {
260
+ if (filter === undefined)
261
+ return true;
262
+ if (!filter.includeSensors && collider.sensor)
263
+ return false;
264
+ return ((collider.filter.categoryBits & filter.categoryBits) !== 0 && (collider.filter.maskBits & filter.maskBits) !== 0);
265
+ }
266
+ // Insertion-sort only the LIVE high-water prefix. `Array.sort` would include the retained stale entries
267
+ // above `hitCount` and either publish them or displace reusable records unpredictably.
268
+ function sortLiveRayHits(out) {
269
+ for (let i = 1; i < out.hitCount; i += 1) {
270
+ const value = out.hits[i];
271
+ let at = i;
272
+ while (at > 0 && compareRayHits(value, out.hits[at - 1]) < 0) {
273
+ out.hits[at] = out.hits[at - 1];
274
+ at -= 1;
275
+ }
276
+ out.hits[at] = value;
277
+ }
278
+ }
279
+ function writeClosestRayHit(out, body, collider, colliderIndex, source) {
280
+ if (out.hitCount === 0) {
281
+ writeRayHit(out, body, collider, colliderIndex, source);
282
+ return;
283
+ }
284
+ const current = out.hits[0];
285
+ if (source.fraction > current.fraction ||
286
+ (source.fraction === current.fraction &&
287
+ (body.index > current.body.index ||
288
+ (body.index === current.body.index && colliderIndex >= current.colliderIndex)))) {
289
+ return;
290
+ }
291
+ current.body = body;
292
+ current.collider = collider;
293
+ current.colliderIndex = colliderIndex;
294
+ current.fraction = source.fraction;
295
+ current.normalX = source.normalX;
296
+ current.normalY = source.normalY;
297
+ current.normalZ = source.normalZ;
298
+ current.x = source.x;
299
+ current.y = source.y;
300
+ current.z = source.z;
301
+ }
302
+ function writeQueryHit(out, body, collider, colliderIndex) {
303
+ const hit = out.hits[out.hitCount];
304
+ if (hit === undefined)
305
+ out.hits.push({ body, collider, colliderIndex });
306
+ else {
307
+ hit.body = body;
308
+ hit.collider = collider;
309
+ hit.colliderIndex = colliderIndex;
310
+ }
311
+ out.hitCount += 1;
312
+ }
313
+ function writeRayHit(out, body, collider, colliderIndex, source) {
314
+ const hit = out.hits[out.hitCount];
315
+ if (hit === undefined) {
316
+ out.hits.push({
317
+ body,
318
+ collider,
319
+ colliderIndex,
320
+ fraction: source.fraction,
321
+ normalX: source.normalX,
322
+ normalY: source.normalY,
323
+ normalZ: source.normalZ,
324
+ x: source.x,
325
+ y: source.y,
326
+ z: source.z,
327
+ });
328
+ }
329
+ else {
330
+ hit.body = body;
331
+ hit.collider = collider;
332
+ hit.colliderIndex = colliderIndex;
333
+ hit.fraction = source.fraction;
334
+ hit.normalX = source.normalX;
335
+ hit.normalY = source.normalY;
336
+ hit.normalZ = source.normalZ;
337
+ hit.x = source.x;
338
+ hit.y = source.y;
339
+ hit.z = source.z;
340
+ }
341
+ out.hitCount += 1;
342
+ }
343
+ function clearShapeCastResult(out) {
344
+ out.hit = false;
345
+ out.body = null;
346
+ out.collider = null;
347
+ out.colliderIndex = -1;
348
+ out.fraction = 0;
349
+ out.x = 0;
350
+ out.y = 0;
351
+ out.z = 0;
352
+ out.normalX = 0;
353
+ out.normalY = 0;
354
+ out.normalZ = 0;
355
+ }
356
+ // The bounds a shape passes through while being displaced: its own box unioned with that box shifted by
357
+ // the displacement. Returns false when the shape has no usable bounds.
358
+ //
359
+ // Reuses the collider-bounds writer by wrapping the bare shape in the shape of a collider, so the swept
360
+ // box is derived by the SAME code the broadphase indexes bodies with. A second bounds implementation
361
+ // here would be a second source of truth about what a cylinder's extent is, free to disagree with the
362
+ // first the next time a kind is added.
363
+ function writeSweptShapeBounds(shape, dx, dy, dz, out) {
364
+ shapeCastProbe.world = shape;
365
+ writePhysics3DColliderBounds(shapeCastProbe, out);
366
+ if (!Number.isFinite(out.minX) || !Number.isFinite(out.maxZ))
367
+ return false;
368
+ if (dx < 0)
369
+ out.minX += dx;
370
+ else
371
+ out.maxX += dx;
372
+ if (dy < 0)
373
+ out.minY += dy;
374
+ else
375
+ out.maxY += dy;
376
+ if (dz < 0)
377
+ out.minZ += dz;
378
+ else
379
+ out.maxZ += dz;
380
+ return true;
381
+ }
382
+ function acquirePhysics3DQueryScratch() {
383
+ const scratch = physics3DQueryScratchPool.pop() ?? createPhysics3DQueryScratch();
384
+ scratch.candidateBodies.length = 0;
385
+ return scratch;
386
+ }
387
+ function createPhysics3DQueryScratch() {
388
+ return {
389
+ candidateBodies: [],
390
+ colliderBounds: { minX: 0, minY: 0, minZ: 0, maxX: 0, maxY: 0, maxZ: 0 },
391
+ raycastHit: createCollisionRaycastHit3D(),
392
+ timeOfImpact: createCollisionTimeOfImpact3D(),
393
+ };
394
+ }
395
+ function releasePhysics3DQueryScratch(scratch) {
396
+ scratch.candidateBodies.length = 0;
397
+ physics3DQueryScratchPool.push(scratch);
398
+ }
399
+ // A stand-in collider so a bare shape can reuse `writePhysics3DColliderBounds`. Only `world` is read by
400
+ // that function; the rest is filled to keep the object one shape rather than a partial.
401
+ const shapeCastProbe = {
402
+ filter: { categoryBits: 0xffffffff, groupIndex: 0, maskBits: 0xffffffff },
403
+ local: { kind: 'sphere', radius: 0, x: 0, y: 0, z: 0 },
404
+ material: { density: 0, friction: 0, restitution: 0 },
405
+ sensor: false,
406
+ world: { kind: 'sphere', radius: 0, x: 0, y: 0, z: 0 },
407
+ };
408
+ const physics3DQueryScratchPool = [createPhysics3DQueryScratch()];
409
+ //# sourceMappingURL=worldQueries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worldQueries.js","sourceRoot":"","sources":["../src/worldQueries.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,gCAAgC,GACjC,MAAM,8BAA8B,CAAC;AAgBtC,OAAO,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAClG,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAEnE,sGAAsG;AACtG,kGAAkG;AAClG,uEAAuE;AACvE,EAAE;AACF,sGAAsG;AACtG,yGAAyG;AACzG,kGAAkG;AAClG,wBAAwB;AAExB,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL,YAAY,EAAE,UAAU;QACxB,QAAQ,EAAE,UAAU;QACpB,cAAc,EAAE,IAAI;QACpB,cAAc,EAAE,IAAI;QACpB,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,IAAI;KACpB,CAAC;AACJ,CAAC;AAED,sGAAsG;AACtG,2FAA2F;AAC3F,MAAM,UAAU,0BAA0B;IACxC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,OAAO;QACL,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,CAAC,CAAC;QACjB,QAAQ,EAAE,CAAC;QACX,GAAG,EAAE,KAAK;QACV,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QACV,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;KACL,CAAC;AACJ,CAAC;AAED,qGAAqG;AACrG,uGAAuG;AACvG,mBAAmB;AACnB,MAAM,UAAU,mBAAmB,CACjC,KAAqB,EACrB,CAAS,EACT,CAAS,EACT,CAAS,EACT,GAAyB,EACzB,MAAuC;IAEvC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO;IAC9E,MAAM,OAAO,GAAG,4BAA4B,EAAE,CAAC;IAC/C,IAAI,CAAC;QACH,8BAA8B,CAAC,KAAK,CAAC,CAAC;QACtC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAChE,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE7C,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC;gBAAE,SAAS;YACpE,KAAK,IAAI,aAAa,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,IAAI,CAAC,EAAE,CAAC;gBACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAC/C,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC;oBAAE,SAAS;gBACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;oBAAE,SAAS;gBAC7E,IAAI,CAAC,gCAAgC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBAAE,SAAS;gBAChE,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,wGAAwG;AACxG,8FAA8F;AAC9F,cAAc;AACd,MAAM,UAAU,iBAAiB,CAC/B,KAAqB,EACrB,OAAe,EACf,OAAe,EACf,OAAe,EACf,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,GAAuB,EACvB,WAAW,GAAG,MAAM,CAAC,iBAAiB,EACtC,MAAuC;IAEvC,yBAAyB,CACvB,KAAK,EACL,OAAO,EACP,OAAO,EACP,OAAO,EACP,UAAU,EACV,UAAU,EACV,UAAU,EACV,GAAG,EACH,WAAW,EACX,MAAM,EACN,KAAK,CACN,CAAC;AACJ,CAAC;AAED,+FAA+F;AAC/F,yGAAyG;AACzG,gCAAgC;AAChC,MAAM,UAAU,wBAAwB,CACtC,KAAqB,EACrB,OAAe,EACf,OAAe,EACf,OAAe,EACf,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,GAAuB,EACvB,WAAW,GAAG,MAAM,CAAC,iBAAiB,EACtC,MAAuC;IAEvC,yBAAyB,CACvB,KAAK,EACL,OAAO,EACP,OAAO,EACP,OAAO,EACP,UAAU,EACV,UAAU,EACV,UAAU,EACV,GAAG,EACH,WAAW,EACX,MAAM,EACN,IAAI,CACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAAqB,EACrB,MAA+B,EAC/B,GAAyB,EACzB,MAAuC;IAEvC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO;IACnC,MAAM,OAAO,GAAG,4BAA4B,EAAE,CAAC;IAC/C,IAAI,CAAC;QACH,8BAA8B,CAAC,KAAK,CAAC,CAAC;QACtC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAChE,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE7C,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC;gBAAE,SAAS;YACpE,KAAK,IAAI,aAAa,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,IAAI,CAAC,EAAE,CAAC;gBACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAC/C,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC;oBAAE,SAAS;gBACtD,4BAA4B,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;gBAC/D,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC;oBAAE,SAAS;gBAC7D,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,mGAAmG;AACnG,wGAAwG;AACxG,8EAA8E;AAC9E,sGAAsG;AACtG,6DAA6D;AAC7D,EAAE;AACF,uGAAuG;AACvG,kGAAkG;AAClG,6EAA6E;AAC7E,EAAE;AACF,sGAAsG;AACtG,uGAAuG;AACvG,wGAAwG;AACxG,EAAE;AACF,kGAAkG;AAClG,iGAAiG;AACjG,+FAA+F;AAC/F,MAAM,UAAU,uBAAuB,CACrC,KAAqB,EACrB,KAAwC,EACxC,EAAU,EACV,EAAU,EACV,EAAU,EACV,GAA6B,EAC7B,WAAW,GAAG,CAAC,EACf,MAAuC;IAEvC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAAE,OAAO;IACjF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC;QAAE,OAAO;IAE7D,MAAM,OAAO,GAAG,4BAA4B,EAAE,CAAC;IAC/C,IAAI,CAAC;QACH,8BAA8B,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,EAAE,GAAG,WAAW,EAAE,EAAE,GAAG,WAAW,EAAE,EAAE,GAAG,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAChH,OAAO;QACT,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAChF,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE7C,IAAI,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAC5C,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC;gBAAE,SAAS;YACpE,KAAK,IAAI,aAAa,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,IAAI,CAAC,EAAE,CAAC;gBACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAC/C,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC;oBAAE,SAAS;gBACtD,iGAAiG;gBACjG,4EAA4E;gBAC5E,IACE,CAAC,4BAA4B,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,EAC5G,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,IAAI,YAAY;oBAAE,SAAS;gBAC5D,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAC7C,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC;gBACf,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;gBAChB,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACxB,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC;gBAClC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAC7C,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC/B,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC/B,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC/B,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC;gBAC3C,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC;gBAC3C,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAChC,KAAqB,EACrB,OAAe,EACf,OAAe,EACf,OAAe,EACf,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,GAAuB,EACvB,WAAmB,EACnB,MAAkD,EAClD,WAAoB;IAEpB,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;IACjB,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QACzB,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QACzB,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QACzB,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5B,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5B,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;QACzB,WAAW,GAAG,CAAC,EACf,CAAC;QACD,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,4BAA4B,EAAE,CAAC;IAC/C,IAAI,CAAC;QACH,8BAA8B,CAAC,KAAK,CAAC,CAAC;QACtC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QACpH,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE7C,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC;gBAAE,SAAS;YACpE,KAAK,IAAI,aAAa,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,IAAI,CAAC,EAAE,CAAC;gBACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAC/C,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC;oBAAE,SAAS;gBACtD,IACE,CAAC,6BAA6B,CAC5B,QAAQ,CAAC,KAAK,EACd,OAAO,EACP,OAAO,EACP,OAAO,EACP,UAAU,EACV,UAAU,EACV,UAAU,EACV,OAAO,CAAC,UAAU,EAClB,WAAW,CACZ,EACD,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,IAAI,WAAW;oBAAE,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;;oBACvF,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QACD,IAAI,CAAC,WAAW;YAAE,eAAe,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;YAAS,CAAC;QACT,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,CAA0B,EAAE,CAA0B;IAC3E,OAAO,CACL,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CACrH,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,CAAS,EAAE,CAAS;IAC1C,OAAO,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,CAA4B,EAAE,CAA4B;IAChF,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ;QAAE,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC9D,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACtE,OAAO,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC;AAC3C,CAAC;AAED,SAAS,aAAa,CAAC,MAA+B;IACpD,OAAO,CACL,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI;QAC1B,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI;QAC1B,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAC3B,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAA2B,EAAE,MAAkD;IACvG,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,cAAc,CAAC;IAC1D,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,MAAM,CAAC,gBAAgB,CAAC;IAC9D,OAAO,MAAM,CAAC,aAAa,CAAC;AAC9B,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAAqC,EACrC,MAAkD;IAElD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,QAAQ,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC5D,OAAO,CACL,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CACjH,CAAC;AACJ,CAAC;AAED,wGAAwG;AACxG,uFAAuF;AACvF,SAAS,eAAe,CAAC,GAAuB;IAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,OAAO,EAAE,GAAG,CAAC,IAAI,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAChC,EAAE,IAAI,CAAC,CAAC;QACV,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,GAAuB,EACvB,IAAiB,EACjB,QAA2B,EAC3B,aAAqB,EACrB,MAAuC;IAEvC,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACvB,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IACE,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ;QAClC,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ;YACnC,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK;gBAC9B,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EACnF,CAAC;QACD,OAAO;IACT,CAAC;IACD,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IACpB,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC5B,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;IACtC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACnC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IACjC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IACjC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IACjC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IACrB,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IACrB,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,aAAa,CACpB,GAAyB,EACzB,IAAiB,EACjB,QAA2B,EAC3B,aAAqB;IAErB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,GAAG,KAAK,SAAS;QAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;SACnE,CAAC;QACJ,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAChB,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACxB,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC;IACpC,CAAC;IACD,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,WAAW,CAClB,GAAuB,EACvB,IAAiB,EACjB,QAA2B,EAC3B,aAAqB,EACrB,MAAuC;IAEvC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YACZ,IAAI;YACJ,QAAQ;YACR,aAAa;YACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,CAAC,EAAE,MAAM,CAAC,CAAC;YACX,CAAC,EAAE,MAAM,CAAC,CAAC;YACX,CAAC,EAAE,MAAM,CAAC,CAAC;SACZ,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAChB,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACxB,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC;QAClC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC/B,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC7B,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC7B,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC7B,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACjB,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACjB,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IACnB,CAAC;IACD,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,oBAAoB,CAAC,GAA6B;IACzD,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC;IAChB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;IAChB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;IACpB,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;IACvB,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;IACjB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACV,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACV,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACV,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;IAChB,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;IAChB,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;AAClB,CAAC;AAED,wGAAwG;AACxG,uEAAuE;AACvE,EAAE;AACF,wGAAwG;AACxG,qGAAqG;AACrG,sGAAsG;AACtG,uCAAuC;AACvC,SAAS,qBAAqB,CAC5B,KAAwC,EACxC,EAAU,EACV,EAAU,EACV,EAAU,EACV,GAAkB;IAElB,cAAc,CAAC,KAAK,GAAG,KAAgC,CAAC;IACxD,4BAA4B,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAE3E,IAAI,EAAE,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;;QACtB,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACpB,IAAI,EAAE,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;;QACtB,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACpB,IAAI,EAAE,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;;QACtB,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACpB,OAAO,IAAI,CAAC;AACd,CAAC;AASD,SAAS,4BAA4B;IACnC,MAAM,OAAO,GAAG,yBAAyB,CAAC,GAAG,EAAE,IAAI,2BAA2B,EAAE,CAAC;IACjF,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,2BAA2B;IAClC,OAAO;QACL,eAAe,EAAE,EAAE;QACnB,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;QACxE,UAAU,EAAE,2BAA2B,EAAE;QACzC,YAAY,EAAE,6BAA6B,EAAE;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,OAA8B;IAClE,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;IACnC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,wGAAwG;AACxG,wFAAwF;AACxF,MAAM,cAAc,GAAsB;IACxC,MAAM,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE;IACzE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IACtD,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;IACrD,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;CACvD,CAAC;AAEF,MAAM,yBAAyB,GAA4B,CAAC,2BAA2B,EAAE,CAAC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "@flighthq/physics3d",
3
+ "version": "0.4.0-edge.1908.751021c",
4
+ "author": "Joshua Granick and other contributors",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/flighthq/flight.git",
9
+ "directory": "packages/physics3d"
10
+ },
11
+ "type": "module",
12
+ "main": "dist/index.js",
13
+ "types": "dist/index.d.ts",
14
+ "exports": {
15
+ ".": {
16
+ "types": "./dist/index.d.ts",
17
+ "default": "./dist/index.js"
18
+ },
19
+ "./contract": {
20
+ "types": "./dist/contract.d.ts",
21
+ "default": "./dist/contract.js"
22
+ }
23
+ },
24
+ "files": [
25
+ "dist",
26
+ "src/**/*.test.ts",
27
+ "!dist/**/*.test.js",
28
+ "!dist/**/*.test.d.ts",
29
+ "!dist/**/*.test.js.map",
30
+ "!dist/**/*.test.d.ts.map"
31
+ ],
32
+ "scripts": {
33
+ "build": "tsc -b",
34
+ "clean": "tsc -b --clean",
35
+ "test": "vitest run --config vitest.config.ts",
36
+ "test:watch": "vitest --watch --config vitest.config.ts",
37
+ "prepack": "npm run clean && npm run clean:dist && npm run build",
38
+ "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
39
+ },
40
+ "dependencies": {
41
+ "@flighthq/collision": "0.4.0-edge.1908.751021c",
42
+ "@flighthq/log": "0.4.0-edge.1908.751021c",
43
+ "@flighthq/math": "0.4.0-edge.1908.751021c",
44
+ "@flighthq/node": "0.4.0-edge.1908.751021c",
45
+ "@flighthq/spatial": "0.4.0-edge.1908.751021c",
46
+ "@flighthq/types": "0.4.0-edge.1908.751021c"
47
+ },
48
+ "devDependencies": {
49
+ "@flighthq/geometry": "*",
50
+ "@flighthq/scene3d": "*",
51
+ "typescript": "^5.3.0"
52
+ },
53
+ "description": "3D rigid-body dynamics — quaternion integration over inertia tensors and a deterministic sequential-impulse solver, with explicit stepping and no hidden per-frame allocation",
54
+ "sideEffects": false
55
+ }