@math.gl/geometry 5.0.0-alpha.2 → 5.0.0-alpha.20

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 (381) hide show
  1. package/LICENSE +97 -49
  2. package/README.md +16 -1
  3. package/THIRD-PARTY-NOTICES.md +18 -0
  4. package/dist/culling/constants.d.ts +3 -0
  5. package/dist/culling/constants.d.ts.map +1 -0
  6. package/dist/culling/constants.js +5 -0
  7. package/dist/culling/constants.js.map +1 -0
  8. package/dist/culling/index.cjs +2014 -0
  9. package/dist/culling/index.cjs.map +6 -0
  10. package/dist/culling/index.d.ts +29 -0
  11. package/dist/culling/index.d.ts.map +1 -0
  12. package/dist/culling/index.js +23 -0
  13. package/dist/culling/index.js.map +1 -0
  14. package/dist/culling/lib/algorithms/bounding-box-from-points.d.ts +15 -0
  15. package/dist/culling/lib/algorithms/bounding-box-from-points.d.ts.map +1 -0
  16. package/dist/culling/lib/algorithms/bounding-box-from-points.js +137 -0
  17. package/dist/culling/lib/algorithms/bounding-box-from-points.js.map +1 -0
  18. package/dist/culling/lib/algorithms/bounding-sphere-from-points.d.ts +14 -0
  19. package/dist/culling/lib/algorithms/bounding-sphere-from-points.d.ts.map +1 -0
  20. package/dist/culling/lib/algorithms/bounding-sphere-from-points.js +146 -0
  21. package/dist/culling/lib/algorithms/bounding-sphere-from-points.js.map +1 -0
  22. package/dist/culling/lib/algorithms/compute-eigen-decomposition.d.ts +37 -0
  23. package/dist/culling/lib/algorithms/compute-eigen-decomposition.d.ts.map +1 -0
  24. package/dist/culling/lib/algorithms/compute-eigen-decomposition.js +137 -0
  25. package/dist/culling/lib/algorithms/compute-eigen-decomposition.js.map +1 -0
  26. package/dist/culling/lib/algorithms/oriented-bounding-box-quaternion.d.ts +7 -0
  27. package/dist/culling/lib/algorithms/oriented-bounding-box-quaternion.d.ts.map +1 -0
  28. package/dist/culling/lib/algorithms/oriented-bounding-box-quaternion.js +26 -0
  29. package/dist/culling/lib/algorithms/oriented-bounding-box-quaternion.js.map +1 -0
  30. package/dist/culling/lib/bounding-volumes/axis-aligned-bounding-box.d.ts +56 -0
  31. package/dist/culling/lib/bounding-volumes/axis-aligned-bounding-box.d.ts.map +1 -0
  32. package/dist/culling/lib/bounding-volumes/axis-aligned-bounding-box.js +116 -0
  33. package/dist/culling/lib/bounding-volumes/axis-aligned-bounding-box.js.map +1 -0
  34. package/dist/culling/lib/bounding-volumes/bounding-sphere.d.ts +40 -0
  35. package/dist/culling/lib/bounding-volumes/bounding-sphere.d.ts.map +1 -0
  36. package/dist/culling/lib/bounding-volumes/bounding-sphere.js +123 -0
  37. package/dist/culling/lib/bounding-volumes/bounding-sphere.js.map +1 -0
  38. package/dist/culling/lib/bounding-volumes/bounding-volume.d.ts +30 -0
  39. package/dist/culling/lib/bounding-volumes/bounding-volume.d.ts.map +1 -0
  40. package/dist/culling/lib/bounding-volumes/bounding-volume.js +7 -0
  41. package/dist/culling/lib/bounding-volumes/bounding-volume.js.map +1 -0
  42. package/dist/culling/lib/bounding-volumes/oriented-bounding-box.d.ts +62 -0
  43. package/dist/culling/lib/bounding-volumes/oriented-bounding-box.d.ts.map +1 -0
  44. package/dist/culling/lib/bounding-volumes/oriented-bounding-box.js +230 -0
  45. package/dist/culling/lib/bounding-volumes/oriented-bounding-box.js.map +1 -0
  46. package/dist/culling/lib/culling-volume.d.ts +46 -0
  47. package/dist/culling/lib/culling-volume.d.ts.map +1 -0
  48. package/dist/culling/lib/culling-volume.js +126 -0
  49. package/dist/culling/lib/culling-volume.js.map +1 -0
  50. package/dist/culling/lib/perspective-frustum.d.ts +153 -0
  51. package/dist/culling/lib/perspective-frustum.d.ts.map +1 -0
  52. package/dist/culling/lib/perspective-frustum.js +191 -0
  53. package/dist/culling/lib/perspective-frustum.js.map +1 -0
  54. package/dist/culling/lib/perspective-off-center-frustum.d.ts +158 -0
  55. package/dist/culling/lib/perspective-off-center-frustum.d.ts.map +1 -0
  56. package/dist/culling/lib/perspective-off-center-frustum.js +276 -0
  57. package/dist/culling/lib/perspective-off-center-frustum.js.map +1 -0
  58. package/dist/culling/lib/plane.d.ts +35 -0
  59. package/dist/culling/lib/plane.d.ts.map +1 -0
  60. package/dist/culling/lib/plane.js +90 -0
  61. package/dist/culling/lib/plane.js.map +1 -0
  62. package/dist/culling/lib/ray.d.ts +13 -0
  63. package/dist/culling/lib/ray.d.ts.map +1 -0
  64. package/dist/culling/lib/ray.js +30 -0
  65. package/dist/culling/lib/ray.js.map +1 -0
  66. package/dist/culling/lib/shapes/box-shape.d.ts +19 -0
  67. package/dist/culling/lib/shapes/box-shape.d.ts.map +1 -0
  68. package/dist/culling/lib/shapes/box-shape.js +69 -0
  69. package/dist/culling/lib/shapes/box-shape.js.map +1 -0
  70. package/dist/culling/lib/shapes/capsule-shape.d.ts +23 -0
  71. package/dist/culling/lib/shapes/capsule-shape.d.ts.map +1 -0
  72. package/dist/culling/lib/shapes/capsule-shape.js +151 -0
  73. package/dist/culling/lib/shapes/capsule-shape.js.map +1 -0
  74. package/dist/culling/lib/shapes/cylinder-shape.d.ts +22 -0
  75. package/dist/culling/lib/shapes/cylinder-shape.d.ts.map +1 -0
  76. package/dist/culling/lib/shapes/cylinder-shape.js +99 -0
  77. package/dist/culling/lib/shapes/cylinder-shape.js.map +1 -0
  78. package/dist/culling/lib/shapes/implicit-shape.d.ts +56 -0
  79. package/dist/culling/lib/shapes/implicit-shape.d.ts.map +1 -0
  80. package/dist/culling/lib/shapes/implicit-shape.js +142 -0
  81. package/dist/culling/lib/shapes/implicit-shape.js.map +1 -0
  82. package/dist/culling/lib/shapes/plane-shape.d.ts +27 -0
  83. package/dist/culling/lib/shapes/plane-shape.d.ts.map +1 -0
  84. package/dist/culling/lib/shapes/plane-shape.js +71 -0
  85. package/dist/culling/lib/shapes/plane-shape.js.map +1 -0
  86. package/dist/culling/lib/shapes/sphere-shape.d.ts +18 -0
  87. package/dist/culling/lib/shapes/sphere-shape.d.ts.map +1 -0
  88. package/dist/culling/lib/shapes/sphere-shape.js +43 -0
  89. package/dist/culling/lib/shapes/sphere-shape.js.map +1 -0
  90. package/dist/culling/oriented-box-2d.cjs +73 -0
  91. package/dist/culling/oriented-box-2d.cjs.map +6 -0
  92. package/dist/culling/oriented-box-2d.d.ts +22 -0
  93. package/dist/culling/oriented-box-2d.d.ts.map +1 -0
  94. package/dist/culling/oriented-box-2d.js +86 -0
  95. package/dist/culling/oriented-box-2d.js.map +1 -0
  96. package/dist/culling/queries.cjs +161 -0
  97. package/dist/culling/queries.cjs.map +6 -0
  98. package/dist/culling/queries.d.ts +20 -0
  99. package/dist/culling/queries.d.ts.map +1 -0
  100. package/dist/culling/queries.js +139 -0
  101. package/dist/culling/queries.js.map +1 -0
  102. package/dist/curves/bezier-curves.d.ts +18 -0
  103. package/dist/curves/bezier-curves.d.ts.map +1 -0
  104. package/dist/curves/bezier-curves.js +54 -0
  105. package/dist/curves/bezier-curves.js.map +1 -0
  106. package/dist/curves/catmull-rom-curve.d.ts +15 -0
  107. package/dist/curves/catmull-rom-curve.d.ts.map +1 -0
  108. package/dist/curves/catmull-rom-curve.js +77 -0
  109. package/dist/curves/catmull-rom-curve.js.map +1 -0
  110. package/dist/curves/curve-arc-length.d.ts +17 -0
  111. package/dist/curves/curve-arc-length.d.ts.map +1 -0
  112. package/dist/curves/curve-arc-length.js +58 -0
  113. package/dist/curves/curve-arc-length.js.map +1 -0
  114. package/dist/curves/curve.d.ts +23 -0
  115. package/dist/curves/curve.d.ts.map +1 -0
  116. package/dist/curves/curve.js +77 -0
  117. package/dist/curves/curve.js.map +1 -0
  118. package/dist/curves/hermite-curve.d.ts +9 -0
  119. package/dist/curves/hermite-curve.d.ts.map +1 -0
  120. package/dist/curves/hermite-curve.js +24 -0
  121. package/dist/curves/hermite-curve.js.map +1 -0
  122. package/dist/curves/index.cjs +293 -0
  123. package/dist/curves/index.cjs.map +6 -0
  124. package/dist/curves/index.d.ts +8 -0
  125. package/dist/curves/index.d.ts.map +1 -0
  126. package/dist/curves/index.js +9 -0
  127. package/dist/curves/index.js.map +1 -0
  128. package/dist/geometries/box-geometry.js +1 -1
  129. package/dist/geometries/box-geometry.js.map +1 -1
  130. package/dist/geometries/capsule-geometry.js +1 -1
  131. package/dist/geometries/capsule-geometry.js.map +1 -1
  132. package/dist/geometries/cylinder-geometry.js +1 -1
  133. package/dist/geometries/cylinder-geometry.js.map +1 -1
  134. package/dist/geometries/geometry-helpers.js +1 -1
  135. package/dist/geometries/geometry-helpers.js.map +1 -1
  136. package/dist/geometries/ico-sphere-geometry.js +1 -1
  137. package/dist/geometries/ico-sphere-geometry.js.map +1 -1
  138. package/dist/geometries/plane-geometry.js +1 -1
  139. package/dist/geometries/plane-geometry.js.map +1 -1
  140. package/dist/geometries/primitive-mesh-builder.d.ts +24 -0
  141. package/dist/geometries/primitive-mesh-builder.d.ts.map +1 -0
  142. package/dist/geometries/primitive-mesh-builder.js +74 -0
  143. package/dist/geometries/primitive-mesh-builder.js.map +1 -0
  144. package/dist/geometries/prism-geometry.d.ts +13 -0
  145. package/dist/geometries/prism-geometry.d.ts.map +1 -0
  146. package/dist/geometries/prism-geometry.js +34 -0
  147. package/dist/geometries/prism-geometry.js.map +1 -0
  148. package/dist/geometries/ring-geometry.d.ts +15 -0
  149. package/dist/geometries/ring-geometry.d.ts.map +1 -0
  150. package/dist/geometries/ring-geometry.js +64 -0
  151. package/dist/geometries/ring-geometry.js.map +1 -0
  152. package/dist/geometries/sphere-geometry.js +1 -1
  153. package/dist/geometries/sphere-geometry.js.map +1 -1
  154. package/dist/geometries/surface-of-revolution.js +1 -1
  155. package/dist/geometries/surface-of-revolution.js.map +1 -1
  156. package/dist/geometries/truncated-cone-geometry.js +1 -1
  157. package/dist/geometries/truncated-cone-geometry.js.map +1 -1
  158. package/dist/index.cjs +290 -9
  159. package/dist/index.cjs.map +3 -3
  160. package/dist/index.d.ts +6 -0
  161. package/dist/index.d.ts.map +1 -1
  162. package/dist/index.js +4 -1
  163. package/dist/index.js.map +1 -1
  164. package/dist/lib/geometry-utils.js +1 -1
  165. package/dist/lib/geometry-utils.js.map +1 -1
  166. package/dist/lib/geometry.d.ts +1 -1
  167. package/dist/lib/geometry.d.ts.map +1 -1
  168. package/dist/lib/geometry.js +1 -1
  169. package/dist/lib/geometry.js.map +1 -1
  170. package/dist/lib/hinge-tree.d.ts +33 -0
  171. package/dist/lib/hinge-tree.d.ts.map +1 -0
  172. package/dist/lib/hinge-tree.js +144 -0
  173. package/dist/lib/hinge-tree.js.map +1 -0
  174. package/dist/parametric/lathe-geometry.d.ts +14 -0
  175. package/dist/parametric/lathe-geometry.d.ts.map +1 -0
  176. package/dist/parametric/lathe-geometry.js +48 -0
  177. package/dist/parametric/lathe-geometry.js.map +1 -0
  178. package/dist/parametric/parametric-geometry.d.ts +20 -0
  179. package/dist/parametric/parametric-geometry.d.ts.map +1 -0
  180. package/dist/parametric/parametric-geometry.js +88 -0
  181. package/dist/parametric/parametric-geometry.js.map +1 -0
  182. package/dist/parametric/torus-geometry.d.ts +19 -0
  183. package/dist/parametric/torus-geometry.d.ts.map +1 -0
  184. package/dist/parametric/torus-geometry.js +89 -0
  185. package/dist/parametric/torus-geometry.js.map +1 -0
  186. package/dist/parametric.cjs +328 -0
  187. package/dist/parametric.cjs.map +6 -0
  188. package/dist/parametric.d.ts +7 -0
  189. package/dist/parametric.d.ts.map +1 -0
  190. package/dist/parametric.js +7 -0
  191. package/dist/parametric.js.map +1 -0
  192. package/dist/polygon/cut-by-grid.d.ts +24 -0
  193. package/dist/polygon/cut-by-grid.d.ts.map +1 -0
  194. package/dist/polygon/cut-by-grid.js +221 -0
  195. package/dist/polygon/cut-by-grid.js.map +1 -0
  196. package/dist/polygon/cut-by-mercator-bounds.d.ts +17 -0
  197. package/dist/polygon/cut-by-mercator-bounds.d.ts.map +1 -0
  198. package/dist/polygon/cut-by-mercator-bounds.js +149 -0
  199. package/dist/polygon/cut-by-mercator-bounds.js.map +1 -0
  200. package/dist/polygon/earcut.d.ts +13 -0
  201. package/dist/polygon/earcut.d.ts.map +1 -0
  202. package/dist/polygon/earcut.js +627 -0
  203. package/dist/polygon/earcut.js.map +1 -0
  204. package/dist/polygon/index.cjs +1437 -0
  205. package/dist/polygon/index.cjs.map +6 -0
  206. package/dist/polygon/index.d.ts +12 -0
  207. package/dist/polygon/index.d.ts.map +1 -0
  208. package/dist/polygon/index.js +12 -0
  209. package/dist/polygon/index.js.map +1 -0
  210. package/dist/polygon/lineclip.d.ts +31 -0
  211. package/dist/polygon/lineclip.d.ts.map +1 -0
  212. package/dist/polygon/lineclip.js +184 -0
  213. package/dist/polygon/lineclip.js.map +1 -0
  214. package/dist/polygon/polygon-utils.d.ts +103 -0
  215. package/dist/polygon/polygon-utils.d.ts.map +1 -0
  216. package/dist/polygon/polygon-utils.js +155 -0
  217. package/dist/polygon/polygon-utils.js.map +1 -0
  218. package/dist/polygon/polygon.d.ts +41 -0
  219. package/dist/polygon/polygon.d.ts.map +1 -0
  220. package/dist/polygon/polygon.js +76 -0
  221. package/dist/polygon/polygon.js.map +1 -0
  222. package/dist/polygon/subdivide-polyline.d.ts +56 -0
  223. package/dist/polygon/subdivide-polyline.d.ts.map +1 -0
  224. package/dist/polygon/subdivide-polyline.js +141 -0
  225. package/dist/polygon/subdivide-polyline.js.map +1 -0
  226. package/dist/polygon/subdivide-triangle-mesh.d.ts +68 -0
  227. package/dist/polygon/subdivide-triangle-mesh.d.ts.map +1 -0
  228. package/dist/polygon/subdivide-triangle-mesh.js +228 -0
  229. package/dist/polygon/subdivide-triangle-mesh.js.map +1 -0
  230. package/dist/polygon/utils.d.ts +5 -0
  231. package/dist/polygon/utils.d.ts.map +1 -0
  232. package/dist/polygon/utils.js +38 -0
  233. package/dist/polygon/utils.js.map +1 -0
  234. package/dist/spatial-index/box-index.cjs +328 -0
  235. package/dist/spatial-index/box-index.cjs.map +6 -0
  236. package/dist/spatial-index/box-index.d.ts +65 -0
  237. package/dist/spatial-index/box-index.d.ts.map +1 -0
  238. package/dist/spatial-index/box-index.js +263 -0
  239. package/dist/spatial-index/box-index.js.map +1 -0
  240. package/dist/spatial-index/index.cjs +494 -0
  241. package/dist/spatial-index/index.cjs.map +6 -0
  242. package/dist/spatial-index/index.d.ts +5 -0
  243. package/dist/spatial-index/index.d.ts.map +1 -0
  244. package/dist/spatial-index/index.js +6 -0
  245. package/dist/spatial-index/index.js.map +1 -0
  246. package/dist/spatial-index/triangle-bvh.d.ts +53 -0
  247. package/dist/spatial-index/triangle-bvh.d.ts.map +1 -0
  248. package/dist/spatial-index/triangle-bvh.js +102 -0
  249. package/dist/spatial-index/triangle-bvh.js.map +1 -0
  250. package/dist/utils/attribute-compression.d.ts +50 -0
  251. package/dist/utils/attribute-compression.d.ts.map +1 -0
  252. package/dist/utils/attribute-compression.js +186 -0
  253. package/dist/utils/attribute-compression.js.map +1 -0
  254. package/dist/utils/attribute-iterator.d.ts +8 -0
  255. package/dist/utils/attribute-iterator.d.ts.map +1 -0
  256. package/dist/utils/attribute-iterator.js +25 -0
  257. package/dist/utils/attribute-iterator.js.map +1 -0
  258. package/dist/utils/compute-vertex-normals.d.ts +4 -0
  259. package/dist/utils/compute-vertex-normals.d.ts.map +1 -0
  260. package/dist/utils/compute-vertex-normals.js +54 -0
  261. package/dist/utils/compute-vertex-normals.js.map +1 -0
  262. package/dist/utils/constants.d.ts +52 -0
  263. package/dist/utils/constants.d.ts.map +1 -0
  264. package/dist/utils/constants.js +39 -0
  265. package/dist/utils/constants.js.map +1 -0
  266. package/dist/utils/coordinates.d.ts +3 -0
  267. package/dist/utils/coordinates.d.ts.map +1 -0
  268. package/dist/utils/coordinates.js +8 -0
  269. package/dist/utils/coordinates.js.map +1 -0
  270. package/dist/utils/geometry.d.ts +20 -0
  271. package/dist/utils/geometry.d.ts.map +1 -0
  272. package/dist/utils/geometry.js +31 -0
  273. package/dist/utils/geometry.js.map +1 -0
  274. package/dist/utils/gl-type.d.ts +17 -0
  275. package/dist/utils/gl-type.d.ts.map +1 -0
  276. package/dist/utils/gl-type.js +69 -0
  277. package/dist/utils/gl-type.js.map +1 -0
  278. package/dist/utils/index.cjs +965 -0
  279. package/dist/utils/index.cjs.map +6 -0
  280. package/dist/utils/index.d.ts +18 -0
  281. package/dist/utils/index.d.ts.map +1 -0
  282. package/dist/utils/index.js +16 -0
  283. package/dist/utils/index.js.map +1 -0
  284. package/dist/utils/interpolate-packed-attributes.cjs +176 -0
  285. package/dist/utils/interpolate-packed-attributes.cjs.map +6 -0
  286. package/dist/utils/interpolate-packed-attributes.d.ts +43 -0
  287. package/dist/utils/interpolate-packed-attributes.d.ts.map +1 -0
  288. package/dist/utils/interpolate-packed-attributes.js +192 -0
  289. package/dist/utils/interpolate-packed-attributes.js.map +1 -0
  290. package/dist/utils/mesh-processing.d.ts +18 -0
  291. package/dist/utils/mesh-processing.d.ts.map +1 -0
  292. package/dist/utils/mesh-processing.js +300 -0
  293. package/dist/utils/mesh-processing.js.map +1 -0
  294. package/dist/utils/primitive-iterator.d.ts +21 -0
  295. package/dist/utils/primitive-iterator.d.ts.map +1 -0
  296. package/dist/utils/primitive-iterator.js +117 -0
  297. package/dist/utils/primitive-iterator.js.map +1 -0
  298. package/dist/utils/rgb565.d.ts +5 -0
  299. package/dist/utils/rgb565.d.ts.map +1 -0
  300. package/dist/utils/rgb565.js +24 -0
  301. package/dist/utils/rgb565.js.map +1 -0
  302. package/dist/utils/typed-array-utils.d.ts +3 -0
  303. package/dist/utils/typed-array-utils.d.ts.map +1 -0
  304. package/dist/utils/typed-array-utils.js +16 -0
  305. package/dist/utils/typed-array-utils.js.map +1 -0
  306. package/package.json +57 -4
  307. package/src/culling/constants.ts +6 -0
  308. package/src/culling/index.ts +45 -0
  309. package/src/culling/lib/algorithms/bounding-box-from-points.ts +174 -0
  310. package/src/culling/lib/algorithms/bounding-sphere-from-points.ts +175 -0
  311. package/src/culling/lib/algorithms/compute-eigen-decomposition.ts +171 -0
  312. package/src/culling/lib/algorithms/oriented-bounding-box-quaternion.ts +32 -0
  313. package/src/culling/lib/bounding-volumes/axis-aligned-bounding-box.ts +153 -0
  314. package/src/culling/lib/bounding-volumes/bounding-sphere.ts +154 -0
  315. package/src/culling/lib/bounding-volumes/bounding-volume.ts +38 -0
  316. package/src/culling/lib/bounding-volumes/oriented-bounding-box.ts +320 -0
  317. package/src/culling/lib/culling-volume.ts +163 -0
  318. package/src/culling/lib/perspective-frustum.ts +288 -0
  319. package/src/culling/lib/perspective-off-center-frustum.ts +381 -0
  320. package/src/culling/lib/plane.ts +118 -0
  321. package/src/culling/lib/ray.ts +33 -0
  322. package/src/culling/lib/shapes/box-shape.ts +78 -0
  323. package/src/culling/lib/shapes/capsule-shape.ts +232 -0
  324. package/src/culling/lib/shapes/cylinder-shape.ts +133 -0
  325. package/src/culling/lib/shapes/implicit-shape.ts +209 -0
  326. package/src/culling/lib/shapes/plane-shape.ts +78 -0
  327. package/src/culling/lib/shapes/sphere-shape.ts +60 -0
  328. package/src/culling/oriented-box-2d.ts +165 -0
  329. package/src/culling/queries.ts +155 -0
  330. package/src/curves/bezier-curves.ts +62 -0
  331. package/src/curves/catmull-rom-curve.ts +89 -0
  332. package/src/curves/curve-arc-length.ts +70 -0
  333. package/src/curves/curve.ts +96 -0
  334. package/src/curves/hermite-curve.ts +34 -0
  335. package/src/curves/index.ts +15 -0
  336. package/src/geometries/box-geometry.ts +1 -1
  337. package/src/geometries/capsule-geometry.ts +1 -1
  338. package/src/geometries/cylinder-geometry.ts +1 -1
  339. package/src/geometries/geometry-helpers.ts +1 -1
  340. package/src/geometries/ico-sphere-geometry.ts +1 -1
  341. package/src/geometries/plane-geometry.ts +1 -1
  342. package/src/geometries/primitive-mesh-builder.ts +84 -0
  343. package/src/geometries/prism-geometry.ts +57 -0
  344. package/src/geometries/ring-geometry.ts +102 -0
  345. package/src/geometries/sphere-geometry.ts +1 -1
  346. package/src/geometries/surface-of-revolution.ts +1 -1
  347. package/src/geometries/truncated-cone-geometry.ts +1 -1
  348. package/src/index.ts +10 -1
  349. package/src/lib/geometry-utils.ts +2 -2
  350. package/src/lib/geometry.ts +2 -2
  351. package/src/lib/hinge-tree.ts +170 -0
  352. package/src/parametric/lathe-geometry.ts +70 -0
  353. package/src/parametric/parametric-geometry.ts +118 -0
  354. package/src/parametric/torus-geometry.ts +118 -0
  355. package/src/parametric.ts +9 -0
  356. package/src/polygon/cut-by-grid.ts +313 -0
  357. package/src/polygon/cut-by-mercator-bounds.ts +204 -0
  358. package/src/polygon/earcut.ts +798 -0
  359. package/src/polygon/index.ts +35 -0
  360. package/src/polygon/lineclip.ts +218 -0
  361. package/src/polygon/polygon-utils.ts +273 -0
  362. package/src/polygon/polygon.ts +105 -0
  363. package/src/polygon/subdivide-polyline.ts +223 -0
  364. package/src/polygon/subdivide-triangle-mesh.ts +322 -0
  365. package/src/polygon/utils.ts +50 -0
  366. package/src/spatial-index/box-index.ts +343 -0
  367. package/src/spatial-index/index.ts +18 -0
  368. package/src/spatial-index/triangle-bvh.ts +162 -0
  369. package/src/utils/attribute-compression.ts +234 -0
  370. package/src/utils/attribute-iterator.ts +28 -0
  371. package/src/utils/compute-vertex-normals.ts +63 -0
  372. package/src/utils/constants.ts +42 -0
  373. package/src/utils/coordinates.ts +8 -0
  374. package/src/utils/geometry.ts +49 -0
  375. package/src/utils/gl-type.ts +87 -0
  376. package/src/utils/index.ts +55 -0
  377. package/src/utils/interpolate-packed-attributes.ts +284 -0
  378. package/src/utils/mesh-processing.ts +377 -0
  379. package/src/utils/primitive-iterator.ts +145 -0
  380. package/src/utils/rgb565.ts +26 -0
  381. package/src/utils/typed-array-utils.ts +16 -0
package/dist/index.cjs CHANGED
@@ -25,8 +25,11 @@ __export(index_exports, {
25
25
  CubeGeometry: () => CubeGeometry,
26
26
  CylinderGeometry: () => CylinderGeometry,
27
27
  Geometry: () => Geometry,
28
+ HingeTree: () => HingeTree,
28
29
  IcoSphereGeometry: () => IcoSphereGeometry,
29
30
  PlaneGeometry: () => PlaneGeometry,
31
+ PrismGeometry: () => PrismGeometry,
32
+ RingGeometry: () => RingGeometry,
30
33
  SphereGeometry: () => SphereGeometry,
31
34
  TruncatedConeGeometry: () => TruncatedConeGeometry,
32
35
  unpackIndexedGeometry: () => unpackIndexedGeometry
@@ -118,6 +121,131 @@ function calculateVertexCount(attributes, indices) {
118
121
  return count;
119
122
  }
120
123
 
124
+ // dist/lib/hinge-tree.js
125
+ var import_core = require("@math.gl/core");
126
+ var HingeTree = class {
127
+ constructor(panels) {
128
+ this.local = new import_core.Matrix4();
129
+ this.world = new import_core.Matrix4();
130
+ this.root = new import_core.Matrix4();
131
+ this.panelCount = panels.length;
132
+ const children = panels.map(() => []);
133
+ const order = [];
134
+ this.joints = panels.map((panel, index) => {
135
+ const { parent } = panel;
136
+ if (!Number.isInteger(parent) || parent < -1 || parent >= panels.length || parent === index) {
137
+ throw new RangeError("Invalid hinge parent index");
138
+ }
139
+ if (parent === -1)
140
+ order.push(index);
141
+ else
142
+ children[parent].push(index);
143
+ const rest = new import_core.Matrix4();
144
+ if (panel.restTransform !== void 0) {
145
+ validateRigidTransform(panel.restTransform);
146
+ rest.copy(panel.restTransform);
147
+ }
148
+ const pivot = parent === -1 ? [0, 0, 0] : copyVector(panel.pivot);
149
+ const axis = parent === -1 ? [1, 0, 0] : copyVector(panel.axis);
150
+ const length = Math.hypot(...axis);
151
+ if (!Number.isFinite(length) || length === 0)
152
+ throw new RangeError("Invalid hinge axis");
153
+ for (let i = 0; i < 3; i++)
154
+ axis[i] /= length;
155
+ return {
156
+ parent,
157
+ rest,
158
+ pivot,
159
+ negativePivot: pivot.map((value) => -value),
160
+ axis
161
+ };
162
+ });
163
+ for (let i = 0; i < order.length; i++) {
164
+ for (const child of children[order[i]])
165
+ order.push(child);
166
+ }
167
+ if (order.length !== panels.length)
168
+ throw new RangeError("Hinge parents contain a cycle");
169
+ this.order = order;
170
+ this.angles = new Float64Array(panels.length);
171
+ }
172
+ /** Evaluate one angle per panel in radians (root angles must be zero).
173
+ * Returns column-major matrices in input-panel order, 16 doubles per panel.
174
+ * rootTransform places the whole forest; omitted means identity.
175
+ * Output may alias the inputs: angles and root transform are snapshotted first.
176
+ * Finite inputs that overflow during composition throw; output may then be partial.
177
+ */
178
+ evaluate(angles, output = new Float64Array(this.panelCount * 16), rootTransform) {
179
+ if (angles.length !== this.panelCount)
180
+ throw new RangeError("Expected one angle per panel");
181
+ if (!(output instanceof Float64Array) || output.length !== this.panelCount * 16) {
182
+ throw new RangeError("Expected 16 Float64 values per panel");
183
+ }
184
+ for (let i = 0; i < angles.length; i++) {
185
+ if (!Number.isFinite(angles[i]) || this.joints[i].parent === -1 && angles[i] !== 0) {
186
+ throw new RangeError("Expected finite angles and zero root angles");
187
+ }
188
+ this.angles[i] = angles[i];
189
+ }
190
+ this.root.identity();
191
+ if (rootTransform !== void 0) {
192
+ validateRigidTransform(rootTransform);
193
+ this.root.copy(rootTransform);
194
+ }
195
+ for (const index of this.order) {
196
+ const joint = this.joints[index];
197
+ this.local.identity();
198
+ if (joint.parent !== -1) {
199
+ this.local.translate(joint.pivot).rotateAxis(this.angles[index], joint.axis).translate(joint.negativePivot);
200
+ }
201
+ this.local.multiplyRight(joint.rest);
202
+ if (joint.parent === -1)
203
+ this.world.copy(this.root);
204
+ else {
205
+ for (let i = 0; i < 16; i++)
206
+ this.world[i] = output[joint.parent * 16 + i];
207
+ }
208
+ this.world.multiplyRight(this.local);
209
+ for (let i = 0; i < 16; i++) {
210
+ if (!Number.isFinite(this.world[i]))
211
+ throw new RangeError("Hinge transform overflow");
212
+ output[index * 16 + i] = this.world[i];
213
+ }
214
+ }
215
+ return output;
216
+ }
217
+ };
218
+ function copyVector(vector) {
219
+ if (!vector || vector.length !== 3 || !Number.isFinite(vector[0]) || !Number.isFinite(vector[1]) || !Number.isFinite(vector[2])) {
220
+ throw new RangeError("Expected a finite hinge pivot and axis");
221
+ }
222
+ return [...vector];
223
+ }
224
+ function validateRigidTransform(matrix) {
225
+ if (matrix.length !== 16)
226
+ throw new RangeError("Expected a 4x4 rigid transform");
227
+ for (let i = 0; i < 16; i++) {
228
+ if (!Number.isFinite(matrix[i]))
229
+ throw new RangeError("Expected a finite rigid transform");
230
+ }
231
+ const tolerance = 1e-6;
232
+ if (Math.abs(matrix[3]) > tolerance || Math.abs(matrix[7]) > tolerance || Math.abs(matrix[11]) > tolerance || Math.abs(matrix[15] - 1) > tolerance)
233
+ throw new RangeError("Expected an affine rigid transform");
234
+ for (let a = 0; a < 3; a++) {
235
+ for (let b = a; b < 3; b++) {
236
+ let dot = 0;
237
+ for (let row = 0; row < 3; row++)
238
+ dot += matrix[a * 4 + row] * matrix[b * 4 + row];
239
+ if (Math.abs(dot - (a === b ? 1 : 0)) > tolerance) {
240
+ throw new RangeError("Rigid transforms cannot scale or shear");
241
+ }
242
+ }
243
+ }
244
+ const determinant = matrix[0] * (matrix[5] * matrix[10] - matrix[6] * matrix[9]) - matrix[4] * (matrix[1] * matrix[10] - matrix[2] * matrix[9]) + matrix[8] * (matrix[1] * matrix[6] - matrix[2] * matrix[5]);
245
+ if (Math.abs(determinant - 1) > tolerance)
246
+ throw new RangeError("Rigid transforms cannot reflect");
247
+ }
248
+
121
249
  // dist/lib/geometry-utils.js
122
250
  function unpackIndexedGeometry(geometry) {
123
251
  if (!geometry.indices)
@@ -223,8 +351,8 @@ function makeSurfaceOfRevolution(rings, nradial) {
223
351
  const stride = nradial + 1;
224
352
  for (let ringIndex = 0; ringIndex < rings.length; ringIndex++) {
225
353
  const ring = rings[ringIndex];
226
- for (let radial = 0; radial <= nradial; radial++) {
227
- const u = radial / nradial;
354
+ for (let radial2 = 0; radial2 <= nradial; radial2++) {
355
+ const u = radial2 / nradial;
228
356
  const angle = u * Math.PI * 2;
229
357
  const sin = Math.sin(angle);
230
358
  const cos = Math.cos(angle);
@@ -234,8 +362,8 @@ function makeSurfaceOfRevolution(rings, nradial) {
234
362
  }
235
363
  }
236
364
  for (let ring = 0; ring < rings.length - 1; ring++) {
237
- for (let radial = 0; radial < nradial; radial++) {
238
- const a = ring * stride + radial;
365
+ for (let radial2 = 0; radial2 < nradial; radial2++) {
366
+ const a = ring * stride + radial2;
239
367
  const b = a + 1;
240
368
  const c = a + stride;
241
369
  const d = c + 1;
@@ -353,8 +481,8 @@ var TruncatedConeGeometry = class extends Geometry {
353
481
  const normalScale = 1 / Math.hypot(1, slope);
354
482
  const addRing = (radius, y, normalRadius, normalY, v) => {
355
483
  const ring = positions.length / 3 / stride;
356
- for (let radial = 0; radial <= nradial; radial++) {
357
- const u = radial / nradial;
484
+ for (let radial2 = 0; radial2 <= nradial; radial2++) {
485
+ const u = radial2 / nradial;
358
486
  const angle = u * Math.PI * 2;
359
487
  const sin = Math.sin(angle);
360
488
  const cos = Math.cos(angle);
@@ -367,10 +495,10 @@ var TruncatedConeGeometry = class extends Geometry {
367
495
  return ring;
368
496
  };
369
497
  const connect = (lower, upper) => {
370
- for (let radial = 0; radial < nradial; radial++) {
371
- const a = lower * stride + radial;
498
+ for (let radial2 = 0; radial2 < nradial; radial2++) {
499
+ const a = lower * stride + radial2;
372
500
  const b = a + 1;
373
- const c = upper * stride + radial;
501
+ const c = upper * stride + radial2;
374
502
  const d = c + 1;
375
503
  indices.push(a, b, d, a, d, c);
376
504
  }
@@ -598,4 +726,157 @@ function normalize(vector) {
598
726
  const length = Math.hypot(...vector);
599
727
  return vector.map((component) => component / length);
600
728
  }
729
+
730
+ // dist/geometries/primitive-mesh-builder.js
731
+ var FULL_CIRCLE = Math.PI * 2;
732
+ function radial(angle, direction = 1) {
733
+ return [Math.cos(angle) * direction, 0, -Math.sin(angle) * direction];
734
+ }
735
+ function vertex(radius, height, angle, normal, textureCoordinates) {
736
+ return {
737
+ position: [radius * Math.cos(angle), height, -radius * Math.sin(angle)],
738
+ normal,
739
+ textureCoordinates: textureCoordinates ?? [(Math.cos(angle) + 1) / 2, (Math.sin(angle) + 1) / 2]
740
+ };
741
+ }
742
+ function validateArc(segments, startAngle, sweepAngle) {
743
+ assertSegments(segments, "segments", 3);
744
+ if (!Number.isFinite(startAngle))
745
+ throw new Error("startAngle must be finite");
746
+ if (!Number.isFinite(sweepAngle) || sweepAngle <= 0 || sweepAngle > FULL_CIRCLE)
747
+ throw new Error("sweepAngle must be positive and at most 2\u03C0");
748
+ }
749
+ var PrimitiveMeshBuilder = class {
750
+ constructor() {
751
+ this.positions = [];
752
+ this.normals = [];
753
+ this.textureCoordinates = [];
754
+ this.indices = [];
755
+ }
756
+ addVertex(current) {
757
+ const index = this.positions.length / 3;
758
+ this.positions.push(...current.position);
759
+ this.normals.push(...current.normal);
760
+ this.textureCoordinates.push(...current.textureCoordinates);
761
+ return index;
762
+ }
763
+ addTriangle(first, second, third, indices) {
764
+ const firstEdge = second.position.map((value, index) => value - first.position[index]);
765
+ const secondEdge = third.position.map((value, index) => value - first.position[index]);
766
+ const cross = [
767
+ firstEdge[1] * secondEdge[2] - firstEdge[2] * secondEdge[1],
768
+ firstEdge[2] * secondEdge[0] - firstEdge[0] * secondEdge[2],
769
+ firstEdge[0] * secondEdge[1] - firstEdge[1] * secondEdge[0]
770
+ ];
771
+ const orientation = cross.reduce((sum, value, index) => sum + value * (first.normal[index] + second.normal[index] + third.normal[index]), 0);
772
+ this.indices.push(...orientation < 0 ? [indices[0], indices[2], indices[1]] : indices);
773
+ }
774
+ triangle(first, second, third) {
775
+ this.addTriangle(first, second, third, [
776
+ this.addVertex(first),
777
+ this.addVertex(second),
778
+ this.addVertex(third)
779
+ ]);
780
+ }
781
+ quad(first, second, third, fourth) {
782
+ const indices = [first, second, third, fourth].map((current) => this.addVertex(current));
783
+ this.addTriangle(first, second, third, indices.slice(0, 3));
784
+ this.addTriangle(first, third, fourth, [indices[0], indices[2], indices[3]]);
785
+ }
786
+ getProps(props) {
787
+ return {
788
+ id: props.id,
789
+ topology: "triangle-list",
790
+ indices: makeIndices(this.positions.length / 3, this.indices),
791
+ attributes: {
792
+ POSITION: { size: 3, value: new Float32Array(this.positions) },
793
+ NORMAL: { size: 3, value: new Float32Array(this.normals) },
794
+ TEXCOORD_0: { size: 2, value: new Float32Array(this.textureCoordinates) },
795
+ ...props.attributes
796
+ }
797
+ };
798
+ }
799
+ };
800
+
801
+ // dist/geometries/prism-geometry.js
802
+ var PrismGeometry = class extends Geometry {
803
+ constructor(props = {}) {
804
+ const { radius = 1, height = 1, sides = 6, startAngle = 0 } = props;
805
+ assertPositive(radius, "radius");
806
+ assertPositive(height, "height");
807
+ validateArc(sides, startAngle, FULL_CIRCLE);
808
+ const mesh = new PrimitiveMeshBuilder();
809
+ for (let segment = 0; segment < sides; segment++) {
810
+ const firstAngle = startAngle + segment * FULL_CIRCLE / sides;
811
+ const secondAngle = startAngle + (segment + 1) * FULL_CIRCLE / sides;
812
+ const normal = radial((firstAngle + secondAngle) / 2);
813
+ const secondCornerAngle = segment === sides - 1 ? startAngle : secondAngle;
814
+ mesh.quad(vertex(radius, -height / 2, firstAngle, normal, [segment / sides, 0]), vertex(radius, height / 2, firstAngle, normal, [segment / sides, 1]), vertex(radius, height / 2, secondCornerAngle, normal, [(segment + 1) / sides, 1]), vertex(radius, -height / 2, secondCornerAngle, normal, [(segment + 1) / sides, 0]));
815
+ for (const direction of [-1, 1]) {
816
+ const capNormal = [0, direction, 0];
817
+ const center = {
818
+ position: [0, direction * height / 2, 0],
819
+ normal: capNormal,
820
+ textureCoordinates: [0.5, 0.5]
821
+ };
822
+ mesh.triangle(center, vertex(radius, direction * height / 2, firstAngle, capNormal), vertex(radius, direction * height / 2, secondCornerAngle, capNormal));
823
+ }
824
+ }
825
+ super(mesh.getProps(props));
826
+ }
827
+ };
828
+
829
+ // dist/geometries/ring-geometry.js
830
+ var RingGeometry = class extends Geometry {
831
+ constructor(props = {}) {
832
+ const { innerRadius = 0.5, outerRadius = 1, height = 0.1, segments = 48, startAngle = 0, sweepAngle = FULL_CIRCLE } = props;
833
+ assertPositive(innerRadius, "innerRadius");
834
+ assertPositive(outerRadius, "outerRadius");
835
+ assertPositive(height, "height");
836
+ if (innerRadius >= outerRadius)
837
+ throw new Error("innerRadius must be smaller than outerRadius");
838
+ validateArc(segments, startAngle, sweepAngle);
839
+ const mesh = new PrimitiveMeshBuilder();
840
+ for (let segment = 0; segment < segments; segment++) {
841
+ const firstAngle = startAngle + segment * sweepAngle / segments;
842
+ const secondAngle = segment === segments - 1 ? sweepAngle === FULL_CIRCLE ? startAngle : startAngle + sweepAngle : startAngle + (segment + 1) * sweepAngle / segments;
843
+ const makeCapVertex = (radius, height2, angle, normal) => vertex(radius, height2, angle, normal, [
844
+ (radius * Math.cos(angle) / outerRadius + 1) / 2,
845
+ (radius * Math.sin(angle) / outerRadius + 1) / 2
846
+ ]);
847
+ for (const direction of [-1, 1]) {
848
+ const normal = [0, direction, 0];
849
+ mesh.quad(makeCapVertex(innerRadius, direction * height / 2, firstAngle, normal), makeCapVertex(outerRadius, direction * height / 2, firstAngle, normal), makeCapVertex(outerRadius, direction * height / 2, secondAngle, normal), makeCapVertex(innerRadius, direction * height / 2, secondAngle, normal));
850
+ }
851
+ for (const [radius, direction] of [
852
+ [innerRadius, -1],
853
+ [outerRadius, 1]
854
+ ]) {
855
+ mesh.quad(vertex(radius, -height / 2, firstAngle, radial(firstAngle, direction), [
856
+ segment / segments,
857
+ 0
858
+ ]), vertex(radius, height / 2, firstAngle, radial(firstAngle, direction), [
859
+ segment / segments,
860
+ 1
861
+ ]), vertex(radius, height / 2, secondAngle, radial(secondAngle, direction), [
862
+ (segment + 1) / segments,
863
+ 1
864
+ ]), vertex(radius, -height / 2, secondAngle, radial(secondAngle, direction), [
865
+ (segment + 1) / segments,
866
+ 0
867
+ ]));
868
+ }
869
+ }
870
+ if (sweepAngle < FULL_CIRCLE) {
871
+ for (const [angle, direction] of [
872
+ [startAngle, -1],
873
+ [startAngle + sweepAngle, 1]
874
+ ]) {
875
+ const normal = [-Math.sin(angle) * direction, 0, -Math.cos(angle) * direction];
876
+ mesh.quad(vertex(innerRadius, -height / 2, angle, normal, [0, 0]), vertex(outerRadius, -height / 2, angle, normal, [1, 0]), vertex(outerRadius, height / 2, angle, normal, [1, 1]), vertex(innerRadius, height / 2, angle, normal, [0, 1]));
877
+ }
878
+ }
879
+ super(mesh.getProps(props));
880
+ }
881
+ };
601
882
  //# sourceMappingURL=index.cjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/index.ts", "../src/lib/geometry.ts", "../src/lib/geometry-utils.ts", "../src/geometries/geometry-helpers.ts", "../src/geometries/box-geometry.ts", "../src/geometries/surface-of-revolution.ts", "../src/geometries/capsule-geometry.ts", "../src/geometries/truncated-cone-geometry.ts", "../src/geometries/cylinder-geometry.ts", "../src/geometries/plane-geometry.ts", "../src/geometries/sphere-geometry.ts", "../src/geometries/ico-sphere-geometry.ts"],
4
- "mappings": "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",
5
- "names": []
3
+ "sources": ["../src/index.ts", "../src/lib/geometry.ts", "../src/lib/hinge-tree.ts", "../src/lib/geometry-utils.ts", "../src/geometries/geometry-helpers.ts", "../src/geometries/box-geometry.ts", "../src/geometries/surface-of-revolution.ts", "../src/geometries/capsule-geometry.ts", "../src/geometries/truncated-cone-geometry.ts", "../src/geometries/cylinder-geometry.ts", "../src/geometries/plane-geometry.ts", "../src/geometries/sphere-geometry.ts", "../src/geometries/ico-sphere-geometry.ts", "../src/geometries/primitive-mesh-builder.ts", "../src/geometries/prism-geometry.ts", "../src/geometries/ring-geometry.ts"],
4
+ "mappings": "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",
5
+ "names": ["radial", "radial", "height"]
6
6
  }
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export { Geometry } from "./lib/geometry.js";
2
2
  export type { GeometryProps, GeometryAttribute, GeometryAttributeInput, GeometryAttributes, PrimitiveTopology } from "./lib/geometry.js";
3
+ export { HingeTree } from "./lib/hinge-tree.js";
4
+ export type { HingePanel } from "./lib/hinge-tree.js";
3
5
  export { unpackIndexedGeometry } from "./lib/geometry-utils.js";
4
6
  export { BoxGeometry, CubeGeometry } from "./geometries/box-geometry.js";
5
7
  export type { BoxGeometryProps, CubeGeometryProps } from "./geometries/box-geometry.js";
@@ -15,4 +17,8 @@ export { TruncatedConeGeometry } from "./geometries/truncated-cone-geometry.js";
15
17
  export type { TruncatedConeGeometryProps } from "./geometries/truncated-cone-geometry.js";
16
18
  export { IcoSphereGeometry } from "./geometries/ico-sphere-geometry.js";
17
19
  export type { IcoSphereGeometryProps } from "./geometries/ico-sphere-geometry.js";
20
+ export { PrismGeometry } from "./geometries/prism-geometry.js";
21
+ export type { PrismGeometryProps } from "./geometries/prism-geometry.js";
22
+ export { RingGeometry } from "./geometries/ring-geometry.js";
23
+ export type { RingGeometryProps } from "./geometries/ring-geometry.js";
18
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,QAAQ,EAAC,0BAAuB;AACxC,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EAClB,0BAAuB;AACxB,OAAO,EAAC,qBAAqB,EAAC,gCAA6B;AAE3D,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,qCAAkC;AACpE,YAAY,EAAC,gBAAgB,EAAE,iBAAiB,EAAC,qCAAkC;AACnF,OAAO,EAAC,eAAe,EAAC,yCAAsC;AAC9D,YAAY,EAAC,oBAAoB,EAAC,yCAAsC;AACxE,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,0CAAuC;AAC9E,YAAY,EAAC,qBAAqB,EAAE,iBAAiB,EAAC,0CAAuC;AAC7F,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAC1D,YAAY,EAAC,kBAAkB,EAAC,uCAAoC;AACpE,OAAO,EAAC,cAAc,EAAC,wCAAqC;AAC5D,YAAY,EAAC,mBAAmB,EAAC,wCAAqC;AACtE,OAAO,EAAC,qBAAqB,EAAC,gDAA6C;AAC3E,YAAY,EAAC,0BAA0B,EAAC,gDAA6C;AACrF,OAAO,EAAC,iBAAiB,EAAC,4CAAyC;AACnE,YAAY,EAAC,sBAAsB,EAAC,4CAAyC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,QAAQ,EAAC,0BAAuB;AACxC,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EAClB,0BAAuB;AACxB,OAAO,EAAC,SAAS,EAAC,4BAAyB;AAC3C,YAAY,EAAC,UAAU,EAAC,4BAAyB;AAEjD,OAAO,EAAC,qBAAqB,EAAC,gCAA6B;AAE3D,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,qCAAkC;AACpE,YAAY,EAAC,gBAAgB,EAAE,iBAAiB,EAAC,qCAAkC;AACnF,OAAO,EAAC,eAAe,EAAC,yCAAsC;AAC9D,YAAY,EAAC,oBAAoB,EAAC,yCAAsC;AACxE,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,0CAAuC;AAC9E,YAAY,EAAC,qBAAqB,EAAE,iBAAiB,EAAC,0CAAuC;AAC7F,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAC1D,YAAY,EAAC,kBAAkB,EAAC,uCAAoC;AACpE,OAAO,EAAC,cAAc,EAAC,wCAAqC;AAC5D,YAAY,EAAC,mBAAmB,EAAC,wCAAqC;AACtE,OAAO,EAAC,qBAAqB,EAAC,gDAA6C;AAC3E,YAAY,EAAC,0BAA0B,EAAC,gDAA6C;AACrF,OAAO,EAAC,iBAAiB,EAAC,4CAAyC;AACnE,YAAY,EAAC,sBAAsB,EAAC,4CAAyC;AAE7E,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAC1D,YAAY,EAAC,kBAAkB,EAAC,uCAAoC;AAEpE,OAAO,EAAC,YAAY,EAAC,sCAAmC;AACxD,YAAY,EAAC,iBAAiB,EAAC,sCAAmC"}
package/dist/index.js CHANGED
@@ -1,7 +1,8 @@
1
1
  // math.gl
2
2
  // SPDX-License-Identifier: MIT
3
- // Copyright (c) vis.gl contributors
3
+ // SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
4
4
  export { Geometry } from "./lib/geometry.js";
5
+ export { HingeTree } from "./lib/hinge-tree.js";
5
6
  export { unpackIndexedGeometry } from "./lib/geometry-utils.js";
6
7
  export { BoxGeometry, CubeGeometry } from "./geometries/box-geometry.js";
7
8
  export { CapsuleGeometry } from "./geometries/capsule-geometry.js";
@@ -10,4 +11,6 @@ export { PlaneGeometry } from "./geometries/plane-geometry.js";
10
11
  export { SphereGeometry } from "./geometries/sphere-geometry.js";
11
12
  export { TruncatedConeGeometry } from "./geometries/truncated-cone-geometry.js";
12
13
  export { IcoSphereGeometry } from "./geometries/ico-sphere-geometry.js";
14
+ export { PrismGeometry } from "./geometries/prism-geometry.js";
15
+ export { RingGeometry } from "./geometries/ring-geometry.js";
13
16
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,QAAQ,EAAC,0BAAuB;AAQxC,OAAO,EAAC,qBAAqB,EAAC,gCAA6B;AAE3D,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,qCAAkC;AAEpE,OAAO,EAAC,eAAe,EAAC,yCAAsC;AAE9D,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,0CAAuC;AAE9E,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAE1D,OAAO,EAAC,cAAc,EAAC,wCAAqC;AAE5D,OAAO,EAAC,qBAAqB,EAAC,gDAA6C;AAE3E,OAAO,EAAC,iBAAiB,EAAC,4CAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;AAE5D,OAAO,EAAC,QAAQ,EAAC,0BAAuB;AAQxC,OAAO,EAAC,SAAS,EAAC,4BAAyB;AAG3C,OAAO,EAAC,qBAAqB,EAAC,gCAA6B;AAE3D,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,qCAAkC;AAEpE,OAAO,EAAC,eAAe,EAAC,yCAAsC;AAE9D,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,0CAAuC;AAE9E,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAE1D,OAAO,EAAC,cAAc,EAAC,wCAAqC;AAE5D,OAAO,EAAC,qBAAqB,EAAC,gDAA6C;AAE3E,OAAO,EAAC,iBAAiB,EAAC,4CAAyC;AAGnE,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAG1D,OAAO,EAAC,YAAY,EAAC,sCAAmC"}
@@ -1,6 +1,6 @@
1
1
  // math.gl
2
2
  // SPDX-License-Identifier: MIT
3
- // Copyright (c) vis.gl contributors
3
+ // SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
4
4
  /** Expands indexed attributes into a non-indexed geometry-like object. */
5
5
  export function unpackIndexedGeometry(geometry) {
6
6
  if (!geometry.indices)
@@ -1 +1 @@
1
- {"version":3,"file":"geometry-utils.js","sourceRoot":"","sources":["../../src/lib/geometry-utils.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAUpC,0EAA0E;AAC1E,MAAM,UAAU,qBAAqB,CAAyB,QAAW;IACvE,IAAI,CAAC,QAAQ,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAC;IACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;IACvC,MAAM,UAAU,GAAsC,EAAE,CAAC;IACzD,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACpE,IAAI,CAAC,SAAS;YAAE,SAAS;QACzB,IAAI,SAAS,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAC1C,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;YAC7B,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,WAAoC,CAAC;QACvE,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAe,CAAC;QAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;gBAChE,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC;oBACnC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAC,GAAG,SAAS,EAAE,KAAK,EAAC,CAAC;IAC3C,CAAC;IACD,OAAO,EAAC,UAAU,EAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"geometry-utils.js","sourceRoot":"","sources":["../../src/lib/geometry-utils.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;AAU5D,0EAA0E;AAC1E,MAAM,UAAU,qBAAqB,CAAyB,QAAW;IACvE,IAAI,CAAC,QAAQ,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAC;IACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;IACvC,MAAM,UAAU,GAAsC,EAAE,CAAC;IACzD,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACpE,IAAI,CAAC,SAAS;YAAE,SAAS;QACzB,IAAI,SAAS,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAC1C,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;YAC7B,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,WAAoC,CAAC;QACvE,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAe,CAAC;QAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;gBAChE,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC;oBACnC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAC,GAAG,SAAS,EAAE,KAAK,EAAC,CAAC;IAC3C,CAAC;IACD,OAAO,EAAC,UAAU,EAAC,CAAC;AACtB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { TypedArray } from '@math.gl/types';
1
+ import type { TypedArray } from '@math.gl/core/types';
2
2
  export type PrimitiveTopology = 'point-list' | 'line-list' | 'line-strip' | 'triangle-list' | 'triangle-strip';
3
3
  export type GeometryAttribute = {
4
4
  size?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../src/lib/geometry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAE/C,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,eAAe,GACf,gBAAgB,CAAC;AAErB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,GAAG,UAAU,CAAC;AACpE,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAAC,GAAG;IAC/E,OAAO,CAAC,EAAE,iBAAiB,GAAG;QAAC,IAAI,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAAA;KAAC,CAAC;CAC3E,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACnD,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC,CAAC;AAIF,qEAAqE;AACrE,qBAAa,QAAQ;IACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACvD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;gBAE3B,KAAK,EAAE,aAAa;IAkChC,cAAc,IAAI,MAAM;IAIxB,aAAa,IAAI,kBAAkB;CAKpC"}
1
+ {"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../src/lib/geometry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAEpD,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,eAAe,GACf,gBAAgB,CAAC;AAErB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,GAAG,UAAU,CAAC;AACpE,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAAC,GAAG;IAC/E,OAAO,CAAC,EAAE,iBAAiB,GAAG;QAAC,IAAI,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAAA;KAAC,CAAC;CAC3E,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACnD,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC,CAAC;AAIF,qEAAqE;AACrE,qBAAa,QAAQ;IACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACvD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;gBAE3B,KAAK,EAAE,aAAa;IAkChC,cAAc,IAAI,MAAM;IAIxB,aAAa,IAAI,kBAAkB;CAKpC"}
@@ -1,6 +1,6 @@
1
1
  // math.gl
2
2
  // SPDX-License-Identifier: MIT
3
- // Copyright (c) vis.gl contributors
3
+ // SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
4
4
  let geometryId = 0;
5
5
  /** A renderer-independent, typed-array-backed geometry container. */
6
6
  export class Geometry {
@@ -1 +1 @@
1
- {"version":3,"file":"geometry.js","sourceRoot":"","sources":["../../src/lib/geometry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geometry.js","sourceRoot":"","sources":["../../src/lib/geometry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { NumericArray } from '@math.gl/core';
2
+ /** A rigid panel attached to its parent by a revolute joint. */
3
+ export type HingePanel = {
4
+ /** Parent index in the input array; -1 for a root. Input order is arbitrary. */
5
+ parent: number;
6
+ /** Child-local to parent-local transform at zero angle; defaults to identity. */
7
+ restTransform?: Readonly<NumericArray>;
8
+ /** Hinge pivot in parent-local coordinates. Required for nonroots. */
9
+ pivot?: readonly [number, number, number];
10
+ /** Right-handed rotation axis in parent-local coordinates; normalized internally. */
11
+ axis?: readonly [number, number, number];
12
+ };
13
+ /** Experimental rigid-panel kinematics, independent of mesh topology and rendering.
14
+ * Snapshots its inputs. Does not infer shared edges, solve closed loops or detect collisions.
15
+ */
16
+ export declare class HingeTree {
17
+ readonly panelCount: number;
18
+ private readonly joints;
19
+ private readonly order;
20
+ private readonly angles;
21
+ private readonly local;
22
+ private readonly world;
23
+ private readonly root;
24
+ constructor(panels: readonly HingePanel[]);
25
+ /** Evaluate one angle per panel in radians (root angles must be zero).
26
+ * Returns column-major matrices in input-panel order, 16 doubles per panel.
27
+ * rootTransform places the whole forest; omitted means identity.
28
+ * Output may alias the inputs: angles and root transform are snapshotted first.
29
+ * Finite inputs that overflow during composition throw; output may then be partial.
30
+ */
31
+ evaluate(angles: Readonly<NumericArray>, output?: Float64Array<ArrayBuffer>, rootTransform?: Readonly<NumericArray>): Float64Array;
32
+ }
33
+ //# sourceMappingURL=hinge-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hinge-tree.d.ts","sourceRoot":"","sources":["../../src/lib/hinge-tree.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAEhD,gEAAgE;AAChE,MAAM,MAAM,UAAU,GAAG;IACvB,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,aAAa,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IACvC,sEAAsE;IACtE,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,qFAAqF;IACrF,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C,CAAC;AAUF;;GAEG;AACH,qBAAa,SAAS;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;gBAE1B,MAAM,EAAE,SAAS,UAAU,EAAE;IAsCzC;;;;;OAKG;IACH,QAAQ,CACN,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC9B,MAAM,4BAAyC,EAC/C,aAAa,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,GACrC,YAAY;CAsChB"}