@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
@@ -0,0 +1,23 @@
1
+ import type { NumericArray } from '@math.gl/core/types';
2
+ export type CurvePoint = Readonly<ArrayLike<number>>;
3
+ /** Parameterized Euclidean curve, with t in [0, 1]. */
4
+ export declare abstract class Curve {
5
+ readonly dimension: number;
6
+ protected constructor(dimension: number);
7
+ getPoint(t: number): number[];
8
+ getPoint<T extends NumericArray>(t: number, result: T): T;
9
+ /** Derivative with respect to the normalized curve parameter t. */
10
+ getDerivative(t: number): number[];
11
+ getDerivative<T extends NumericArray>(t: number, result: T): T;
12
+ /** Unit tangent; returns a zero vector at stationary points. */
13
+ getTangent(t: number): number[];
14
+ getTangent<T extends NumericArray>(t: number, result: T): T;
15
+ /** Flat coordinates for divisions + 1 evenly spaced parameter samples. */
16
+ getPoints(divisions?: number): Float64Array;
17
+ protected abstract evaluate(t: number, result: NumericArray, derivative: boolean): void;
18
+ }
19
+ /** Copy caller-owned control data so curves and their length tables stay stable. */
20
+ export declare function copyPoints(points: readonly CurvePoint[]): number[][];
21
+ export declare function validateParameter(t: number): void;
22
+ export declare function validateDivisions(divisions: number): void;
23
+ //# sourceMappingURL=curve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curve.d.ts","sourceRoot":"","sources":["../../src/curves/curve.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAEtD,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAErD,uDAAuD;AACvD,8BAAsB,KAAK;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,SAAS,aAAa,SAAS,EAAE,MAAM;IAOvC,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAC7B,QAAQ,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC;IAQzD,mEAAmE;IACnE,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAClC,aAAa,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC;IAQ9D,gEAAgE;IAChE,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAC/B,UAAU,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC;IAU3D,0EAA0E;IAC1E,SAAS,CAAC,SAAS,SAAK,GAAG,YAAY;IAWvC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;CACxF;AAED,oFAAoF;AACpF,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,EAAE,EAAE,CAapE;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAIjD;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAIzD"}
@@ -0,0 +1,77 @@
1
+ // math.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
4
+ /** Parameterized Euclidean curve, with t in [0, 1]. */
5
+ export class Curve {
6
+ constructor(dimension) {
7
+ if (dimension !== 2 && dimension !== 3) {
8
+ throw new RangeError('Curve points must have two or three coordinates');
9
+ }
10
+ this.dimension = dimension;
11
+ }
12
+ getPoint(t, result = new Array(this.dimension)) {
13
+ validateParameter(t);
14
+ validateResult(result, this.dimension);
15
+ this.evaluate(t, result, false);
16
+ return result;
17
+ }
18
+ getDerivative(t, result = new Array(this.dimension)) {
19
+ validateParameter(t);
20
+ validateResult(result, this.dimension);
21
+ this.evaluate(t, result, true);
22
+ return result;
23
+ }
24
+ getTangent(t, result = new Array(this.dimension)) {
25
+ this.getDerivative(t, result);
26
+ const length = Math.hypot(result[0], result[1], this.dimension === 3 ? result[2] : 0);
27
+ if (length > 0) {
28
+ for (let i = 0; i < this.dimension; i++)
29
+ result[i] /= length;
30
+ }
31
+ return result;
32
+ }
33
+ /** Flat coordinates for divisions + 1 evenly spaced parameter samples. */
34
+ getPoints(divisions = 64) {
35
+ validateDivisions(divisions);
36
+ const points = new Float64Array((divisions + 1) * this.dimension);
37
+ const point = new Array(this.dimension);
38
+ for (let i = 0; i <= divisions; i++) {
39
+ this.getPoint(i / divisions, point);
40
+ points.set(point, i * this.dimension);
41
+ }
42
+ return points;
43
+ }
44
+ }
45
+ /** Copy caller-owned control data so curves and their length tables stay stable. */
46
+ export function copyPoints(points) {
47
+ if (!points.length)
48
+ throw new RangeError('Invalid number of curve control points');
49
+ const dimension = points[0].length;
50
+ if (dimension !== 2 && dimension !== 3) {
51
+ throw new RangeError('Curve points must have two or three coordinates');
52
+ }
53
+ return points.map(point => {
54
+ if (point.length !== dimension)
55
+ throw new RangeError('Control point dimensions must match');
56
+ return Array.from(point, value => {
57
+ if (!Number.isFinite(value))
58
+ throw new RangeError('Control coordinates must be finite');
59
+ return value;
60
+ });
61
+ });
62
+ }
63
+ export function validateParameter(t) {
64
+ if (!Number.isFinite(t) || t < 0 || t > 1) {
65
+ throw new RangeError('Curve parameter must be finite and in [0, 1]');
66
+ }
67
+ }
68
+ export function validateDivisions(divisions) {
69
+ if (!Number.isSafeInteger(divisions) || divisions < 1) {
70
+ throw new RangeError('divisions must be a positive safe integer');
71
+ }
72
+ }
73
+ function validateResult(result, dimension) {
74
+ if (result.length < dimension)
75
+ throw new RangeError('Result buffer is too short');
76
+ }
77
+ //# sourceMappingURL=curve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curve.js","sourceRoot":"","sources":["../../src/curves/curve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { NumericArray } from '@math.gl/core/types';
2
+ import { Curve, type CurvePoint } from "./curve.js";
3
+ /** Cubic curve with endpoint derivatives (not unit tangent directions). */
4
+ export declare class HermiteCurve extends Curve {
5
+ private readonly data;
6
+ constructor(start: CurvePoint, end: CurvePoint, startTangent: CurvePoint, endTangent: CurvePoint);
7
+ protected evaluate(t: number, result: NumericArray, derivative: boolean): void;
8
+ }
9
+ //# sourceMappingURL=hermite-curve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hermite-curve.d.ts","sourceRoot":"","sources":["../../src/curves/hermite-curve.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,KAAK,EAAc,KAAK,UAAU,EAAC,mBAAgB;AAE3D,2EAA2E;AAC3E,qBAAa,YAAa,SAAQ,KAAK;IACrC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;gBAGhC,KAAK,EAAE,UAAU,EACjB,GAAG,EAAE,UAAU,EACf,YAAY,EAAE,UAAU,EACxB,UAAU,EAAE,UAAU;IAOxB,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;CAW/E"}
@@ -0,0 +1,24 @@
1
+ // math.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
4
+ import { Curve, copyPoints } from "./curve.js";
5
+ /** Cubic curve with endpoint derivatives (not unit tangent directions). */
6
+ export class HermiteCurve extends Curve {
7
+ constructor(start, end, startTangent, endTangent) {
8
+ const data = copyPoints([start, end, startTangent, endTangent]);
9
+ super(data[0].length);
10
+ this.data = data;
11
+ }
12
+ evaluate(t, result, derivative) {
13
+ const t2 = t * t;
14
+ const h0 = derivative ? 6 * t2 - 6 * t : (1 + 2 * t) * (1 - t) ** 2;
15
+ const h1 = derivative ? -6 * t2 + 6 * t : t2 * (3 - 2 * t);
16
+ const h2 = derivative ? 3 * t2 - 4 * t + 1 : t * (1 - t) ** 2;
17
+ const h3 = derivative ? 3 * t2 - 2 * t : t2 * (t - 1);
18
+ for (let i = 0; i < this.dimension; i++) {
19
+ result[i] =
20
+ h0 * this.data[0][i] + h1 * this.data[1][i] + h2 * this.data[2][i] + h3 * this.data[3][i];
21
+ }
22
+ }
23
+ }
24
+ //# sourceMappingURL=hermite-curve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hermite-curve.js","sourceRoot":"","sources":["../../src/curves/hermite-curve.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;AAG5D,OAAO,EAAC,KAAK,EAAE,UAAU,EAAkB,mBAAgB;AAE3D,2EAA2E;AAC3E,MAAM,OAAO,YAAa,SAAQ,KAAK;IAGrC,YACE,KAAiB,EACjB,GAAe,EACf,YAAwB,EACxB,UAAsB;QAEtB,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAES,QAAQ,CAAC,CAAS,EAAE,MAAoB,EAAE,UAAmB;QACrE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACpE,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,CAAC,CAAC,CAAC;gBACP,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,293 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // dist/curves/index.js
20
+ var index_exports = {};
21
+ __export(index_exports, {
22
+ CatmullRomCurve: () => CatmullRomCurve,
23
+ CubicBezierCurve: () => CubicBezierCurve,
24
+ Curve: () => Curve,
25
+ CurveArcLength: () => CurveArcLength,
26
+ HermiteCurve: () => HermiteCurve,
27
+ LineCurve: () => LineCurve,
28
+ QuadraticBezierCurve: () => QuadraticBezierCurve
29
+ });
30
+ module.exports = __toCommonJS(index_exports);
31
+
32
+ // dist/curves/curve.js
33
+ var Curve = class {
34
+ constructor(dimension) {
35
+ if (dimension !== 2 && dimension !== 3) {
36
+ throw new RangeError("Curve points must have two or three coordinates");
37
+ }
38
+ this.dimension = dimension;
39
+ }
40
+ getPoint(t, result = new Array(this.dimension)) {
41
+ validateParameter(t);
42
+ validateResult(result, this.dimension);
43
+ this.evaluate(t, result, false);
44
+ return result;
45
+ }
46
+ getDerivative(t, result = new Array(this.dimension)) {
47
+ validateParameter(t);
48
+ validateResult(result, this.dimension);
49
+ this.evaluate(t, result, true);
50
+ return result;
51
+ }
52
+ getTangent(t, result = new Array(this.dimension)) {
53
+ this.getDerivative(t, result);
54
+ const length = Math.hypot(result[0], result[1], this.dimension === 3 ? result[2] : 0);
55
+ if (length > 0) {
56
+ for (let i = 0; i < this.dimension; i++)
57
+ result[i] /= length;
58
+ }
59
+ return result;
60
+ }
61
+ /** Flat coordinates for divisions + 1 evenly spaced parameter samples. */
62
+ getPoints(divisions = 64) {
63
+ validateDivisions(divisions);
64
+ const points = new Float64Array((divisions + 1) * this.dimension);
65
+ const point = new Array(this.dimension);
66
+ for (let i = 0; i <= divisions; i++) {
67
+ this.getPoint(i / divisions, point);
68
+ points.set(point, i * this.dimension);
69
+ }
70
+ return points;
71
+ }
72
+ };
73
+ function copyPoints(points) {
74
+ if (!points.length)
75
+ throw new RangeError("Invalid number of curve control points");
76
+ const dimension = points[0].length;
77
+ if (dimension !== 2 && dimension !== 3) {
78
+ throw new RangeError("Curve points must have two or three coordinates");
79
+ }
80
+ return points.map((point) => {
81
+ if (point.length !== dimension)
82
+ throw new RangeError("Control point dimensions must match");
83
+ return Array.from(point, (value) => {
84
+ if (!Number.isFinite(value))
85
+ throw new RangeError("Control coordinates must be finite");
86
+ return value;
87
+ });
88
+ });
89
+ }
90
+ function validateParameter(t) {
91
+ if (!Number.isFinite(t) || t < 0 || t > 1) {
92
+ throw new RangeError("Curve parameter must be finite and in [0, 1]");
93
+ }
94
+ }
95
+ function validateDivisions(divisions) {
96
+ if (!Number.isSafeInteger(divisions) || divisions < 1) {
97
+ throw new RangeError("divisions must be a positive safe integer");
98
+ }
99
+ }
100
+ function validateResult(result, dimension) {
101
+ if (result.length < dimension)
102
+ throw new RangeError("Result buffer is too short");
103
+ }
104
+
105
+ // dist/curves/bezier-curves.js
106
+ var BezierCurve = class extends Curve {
107
+ constructor(points) {
108
+ const copied = copyPoints(points);
109
+ super(copied[0].length);
110
+ this.points = copied;
111
+ }
112
+ evaluate(t, result, derivative) {
113
+ const degree = this.points.length - 1;
114
+ for (let i = 0; i < this.dimension; i++) {
115
+ let a = this.points[0][i];
116
+ let b = this.points[1][i];
117
+ let c = degree >= 2 ? this.points[2][i] : 0;
118
+ const d = degree === 3 ? this.points[3][i] : 0;
119
+ let order = degree;
120
+ if (derivative) {
121
+ a = degree * (b - a);
122
+ b = degree * (c - b);
123
+ c = degree * (d - c);
124
+ order--;
125
+ }
126
+ if (order === 3) {
127
+ a = (1 - t) * a + t * b;
128
+ b = (1 - t) * b + t * c;
129
+ c = (1 - t) * c + t * d;
130
+ }
131
+ if (order >= 2) {
132
+ a = (1 - t) * a + t * b;
133
+ b = (1 - t) * b + t * c;
134
+ }
135
+ result[i] = order >= 1 ? (1 - t) * a + t * b : a;
136
+ }
137
+ }
138
+ };
139
+ var LineCurve = class extends BezierCurve {
140
+ constructor(start, end) {
141
+ super([start, end]);
142
+ }
143
+ };
144
+ var QuadraticBezierCurve = class extends BezierCurve {
145
+ constructor(start, control, end) {
146
+ super([start, control, end]);
147
+ }
148
+ };
149
+ var CubicBezierCurve = class extends BezierCurve {
150
+ constructor(start, control1, control2, end) {
151
+ super([start, control1, control2, end]);
152
+ }
153
+ };
154
+
155
+ // dist/curves/hermite-curve.js
156
+ var HermiteCurve = class extends Curve {
157
+ constructor(start, end, startTangent, endTangent) {
158
+ const data = copyPoints([start, end, startTangent, endTangent]);
159
+ super(data[0].length);
160
+ this.data = data;
161
+ }
162
+ evaluate(t, result, derivative) {
163
+ const t2 = t * t;
164
+ const h0 = derivative ? 6 * t2 - 6 * t : (1 + 2 * t) * (1 - t) ** 2;
165
+ const h1 = derivative ? -6 * t2 + 6 * t : t2 * (3 - 2 * t);
166
+ const h2 = derivative ? 3 * t2 - 4 * t + 1 : t * (1 - t) ** 2;
167
+ const h3 = derivative ? 3 * t2 - 2 * t : t2 * (t - 1);
168
+ for (let i = 0; i < this.dimension; i++) {
169
+ result[i] = h0 * this.data[0][i] + h1 * this.data[1][i] + h2 * this.data[2][i] + h3 * this.data[3][i];
170
+ }
171
+ }
172
+ };
173
+
174
+ // dist/curves/catmull-rom-curve.js
175
+ var CatmullRomCurve = class extends Curve {
176
+ constructor(points, options = {}) {
177
+ const data = copyPoints(points);
178
+ super(data[0].length);
179
+ this.closed = options.closed ?? false;
180
+ if (data.length < (this.closed ? 3 : 2))
181
+ throw new RangeError("Not enough spline points");
182
+ const mode = options.parameterization ?? "centripetal";
183
+ if (!["centripetal", "chordal", "uniform"].includes(mode)) {
184
+ throw new RangeError("Unknown Catmull-Rom parameterization");
185
+ }
186
+ const tension = options.tension ?? 0.5;
187
+ if (!Number.isFinite(tension) || tension < 0 || tension > 1) {
188
+ throw new RangeError("tension must be in [0, 1]");
189
+ }
190
+ if (options.tension !== void 0 && mode !== "uniform") {
191
+ throw new RangeError("tension is only supported for uniform splines");
192
+ }
193
+ const point = (index) => {
194
+ if (this.closed)
195
+ return data[(index + data.length) % data.length];
196
+ if (index < 0)
197
+ return data[0].map((x, i) => 2 * x - data[1][i]);
198
+ if (index >= data.length) {
199
+ return data[data.length - 1].map((x, i) => 2 * x - data[data.length - 2][i]);
200
+ }
201
+ return data[index];
202
+ };
203
+ this.segments = [];
204
+ for (let s = 0; s < data.length - (this.closed ? 0 : 1); s++) {
205
+ const p0 = point(s - 1);
206
+ const p1 = point(s);
207
+ const p2 = point(s + 1);
208
+ const p3 = point(s + 2);
209
+ const interval = (a, b) => {
210
+ const distance = Math.hypot(...a.map((x, i) => b[i] - x));
211
+ return distance ** (mode === "chordal" ? 1 : 0.5);
212
+ };
213
+ const d1 = interval(p1, p2);
214
+ if (mode !== "uniform" && d1 === 0) {
215
+ const zero = new Array(this.dimension).fill(0);
216
+ this.segments.push(new HermiteCurve(p1, p2, zero, zero));
217
+ continue;
218
+ }
219
+ const d0 = interval(p0, p1) || d1;
220
+ const d2 = interval(p2, p3) || d1;
221
+ const m1 = p1.map((x, i) => mode === "uniform" ? tension * (p2[i] - p0[i]) : d1 * ((x - p0[i]) / d0 - (p2[i] - p0[i]) / (d0 + d1) + (p2[i] - x) / d1));
222
+ const m2 = p2.map((x, i) => mode === "uniform" ? tension * (p3[i] - p1[i]) : d1 * ((x - p1[i]) / d1 - (p3[i] - p1[i]) / (d1 + d2) + (p3[i] - x) / d2));
223
+ this.segments.push(new HermiteCurve(p1, p2, m1, m2));
224
+ }
225
+ }
226
+ evaluate(t, result, derivative) {
227
+ const scaled = t * this.segments.length;
228
+ const index = Math.min(Math.floor(scaled), this.segments.length - 1);
229
+ const local = scaled - index;
230
+ if (derivative) {
231
+ this.segments[index].getDerivative(local, result);
232
+ for (let i = 0; i < this.dimension; i++)
233
+ result[i] *= this.segments.length;
234
+ } else {
235
+ this.segments[index].getPoint(local, result);
236
+ }
237
+ }
238
+ };
239
+
240
+ // dist/curves/curve-arc-length.js
241
+ var CurveArcLength = class {
242
+ constructor(curve, divisions = 1024) {
243
+ validateDivisions(divisions);
244
+ this.curve = curve;
245
+ this.divisions = divisions;
246
+ this.cumulativeLengths = new Float64Array(divisions + 1);
247
+ let previous = curve.getPoint(0);
248
+ let current = new Array(curve.dimension);
249
+ let length = 0;
250
+ for (let i = 1; i <= divisions; i++) {
251
+ curve.getPoint(i / divisions, current);
252
+ length += Math.hypot(current[0] - previous[0], current[1] - previous[1], curve.dimension === 3 ? current[2] - previous[2] : 0);
253
+ if (!Number.isFinite(length))
254
+ throw new RangeError("Curve arc length must be finite");
255
+ this.cumulativeLengths[i] = length;
256
+ [previous, current] = [current, previous];
257
+ }
258
+ this.length = length;
259
+ }
260
+ /** Map a fraction of total length to t, preserving endpoints and zero-length curves. */
261
+ getParameterAt(u) {
262
+ validateParameter(u);
263
+ if (u === 0 || u === 1 || this.length === 0)
264
+ return u;
265
+ const target = u * this.length;
266
+ let low = 0;
267
+ let high = this.divisions;
268
+ while (low + 1 < high) {
269
+ const middle = Math.floor((low + high) / 2);
270
+ if (this.cumulativeLengths[middle] <= target)
271
+ low = middle;
272
+ else
273
+ high = middle;
274
+ }
275
+ const span = this.cumulativeLengths[high] - this.cumulativeLengths[low];
276
+ return (low + (span > 0 ? (target - this.cumulativeLengths[low]) / span : 0)) / this.divisions;
277
+ }
278
+ getPointAt(u, result = new Array(this.curve.dimension)) {
279
+ return this.curve.getPoint(this.getParameterAt(u), result);
280
+ }
281
+ /** Flat samples at approximately equal distances along the curve. */
282
+ getSpacedPoints(divisions = 64) {
283
+ validateDivisions(divisions);
284
+ const points = new Float64Array((divisions + 1) * this.curve.dimension);
285
+ const point = new Array(this.curve.dimension);
286
+ for (let i = 0; i <= divisions; i++) {
287
+ this.getPointAt(i / divisions, point);
288
+ points.set(point, i * this.curve.dimension);
289
+ }
290
+ return points;
291
+ }
292
+ };
293
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/curves/index.ts", "../../src/curves/curve.ts", "../../src/curves/bezier-curves.ts", "../../src/curves/hermite-curve.ts", "../../src/curves/catmull-rom-curve.ts", "../../src/curves/curve-arc-length.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,8 @@
1
+ export { Curve } from "./curve.js";
2
+ export type { CurvePoint } from "./curve.js";
3
+ export { LineCurve, QuadraticBezierCurve, CubicBezierCurve } from "./bezier-curves.js";
4
+ export { HermiteCurve } from "./hermite-curve.js";
5
+ export { CatmullRomCurve } from "./catmull-rom-curve.js";
6
+ export type { CatmullRomCurveOptions } from "./catmull-rom-curve.js";
7
+ export { CurveArcLength } from "./curve-arc-length.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/curves/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,KAAK,EAAC,mBAAgB;AAC9B,YAAY,EAAC,UAAU,EAAC,mBAAgB;AACxC,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,gBAAgB,EACjB,2BAAwB;AACzB,OAAO,EAAC,YAAY,EAAC,2BAAwB;AAC7C,OAAO,EAAC,eAAe,EAAC,+BAA4B;AACpD,YAAY,EAAC,sBAAsB,EAAC,+BAA4B;AAChE,OAAO,EAAC,cAAc,EAAC,8BAA2B"}
@@ -0,0 +1,9 @@
1
+ // math.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
4
+ export { Curve } from "./curve.js";
5
+ export { LineCurve, QuadraticBezierCurve, CubicBezierCurve } from "./bezier-curves.js";
6
+ export { HermiteCurve } from "./hermite-curve.js";
7
+ export { CatmullRomCurve } from "./catmull-rom-curve.js";
8
+ export { CurveArcLength } from "./curve-arc-length.js";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/curves/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;AAE5D,OAAO,EAAC,KAAK,EAAC,mBAAgB;AAE9B,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,gBAAgB,EACjB,2BAAwB;AACzB,OAAO,EAAC,YAAY,EAAC,2BAAwB;AAC7C,OAAO,EAAC,eAAe,EAAC,+BAA4B;AAEpD,OAAO,EAAC,cAAc,EAAC,8BAA2B"}
@@ -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
  import { Geometry } from "../lib/geometry.js";
5
5
  import { assertPositive, makeIndices } from "./geometry-helpers.js";
6
6
  /** Tessellates the glTF box shape: centered at the origin with total axis lengths `size`. */
@@ -1 +1 @@
1
- {"version":3,"file":"box-geometry.js","sourceRoot":"","sources":["../../src/geometries/box-geometry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"box-geometry.js","sourceRoot":"","sources":["../../src/geometries/box-geometry.ts"],"names":[],"mappings":"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"}
@@ -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
  import { Geometry } from "../lib/geometry.js";
5
5
  import { assertNonNegative, assertPositive, assertSegments } from "./geometry-helpers.js";
6
6
  import { makeSurfaceOfRevolution } from "./surface-of-revolution.js";
@@ -1 +1 @@
1
- {"version":3,"file":"capsule-geometry.js","sourceRoot":"","sources":["../../src/geometries/capsule-geometry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capsule-geometry.js","sourceRoot":"","sources":["../../src/geometries/capsule-geometry.ts"],"names":[],"mappings":"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"}
@@ -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
  import { TruncatedConeGeometry } from "./truncated-cone-geometry.js";
5
5
  /** Tessellates the closed, Y-aligned glTF cylinder shape, including tapered cylinders. */
6
6
  export class CylinderGeometry extends TruncatedConeGeometry {
@@ -1 +1 @@
1
- {"version":3,"file":"cylinder-geometry.js","sourceRoot":"","sources":["../../src/geometries/cylinder-geometry.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,qBAAqB,EAAkC,qCAAkC;AAUjG,0FAA0F;AAC1F,MAAM,OAAO,gBAAiB,SAAQ,qBAAqB;IACzD,YAAY,QAA+B,EAAE;QAC3C,MAAM,EAAC,MAAM,GAAG,CAAC,EAAE,SAAS,GAAG,GAAG,EAAE,YAAY,GAAG,GAAG,EAAC,GAAG,KAAK,CAAC;QAChE,KAAK,CAAC;YACJ,GAAG,KAAK;YACR,MAAM;YACN,SAAS,EAAE,SAAS;YACpB,YAAY,EAAE,YAAY;YAC1B,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,YAAY,EAAE,GAAG;SAClB,CAAC,CAAC;IACL,CAAC;CACF;AAMD,oDAAoD;AACpD,MAAM,OAAO,YAAa,SAAQ,qBAAqB;IACrD,YAAY,QAA2B,EAAE;QACvC,MAAM,EAAC,MAAM,GAAG,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,SAAS,GAAG,IAAI,EAAC,GAAG,KAAK,CAAC;QAC/D,KAAK,CAAC,EAAC,GAAG,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAC,CAAC,CAAC;IAC3E,CAAC;CACF"}
1
+ {"version":3,"file":"cylinder-geometry.js","sourceRoot":"","sources":["../../src/geometries/cylinder-geometry.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;AAE5D,OAAO,EAAC,qBAAqB,EAAkC,qCAAkC;AAUjG,0FAA0F;AAC1F,MAAM,OAAO,gBAAiB,SAAQ,qBAAqB;IACzD,YAAY,QAA+B,EAAE;QAC3C,MAAM,EAAC,MAAM,GAAG,CAAC,EAAE,SAAS,GAAG,GAAG,EAAE,YAAY,GAAG,GAAG,EAAC,GAAG,KAAK,CAAC;QAChE,KAAK,CAAC;YACJ,GAAG,KAAK;YACR,MAAM;YACN,SAAS,EAAE,SAAS;YACpB,YAAY,EAAE,YAAY;YAC1B,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,YAAY,EAAE,GAAG;SAClB,CAAC,CAAC;IACL,CAAC;CACF;AAMD,oDAAoD;AACpD,MAAM,OAAO,YAAa,SAAQ,qBAAqB;IACrD,YAAY,QAA2B,EAAE;QACvC,MAAM,EAAC,MAAM,GAAG,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,SAAS,GAAG,IAAI,EAAC,GAAG,KAAK,CAAC;QAC/D,KAAK,CAAC,EAAC,GAAG,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAC,CAAC,CAAC;IAC3E,CAAC;CACF"}
@@ -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
  export function assertPositive(value, name) {
5
5
  if (!Number.isFinite(value) || value <= 0)
6
6
  throw new Error(`${name} must be greater than zero`);
@@ -1 +1 @@
1
- {"version":3,"file":"geometry-helpers.js","sourceRoot":"","sources":["../../src/geometries/geometry-helpers.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AASpC,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,IAAY;IACxD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,4BAA4B,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,IAAY;IAC3D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,uBAAuB,CAAC,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,IAAY,EAAE,OAAO,GAAG,CAAC;IACrE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,OAAO;QAC7C,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,0BAA0B,OAAO,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,WAAmB,EAAE,MAAgB;IAC/D,OAAO,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;AAClF,CAAC"}
1
+ {"version":3,"file":"geometry-helpers.js","sourceRoot":"","sources":["../../src/geometries/geometry-helpers.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;AAS5D,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,IAAY;IACxD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,4BAA4B,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,IAAY;IAC3D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,uBAAuB,CAAC,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,IAAY,EAAE,OAAO,GAAG,CAAC;IACrE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,OAAO;QAC7C,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,0BAA0B,OAAO,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,WAAmB,EAAE,MAAgB;IAC/D,OAAO,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;AAClF,CAAC"}
@@ -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
  import { Geometry } from "../lib/geometry.js";
5
5
  import { assertPositive, assertSegments } from "./geometry-helpers.js";
6
6
  /** Subdivided icosahedron projected onto a sphere. Returned as a non-indexed triangle list. */
@@ -1 +1 @@
1
- {"version":3,"file":"ico-sphere-geometry.js","sourceRoot":"","sources":["../../src/geometries/ico-sphere-geometry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ico-sphere-geometry.js","sourceRoot":"","sources":["../../src/geometries/ico-sphere-geometry.ts"],"names":[],"mappings":"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"}
@@ -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
  import { Geometry } from "../lib/geometry.js";
5
5
  import { assertPositive, assertSegments, makeIndices } from "./geometry-helpers.js";
6
6
  /** Tessellates a finite glTF plane in XZ with its front face and normal pointing +Y. */