@thi.ng/geom 2.1.28 → 3.0.3

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 (254) hide show
  1. package/CHANGELOG.md +131 -152
  2. package/README.md +17 -6
  3. package/{ctors/aabb.d.ts → aabb.d.ts} +3 -3
  4. package/{ctors/aabb.js → aabb.js} +10 -5
  5. package/api/aabb.d.ts +1 -1
  6. package/api/aabb.js +5 -4
  7. package/api/arc.d.ts +1 -1
  8. package/api/arc.js +4 -4
  9. package/api/circle.d.ts +1 -1
  10. package/api/circle.js +3 -3
  11. package/api/cubic.d.ts +1 -1
  12. package/api/cubic.js +3 -3
  13. package/api/ellipse.d.ts +1 -1
  14. package/api/ellipse.js +4 -4
  15. package/api/group.js +2 -2
  16. package/api/line.d.ts +1 -1
  17. package/api/line.js +3 -3
  18. package/api/path.js +4 -4
  19. package/api/plane.d.ts +1 -1
  20. package/api/plane.js +3 -3
  21. package/api/points.d.ts +1 -1
  22. package/api/points.js +4 -4
  23. package/api/polygon.d.ts +1 -1
  24. package/api/polygon.js +3 -3
  25. package/api/polyline.d.ts +1 -1
  26. package/api/polyline.js +4 -4
  27. package/api/quad.d.ts +1 -1
  28. package/api/quad.js +3 -3
  29. package/api/quad3.d.ts +1 -1
  30. package/api/quad3.js +3 -3
  31. package/api/quadratic.d.ts +1 -1
  32. package/api/quadratic.js +3 -3
  33. package/api/ray.d.ts +1 -1
  34. package/api/ray.js +4 -3
  35. package/api/rect.d.ts +1 -1
  36. package/api/rect.js +5 -4
  37. package/api/sphere.d.ts +1 -1
  38. package/api/sphere.js +3 -3
  39. package/api/text.d.ts +1 -1
  40. package/api/text.js +3 -3
  41. package/api/triangle.d.ts +1 -1
  42. package/api/triangle.js +3 -3
  43. package/{ops/arc-length.d.ts → arc-length.d.ts} +2 -1
  44. package/{ops/arc-length.js → arc-length.js} +9 -9
  45. package/{ctors/arc.d.ts → arc.d.ts} +1 -1
  46. package/{ctors/arc.js → arc.js} +3 -3
  47. package/{ops/area.d.ts → area.d.ts} +1 -1
  48. package/{ops/area.js → area.js} +7 -9
  49. package/{ops/as-cubic.d.ts → as-cubic.d.ts} +2 -2
  50. package/as-cubic.js +40 -0
  51. package/{ops/as-path.d.ts → as-path.d.ts} +1 -1
  52. package/as-path.js +4 -0
  53. package/{ops/as-polygon.d.ts → as-polygon.d.ts} +2 -2
  54. package/as-polygon.js +18 -0
  55. package/{ops/as-polyline.d.ts → as-polyline.d.ts} +2 -2
  56. package/as-polyline.js +30 -0
  57. package/{ops/as-svg.d.ts → as-svg.d.ts} +0 -0
  58. package/as-svg.js +24 -0
  59. package/bounds.d.ts +4 -0
  60. package/bounds.js +50 -0
  61. package/center.d.ts +5 -0
  62. package/center.js +22 -0
  63. package/centroid.d.ts +5 -0
  64. package/centroid.js +35 -0
  65. package/{ctors/circle.d.ts → circle.d.ts} +2 -2
  66. package/{ctors/circle.js → circle.js} +6 -5
  67. package/classify-point.d.ts +5 -0
  68. package/classify-point.js +11 -0
  69. package/clip-convex.d.ts +5 -0
  70. package/clip-convex.js +44 -0
  71. package/closest-point.d.ts +5 -0
  72. package/{ops/closest-point.js → closest-point.js} +16 -11
  73. package/convex-hull.d.ts +4 -0
  74. package/convex-hull.js +18 -0
  75. package/{ctors/cubic.d.ts → cubic.d.ts} +2 -2
  76. package/cubic.js +12 -0
  77. package/{ops/edges.d.ts → edges.d.ts} +1 -1
  78. package/edges.js +30 -0
  79. package/{ctors/ellipse.d.ts → ellipse.d.ts} +1 -1
  80. package/ellipse.js +5 -0
  81. package/{ops/fit-into-bounds.d.ts → fit-into-bounds.d.ts} +2 -2
  82. package/{ops/fit-into-bounds.js → fit-into-bounds.js} +15 -12
  83. package/flip.d.ts +4 -0
  84. package/flip.js +38 -0
  85. package/{ctors/group.d.ts → group.d.ts} +1 -1
  86. package/{ctors/group.js → group.js} +1 -1
  87. package/index.d.ts +80 -90
  88. package/index.js +80 -90
  89. package/internal/args.d.ts +3 -3
  90. package/internal/args.js +8 -7
  91. package/internal/bounds.d.ts +25 -0
  92. package/internal/bounds.js +45 -0
  93. package/internal/collate.d.ts +2 -2
  94. package/internal/collate.js +9 -4
  95. package/internal/copy.d.ts +4 -0
  96. package/internal/copy.js +3 -0
  97. package/internal/dispatch.d.ts +2 -2
  98. package/internal/dispatch.js +2 -2
  99. package/internal/edges.d.ts +1 -1
  100. package/internal/edges.js +3 -2
  101. package/internal/pclike.d.ts +1 -1
  102. package/internal/pclike.js +3 -3
  103. package/internal/points-as-shape.d.ts +2 -2
  104. package/internal/points-as-shape.js +4 -4
  105. package/internal/split.d.ts +2 -2
  106. package/internal/split.js +3 -2
  107. package/internal/transform.d.ts +16 -0
  108. package/internal/transform.js +14 -0
  109. package/internal/translate.d.ts +5 -0
  110. package/internal/translate.js +4 -0
  111. package/intersects.d.ts +4 -0
  112. package/{ops/intersects.js → intersects.js} +18 -10
  113. package/{ctors/line.d.ts → line.d.ts} +2 -2
  114. package/{ctors/line.js → line.js} +6 -6
  115. package/map-point.d.ts +5 -0
  116. package/map-point.js +7 -0
  117. package/offset.d.ts +4 -0
  118. package/offset.js +27 -0
  119. package/package.json +298 -51
  120. package/{ctors/path-builder.d.ts → path-builder.d.ts} +2 -2
  121. package/{ctors/path-builder.js → path-builder.js} +13 -8
  122. package/path-from-svg.d.ts +2 -0
  123. package/{ctors/path-from-svg.js → path-from-svg.js} +5 -5
  124. package/{ctors/path.d.ts → path.d.ts} +3 -3
  125. package/{ctors/path.js → path.js} +8 -7
  126. package/{ctors/plane.d.ts → plane.d.ts} +2 -2
  127. package/{ctors/plane.js → plane.js} +4 -2
  128. package/point-at.d.ts +5 -0
  129. package/point-at.js +29 -0
  130. package/point-inside.d.ts +5 -0
  131. package/{ops/point-inside.js → point-inside.js} +9 -9
  132. package/{ctors/points.d.ts → points.d.ts} +1 -1
  133. package/{ctors/points.js → points.js} +1 -1
  134. package/{ctors/polygon.d.ts → polygon.d.ts} +2 -2
  135. package/polygon.js +11 -0
  136. package/{ctors/polyline.d.ts → polyline.d.ts} +1 -1
  137. package/{ctors/polyline.js → polyline.js} +1 -1
  138. package/{ctors/quad.d.ts → quad.d.ts} +4 -4
  139. package/quad.js +28 -0
  140. package/{ctors/quadratic.d.ts → quadratic.d.ts} +1 -1
  141. package/{ctors/quadratic.js → quadratic.js} +4 -4
  142. package/{ctors/ray.d.ts → ray.d.ts} +2 -2
  143. package/{ctors/ray.js → ray.js} +2 -2
  144. package/{ctors/rect.d.ts → rect.d.ts} +4 -4
  145. package/{ctors/rect.js → rect.js} +13 -6
  146. package/resample.d.ts +4 -0
  147. package/resample.js +18 -0
  148. package/scatter.d.ts +4 -0
  149. package/{ops/scatter.js → scatter.js} +4 -4
  150. package/simplify.d.ts +4 -0
  151. package/{ops/simplify.js → simplify.js} +14 -15
  152. package/{ctors/sphere.d.ts → sphere.d.ts} +2 -2
  153. package/sphere.js +8 -0
  154. package/split-at.d.ts +4 -0
  155. package/split-at.js +28 -0
  156. package/{ops/split-near.d.ts → split-near.d.ts} +2 -1
  157. package/split-near.js +38 -0
  158. package/{ops/subdiv-curve.d.ts → subdiv-curve.d.ts} +1 -1
  159. package/subdiv-curve.js +10 -0
  160. package/tangent-at.d.ts +5 -0
  161. package/tangent-at.js +21 -0
  162. package/{ops/tessellate.d.ts → tessellate.d.ts} +0 -0
  163. package/tessellate.js +7 -0
  164. package/{ctors/text.d.ts → text.d.ts} +1 -1
  165. package/{ctors/text.js → text.js} +1 -1
  166. package/{ops/transform-vertices.d.ts → transform-vertices.d.ts} +3 -1
  167. package/{ops/transform-vertices.js → transform-vertices.js} +22 -22
  168. package/{ops/transform.d.ts → transform.d.ts} +3 -1
  169. package/transform.js +58 -0
  170. package/translate.d.ts +5 -0
  171. package/translate.js +55 -0
  172. package/{ctors/triangle.d.ts → triangle.d.ts} +1 -1
  173. package/triangle.js +7 -0
  174. package/union.d.ts +4 -0
  175. package/union.js +13 -0
  176. package/{ops/unmap-point.d.ts → unmap-point.d.ts} +2 -2
  177. package/{ops/unmap-point.js → unmap-point.js} +8 -7
  178. package/{ops/vertices.d.ts → vertices.d.ts} +4 -3
  179. package/{ops/vertices.js → vertices.js} +26 -17
  180. package/{ops/volume.d.ts → volume.d.ts} +2 -1
  181. package/{ops/volume.js → volume.js} +5 -6
  182. package/{ops/warp-points.d.ts → warp-points.d.ts} +0 -0
  183. package/{ops/warp-points.js → warp-points.js} +2 -2
  184. package/{ops/with-attribs.d.ts → with-attribs.d.ts} +0 -0
  185. package/with-attribs.js +4 -0
  186. package/ctors/cubic.js +0 -10
  187. package/ctors/ellipse.js +0 -5
  188. package/ctors/path-from-svg.d.ts +0 -2
  189. package/ctors/polygon.js +0 -6
  190. package/ctors/quad.js +0 -26
  191. package/ctors/sphere.js +0 -7
  192. package/ctors/triangle.js +0 -7
  193. package/internal/coll-bounds.d.ts +0 -13
  194. package/internal/coll-bounds.js +0 -27
  195. package/internal/copy-attribs.d.ts +0 -3
  196. package/internal/copy-attribs.js +0 -1
  197. package/internal/copy-shape.d.ts +0 -3
  198. package/internal/copy-shape.js +0 -3
  199. package/internal/transform-points.d.ts +0 -16
  200. package/internal/transform-points.js +0 -14
  201. package/internal/translate-points.d.ts +0 -5
  202. package/internal/translate-points.js +0 -4
  203. package/internal/union-bounds.d.ts +0 -13
  204. package/internal/union-bounds.js +0 -17
  205. package/lib/index.js +0 -1938
  206. package/lib/index.js.map +0 -1
  207. package/lib/index.umd.js +0 -1
  208. package/lib/index.umd.js.map +0 -1
  209. package/ops/as-cubic.js +0 -39
  210. package/ops/as-path.js +0 -4
  211. package/ops/as-polygon.js +0 -18
  212. package/ops/as-polyline.js +0 -30
  213. package/ops/as-svg.js +0 -17
  214. package/ops/bounds.d.ts +0 -3
  215. package/ops/bounds.js +0 -39
  216. package/ops/center.d.ts +0 -5
  217. package/ops/center.js +0 -21
  218. package/ops/centroid.d.ts +0 -5
  219. package/ops/centroid.js +0 -29
  220. package/ops/classify-point.d.ts +0 -5
  221. package/ops/classify-point.js +0 -12
  222. package/ops/clip-convex.d.ts +0 -4
  223. package/ops/clip-convex.js +0 -44
  224. package/ops/closest-point.d.ts +0 -5
  225. package/ops/convex-hull.d.ts +0 -3
  226. package/ops/convex-hull.js +0 -18
  227. package/ops/edges.js +0 -30
  228. package/ops/flip.d.ts +0 -3
  229. package/ops/flip.js +0 -38
  230. package/ops/intersects.d.ts +0 -4
  231. package/ops/map-point.d.ts +0 -5
  232. package/ops/map-point.js +0 -8
  233. package/ops/offset.d.ts +0 -3
  234. package/ops/offset.js +0 -22
  235. package/ops/point-at.d.ts +0 -4
  236. package/ops/point-at.js +0 -22
  237. package/ops/point-inside.d.ts +0 -4
  238. package/ops/resample.d.ts +0 -3
  239. package/ops/resample.js +0 -18
  240. package/ops/scatter.d.ts +0 -4
  241. package/ops/simplify.d.ts +0 -3
  242. package/ops/split-at.d.ts +0 -3
  243. package/ops/split-at.js +0 -28
  244. package/ops/split-near.js +0 -38
  245. package/ops/subdiv-curve.js +0 -11
  246. package/ops/tangent-at.d.ts +0 -4
  247. package/ops/tangent-at.js +0 -19
  248. package/ops/tessellate.js +0 -6
  249. package/ops/transform.js +0 -58
  250. package/ops/translate.d.ts +0 -4
  251. package/ops/translate.js +0 -55
  252. package/ops/union.d.ts +0 -3
  253. package/ops/union.js +0 -14
  254. package/ops/with-attribs.js +0 -4
package/CHANGELOG.md CHANGED
@@ -3,7 +3,7 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [2.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.1.27...@thi.ng/geom@2.1.28) (2021-08-22)
6
+ ## [3.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@3.0.2...@thi.ng/geom@3.0.3) (2021-10-15)
7
7
 
8
8
  **Note:** Version bump only for package @thi.ng/geom
9
9
 
@@ -11,263 +11,242 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
11
11
 
12
12
 
13
13
 
14
- # [2.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.0.6...@thi.ng/geom@2.1.0) (2021-02-20)
14
+ ## [3.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@3.0.1...@thi.ng/geom@3.0.2) (2021-10-15)
15
15
 
16
-
17
- ### Bug Fixes
18
-
19
- * **geom:** fix regression/update buffer arg types ([9cf5e5d](https://github.com/thi-ng/umbrella/commit/9cf5e5d43d648eecfdcba861f44acc4d3e9fd17c))
16
+ **Note:** Version bump only for package @thi.ng/geom
20
17
 
21
18
 
22
- ### Features
23
19
 
24
- * **geom:** add tangentAt() support for cubic/quadratic ([4302f58](https://github.com/thi-ng/umbrella/commit/4302f58dd4d490fbb0b97754ae7d54f28a8fa269))
25
20
 
26
21
 
22
+ ## [3.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@3.0.0...@thi.ng/geom@3.0.1) (2021-10-13)
27
23
 
24
+ **Note:** Version bump only for package @thi.ng/geom
28
25
 
29
26
 
30
- # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.13.4...@thi.ng/geom@2.0.0) (2020-12-22)
31
27
 
32
28
 
33
- ### Bug Fixes
34
29
 
35
- * **geom:** fix [#268](https://github.com/thi-ng/umbrella/issues/268) add Group.copyTransformed() ([2da6c63](https://github.com/thi-ng/umbrella/commit/2da6c63b5a2dbc45bc1272eaf592d3d74d8ce74e))
30
+ # [3.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.1.29...@thi.ng/geom@3.0.0) (2021-10-12)
36
31
 
37
32
 
38
- ### Code Refactoring
33
+ ### Build System
39
34
 
40
- * **geom:** fix [#256](https://github.com/thi-ng/umbrella/issues/256) replace enum w/ type alias ([67988ad](https://github.com/thi-ng/umbrella/commit/67988ad31f478b28de85e40d8ab7c51501ef4acb))
41
- * **geom:** fix [#256](https://github.com/thi-ng/umbrella/issues/256) replace Type enum w/ alias ([ef7ba74](https://github.com/thi-ng/umbrella/commit/ef7ba74c189755d760d84c700b0c970a281a3b04))
35
+ * major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea9fab2a645d6c5f2bf2591459b939c09b6))
42
36
 
43
37
 
44
38
  ### BREAKING CHANGES
45
39
 
46
- * **geom:** replace Type enum returned by IShape.type w/ string consts
47
-
48
- - update all shape classes
49
- - update all ops/multimethod dispatches
50
- * **geom:** replace SegmentType w/ type alias
51
-
52
-
53
-
54
-
55
-
56
- ## [1.13.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.13.0...@thi.ng/geom@1.13.1) (2020-11-24)
57
-
58
-
59
- ### Bug Fixes
60
-
61
- * **geom:** add missing translate() impls for Cubic/Quadratic ([fe4c027](https://github.com/thi-ng/umbrella/commit/fe4c027e8a652ccd7bf7513e9348f21560f50b9c))
62
- * **geom:** update whitespace check in pathFromSvg() ([2ce5ec1](https://github.com/thi-ng/umbrella/commit/2ce5ec178bce371f3b8029ea1041f89e10500ead))
63
-
64
-
65
-
66
-
67
-
68
- # [1.13.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.12.0...@thi.ng/geom@1.13.0) (2020-10-03)
69
-
70
-
71
- ### Bug Fixes
40
+ * discontinue CommonJS & UMD versions
72
41
 
73
- * **geom:** arg order pointAt() impl (RAY/RAY3) ([6ec9b46](https://github.com/thi-ng/umbrella/commit/6ec9b462ff4f6aaa0da8634f303ff37c329c8fdf))
42
+ - only ESM modules will be published from now on
43
+ - CJS obsolete due to ESM support in recent versions of node:
44
+ - i.e. launch NodeJS via:
45
+ - `node --experimental-specifier-resolution=node --experimental-repl-await`
46
+ - in the node REPL use `await import(...)` instead of `require()`
47
+ - UMD obsolete due to widespread browser support for ESM
74
48
 
49
+ Also:
50
+ - normalize/restructure/reorg all package.json files
51
+ - cleanup all build scripts, remove obsolete
52
+ - switch from mocha to @thi.ng/testament for all tests
75
53
 
76
- ### Features
77
54
 
78
- * **vectors, geom:** point on ray at distance ([0b04b80](https://github.com/thi-ng/umbrella/commit/0b04b80f1eaa700e262f99d4726651c90d4fed2b))
79
55
 
80
56
 
81
57
 
82
58
 
59
+ # [2.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.0.6...@thi.ng/geom@2.1.0) (2021-02-20)
83
60
 
84
- # [1.12.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.11.8...@thi.ng/geom@1.12.0) (2020-09-22)
61
+ ### Bug Fixes
85
62
 
63
+ - **geom:** fix regression/update buffer arg types ([9cf5e5d](https://github.com/thi-ng/umbrella/commit/9cf5e5d43d648eecfdcba861f44acc4d3e9fd17c))
86
64
 
87
- ### Features
65
+ ### Features
88
66
 
89
- * **geom:** add basic text support ([9d1424d](https://github.com/thi-ng/umbrella/commit/9d1424d1c57e4d2c55fb6cfdd507f3ca7cd85dc3))
67
+ - **geom:** add tangentAt() support for cubic/quadratic ([4302f58](https://github.com/thi-ng/umbrella/commit/4302f58dd4d490fbb0b97754ae7d54f28a8fa269))
90
68
 
69
+ # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.13.4...@thi.ng/geom@2.0.0) (2020-12-22)
91
70
 
71
+ ### Bug Fixes
92
72
 
73
+ - **geom:** fix [#268](https://github.com/thi-ng/umbrella/issues/268) add Group.copyTransformed() ([2da6c63](https://github.com/thi-ng/umbrella/commit/2da6c63b5a2dbc45bc1272eaf592d3d74d8ce74e))
93
74
 
75
+ ### Code Refactoring
94
76
 
95
- ## [1.11.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.11.6...@thi.ng/geom@1.11.7) (2020-08-28)
77
+ - **geom:** fix [#256](https://github.com/thi-ng/umbrella/issues/256) replace enum w/ type alias ([67988ad](https://github.com/thi-ng/umbrella/commit/67988ad31f478b28de85e40d8ab7c51501ef4acb))
78
+ - **geom:** fix [#256](https://github.com/thi-ng/umbrella/issues/256) replace Type enum w/ alias ([ef7ba74](https://github.com/thi-ng/umbrella/commit/ef7ba74c189755d760d84c700b0c970a281a3b04))
96
79
 
80
+ ### BREAKING CHANGES
97
81
 
98
- ### Bug Fixes
82
+ - **geom:** replace Type enum returned by IShape.type w/ string consts
83
+ - update all shape classes
84
+ - update all ops/multimethod dispatches
85
+ - **geom:** replace SegmentType w/ type alias
99
86
 
100
- * **geom:** update asPolyline() for PATH/POLYGON ([243962c](https://github.com/thi-ng/umbrella/commit/243962ce4b2a690eb84e540f9d55d52d355edc39))
87
+ ## [1.13.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.13.0...@thi.ng/geom@1.13.1) (2020-11-24)
101
88
 
89
+ ### Bug Fixes
102
90
 
91
+ - **geom:** add missing translate() impls for Cubic/Quadratic ([fe4c027](https://github.com/thi-ng/umbrella/commit/fe4c027e8a652ccd7bf7513e9348f21560f50b9c))
92
+ - **geom:** update whitespace check in pathFromSvg() ([2ce5ec1](https://github.com/thi-ng/umbrella/commit/2ce5ec178bce371f3b8029ea1041f89e10500ead))
103
93
 
94
+ # [1.13.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.12.0...@thi.ng/geom@1.13.0) (2020-10-03)
104
95
 
96
+ ### Bug Fixes
105
97
 
106
- # [1.11.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.10.7...@thi.ng/geom@1.11.0) (2020-07-17)
98
+ - **geom:** arg order pointAt() impl (RAY/RAY3) ([6ec9b46](https://github.com/thi-ng/umbrella/commit/6ec9b462ff4f6aaa0da8634f303ff37c329c8fdf))
107
99
 
100
+ ### Features
108
101
 
109
- ### Bug Fixes
102
+ - **vectors, geom:** point on ray at distance ([0b04b80](https://github.com/thi-ng/umbrella/commit/0b04b80f1eaa700e262f99d4726651c90d4fed2b))
110
103
 
111
- * **geom:** update svgDoc() attrib inject (add null check) ([6898975](https://github.com/thi-ng/umbrella/commit/6898975f9d1604486add067904ac284d3837dba6))
104
+ # [1.12.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.11.8...@thi.ng/geom@1.12.0) (2020-09-22)
112
105
 
106
+ ### Features
113
107
 
114
- ### Features
108
+ - **geom:** add basic text support ([9d1424d](https://github.com/thi-ng/umbrella/commit/9d1424d1c57e4d2c55fb6cfdd507f3ca7cd85dc3))
115
109
 
116
- * **geom:** add PathBuilderOpts, update Path.toHiccup() ([deb9892](https://github.com/thi-ng/umbrella/commit/deb98927bd08f717abbee4d9a171bd3e3236cb00))
117
- * **geom:** add/update clipVertex() impls ([a87c31c](https://github.com/thi-ng/umbrella/commit/a87c31cbb5be4ddd9c6159362386204f396d1f2e))
110
+ ## [1.11.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.11.6...@thi.ng/geom@1.11.7) (2020-08-28)
118
111
 
112
+ ### Bug Fixes
119
113
 
114
+ - **geom:** update asPolyline() for PATH/POLYGON ([243962c](https://github.com/thi-ng/umbrella/commit/243962ce4b2a690eb84e540f9d55d52d355edc39))
120
115
 
116
+ # [1.11.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.10.7...@thi.ng/geom@1.11.0) (2020-07-17)
121
117
 
118
+ ### Bug Fixes
122
119
 
123
- # [1.10.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.9.8...@thi.ng/geom@1.10.0) (2020-06-20)
120
+ - **geom:** update svgDoc() attrib inject (add null check) ([6898975](https://github.com/thi-ng/umbrella/commit/6898975f9d1604486add067904ac284d3837dba6))
124
121
 
122
+ ### Features
125
123
 
126
- ### Features
124
+ - **geom:** add PathBuilderOpts, update Path.toHiccup() ([deb9892](https://github.com/thi-ng/umbrella/commit/deb98927bd08f717abbee4d9a171bd3e3236cb00))
125
+ - **geom:** add/update clipVertex() impls ([a87c31c](https://github.com/thi-ng/umbrella/commit/a87c31cbb5be4ddd9c6159362386204f396d1f2e))
127
126
 
128
- * **geom:** add offset() & initial impls ([819afd1](https://github.com/thi-ng/umbrella/commit/819afd13896661266653a3b71b96ed0549b406ba))
129
- * **geom:** add rectFromCentroid() ([7837961](https://github.com/thi-ng/umbrella/commit/78379612addef0563d09fccb3ed8bb9addd739fc))
127
+ # [1.10.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.9.8...@thi.ng/geom@1.10.0) (2020-06-20)
130
128
 
129
+ ### Features
131
130
 
131
+ - **geom:** add offset() & initial impls ([819afd1](https://github.com/thi-ng/umbrella/commit/819afd13896661266653a3b71b96ed0549b406ba))
132
+ - **geom:** add rectFromCentroid() ([7837961](https://github.com/thi-ng/umbrella/commit/78379612addef0563d09fccb3ed8bb9addd739fc))
132
133
 
134
+ ## [1.9.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.9.2...@thi.ng/geom@1.9.3) (2020-05-14)
133
135
 
136
+ ### Bug Fixes
134
137
 
135
- ## [1.9.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.9.2...@thi.ng/geom@1.9.3) (2020-05-14)
138
+ - **geom:** Path.copy() deep-clone behavior ([2ade10e](https://github.com/thi-ng/umbrella/commit/2ade10e86e83076fd9499ad7ee863caf7c3b463d))
136
139
 
140
+ # [1.9.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.8.12...@thi.ng/geom@1.9.0) (2020-04-27)
137
141
 
138
- ### Bug Fixes
142
+ ### Features
139
143
 
140
- * **geom:** Path.copy() deep-clone behavior ([2ade10e](https://github.com/thi-ng/umbrella/commit/2ade10e86e83076fd9499ad7ee863caf7c3b463d))
144
+ - **geom:** add transformVertices() op ([ef68a27](https://github.com/thi-ng/umbrella/commit/ef68a2703aab83cf1b520a832a6b1c8268759a3b))
145
+ - **geom:** update asPolyline() impls ([cca8574](https://github.com/thi-ng/umbrella/commit/cca85744377c9957af82695236230bc75a005473))
141
146
 
147
+ # [1.8.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.7.10...@thi.ng/geom@1.8.0) (2020-02-25)
142
148
 
149
+ ### Bug Fixes
143
150
 
151
+ - **geom:** add missing type annotation (asCubic) ([c4f7eae](https://github.com/thi-ng/umbrella/commit/c4f7eae7fe45a7e48e43420afe273a06d56ae936))
144
152
 
153
+ ### Features
145
154
 
146
- # [1.9.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.8.12...@thi.ng/geom@1.9.0) (2020-04-27)
155
+ - **geom:** add cubic polyline impls ([263f2f9](https://github.com/thi-ng/umbrella/commit/263f2f9709045c40defcd79804a6b10dd44cb6b4))
156
+ - **geom:** add edges() impl for AABB ([b800686](https://github.com/thi-ng/umbrella/commit/b800686d42acf105764dddb6591eabc1ea72bcf8))
157
+ - **geom:** add fitIntoBounds3, fix [#202](https://github.com/thi-ng/umbrella/issues/202), [#206](https://github.com/thi-ng/umbrella/issues/206) ([19be3fa](https://github.com/thi-ng/umbrella/commit/19be3fa516147a7612515e80c11dfc9ebcff50b3))
158
+ - **geom:** add intersectionAABB/Rect() ([ecc9706](https://github.com/thi-ng/umbrella/commit/ecc9706c13d2bf7929b63fb8bf023d8ce2477268))
159
+ - **geom:** add Points3 and supporting ops ([7e1adb7](https://github.com/thi-ng/umbrella/commit/7e1adb7b0d4e78dc6988fe3c32e1fd6170914dc8))
147
160
 
161
+ # [1.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.6.1...@thi.ng/geom@1.7.0) (2019-07-12)
148
162
 
149
- ### Features
163
+ ### Bug Fixes
150
164
 
151
- * **geom:** add transformVertices() op ([ef68a27](https://github.com/thi-ng/umbrella/commit/ef68a2703aab83cf1b520a832a6b1c8268759a3b))
152
- * **geom:** update asPolyline() impls ([cca8574](https://github.com/thi-ng/umbrella/commit/cca85744377c9957af82695236230bc75a005473))
165
+ - **geom:** update asCubic() circle impl (only 99.99% closed) ([36cdb4f](https://github.com/thi-ng/umbrella/commit/36cdb4f))
153
166
 
167
+ ### Features
154
168
 
169
+ - **geom:** add asCubic() impls for circle, group, rect ([5ca4166](https://github.com/thi-ng/umbrella/commit/5ca4166))
170
+ - **geom:** add asPath(), update pathFromCubics() to accept opt attribs ([980af9f](https://github.com/thi-ng/umbrella/commit/980af9f))
171
+ - **geom:** add ellipse support for asCubic() ([4247801](https://github.com/thi-ng/umbrella/commit/4247801))
172
+ - **geom:** add polygon impl for asCubic(), add pathFromCubics() ([2faec7f](https://github.com/thi-ng/umbrella/commit/2faec7f))
173
+ - **geom:** add/update transform impls: arc, circle, ellipse, path, rect ([e77e7c2](https://github.com/thi-ng/umbrella/commit/e77e7c2))
155
174
 
175
+ # [1.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.5.0...@thi.ng/geom@1.6.0) (2019-07-07)
156
176
 
177
+ ### Bug Fixes
157
178
 
158
- # [1.8.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.7.10...@thi.ng/geom@1.8.0) (2020-02-25)
179
+ - **geom:** update madd/maddN call sites ([#95](https://github.com/thi-ng/umbrella/issues/95)) ([a96e028](https://github.com/thi-ng/umbrella/commit/a96e028))
159
180
 
181
+ ### Features
160
182
 
161
- ### Bug Fixes
183
+ - **geom:** enable TS strict compiler flags (refactor) ([aa10de0](https://github.com/thi-ng/umbrella/commit/aa10de0))
184
+ - **geom:** TS strictNullChecks, update various classes & ops ([636dea7](https://github.com/thi-ng/umbrella/commit/636dea7))
162
185
 
163
- * **geom:** add missing type annotation (asCubic) ([c4f7eae](https://github.com/thi-ng/umbrella/commit/c4f7eae7fe45a7e48e43420afe273a06d56ae936))
186
+ # [1.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.4.2...@thi.ng/geom@1.5.0) (2019-05-22)
164
187
 
188
+ ### Features
165
189
 
166
- ### Features
190
+ - **geom:** add Plane, Quad3 factories & ops ([2079bfe](https://github.com/thi-ng/umbrella/commit/2079bfe))
167
191
 
168
- * **geom:** add cubic polyline impls ([263f2f9](https://github.com/thi-ng/umbrella/commit/263f2f9709045c40defcd79804a6b10dd44cb6b4))
169
- * **geom:** add edges() impl for AABB ([b800686](https://github.com/thi-ng/umbrella/commit/b800686d42acf105764dddb6591eabc1ea72bcf8))
170
- * **geom:** add fitIntoBounds3, fix [#202](https://github.com/thi-ng/umbrella/issues/202), [#206](https://github.com/thi-ng/umbrella/issues/206) ([19be3fa](https://github.com/thi-ng/umbrella/commit/19be3fa516147a7612515e80c11dfc9ebcff50b3))
171
- * **geom:** add intersectionAABB/Rect() ([ecc9706](https://github.com/thi-ng/umbrella/commit/ecc9706c13d2bf7929b63fb8bf023d8ce2477268))
172
- * **geom:** add Points3 and supporting ops ([7e1adb7](https://github.com/thi-ng/umbrella/commit/7e1adb7b0d4e78dc6988fe3c32e1fd6170914dc8))
192
+ # [1.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.3.0...@thi.ng/geom@1.4.0) (2019-04-15)
173
193
 
194
+ ### Features
174
195
 
196
+ - **geom:** add new shape factories & impls ([1a5ead1](https://github.com/thi-ng/umbrella/commit/1a5ead1))
175
197
 
198
+ # [1.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.2.21...@thi.ng/geom@1.3.0) (2019-04-11)
176
199
 
200
+ ### Features
177
201
 
178
- # [1.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.6.1...@thi.ng/geom@1.7.0) (2019-07-12)
202
+ - **geom:** add AABB impls for vertices() & volume() ([a9ba010](https://github.com/thi-ng/umbrella/commit/a9ba010))
203
+ - **geom:** add inscribedSquare*() fns ([b1790b3](https://github.com/thi-ng/umbrella/commit/b1790b3))
179
204
 
180
- ### Bug Fixes
205
+ # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.1.1...@thi.ng/geom@1.2.0) (2019-02-05)
181
206
 
182
- * **geom:** update asCubic() circle impl (only 99.99% closed) ([36cdb4f](https://github.com/thi-ng/umbrella/commit/36cdb4f))
207
+ ### Features
183
208
 
184
- ### Features
209
+ - **geom:** add ray-rect/aabb impls for intersects() ([5f7dd63](https://github.com/thi-ng/umbrella/commit/5f7dd63))
185
210
 
186
- * **geom:** add asCubic() impls for circle, group, rect ([5ca4166](https://github.com/thi-ng/umbrella/commit/5ca4166))
187
- * **geom:** add asPath(), update pathFromCubics() to accept opt attribs ([980af9f](https://github.com/thi-ng/umbrella/commit/980af9f))
188
- * **geom:** add ellipse support for asCubic() ([4247801](https://github.com/thi-ng/umbrella/commit/4247801))
189
- * **geom:** add polygon impl for asCubic(), add pathFromCubics() ([2faec7f](https://github.com/thi-ng/umbrella/commit/2faec7f))
190
- * **geom:** add/update transform impls: arc, circle, ellipse, path, rect ([e77e7c2](https://github.com/thi-ng/umbrella/commit/e77e7c2))
211
+ # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.0.1...@thi.ng/geom@1.1.0) (2019-01-22)
191
212
 
192
- # [1.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.5.0...@thi.ng/geom@1.6.0) (2019-07-07)
213
+ ### Bug Fixes
193
214
 
194
- ### Bug Fixes
215
+ - **geom:** update Rect.toHiccup() format (separate widht/height vals) ([8c1df49](https://github.com/thi-ng/umbrella/commit/8c1df49))
195
216
 
196
- * **geom:** update madd/maddN call sites ([#95](https://github.com/thi-ng/umbrella/issues/95)) ([a96e028](https://github.com/thi-ng/umbrella/commit/a96e028))
217
+ ### Features
197
218
 
198
- ### Features
219
+ - **geom:** add asPolyline() multi-fn ([c602379](https://github.com/thi-ng/umbrella/commit/c602379))
220
+ - **geom:** add attrib support to PathBuilder ([a017b10](https://github.com/thi-ng/umbrella/commit/a017b10))
199
221
 
200
- * **geom:** enable TS strict compiler flags (refactor) ([aa10de0](https://github.com/thi-ng/umbrella/commit/aa10de0))
201
- * **geom:** TS strictNullChecks, update various classes & ops ([636dea7](https://github.com/thi-ng/umbrella/commit/636dea7))
222
+ # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@0.2.11...@thi.ng/geom@1.0.0) (2019-01-21)
202
223
 
203
- # [1.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.4.2...@thi.ng/geom@1.5.0) (2019-05-22)
224
+ ### Build System
204
225
 
205
- ### Features
206
-
207
- * **geom:** add Plane, Quad3 factories & ops ([2079bfe](https://github.com/thi-ng/umbrella/commit/2079bfe))
208
-
209
- # [1.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.3.0...@thi.ng/geom@1.4.0) (2019-04-15)
210
-
211
- ### Features
212
-
213
- * **geom:** add new shape factories & impls ([1a5ead1](https://github.com/thi-ng/umbrella/commit/1a5ead1))
214
-
215
- # [1.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.2.21...@thi.ng/geom@1.3.0) (2019-04-11)
216
-
217
- ### Features
218
-
219
- * **geom:** add AABB impls for vertices() & volume() ([a9ba010](https://github.com/thi-ng/umbrella/commit/a9ba010))
220
- * **geom:** add inscribedSquare*() fns ([b1790b3](https://github.com/thi-ng/umbrella/commit/b1790b3))
221
-
222
- # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.1.1...@thi.ng/geom@1.2.0) (2019-02-05)
223
-
224
- ### Features
225
-
226
- * **geom:** add ray-rect/aabb impls for intersects() ([5f7dd63](https://github.com/thi-ng/umbrella/commit/5f7dd63))
227
-
228
- # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.0.1...@thi.ng/geom@1.1.0) (2019-01-22)
229
-
230
- ### Bug Fixes
231
-
232
- * **geom:** update Rect.toHiccup() format (separate widht/height vals) ([8c1df49](https://github.com/thi-ng/umbrella/commit/8c1df49))
233
-
234
- ### Features
235
-
236
- * **geom:** add asPolyline() multi-fn ([c602379](https://github.com/thi-ng/umbrella/commit/c602379))
237
- * **geom:** add attrib support to PathBuilder ([a017b10](https://github.com/thi-ng/umbrella/commit/a017b10))
238
-
239
- # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@0.2.11...@thi.ng/geom@1.0.0) (2019-01-21)
240
-
241
- ### Build System
242
-
243
- * update package build scripts & outputs, imports in ~50 packages ([b54b703](https://github.com/thi-ng/umbrella/commit/b54b703))
244
-
245
- ### BREAKING CHANGES
226
+ - update package build scripts & outputs, imports in ~50 packages ([b54b703](https://github.com/thi-ng/umbrella/commit/b54b703))
246
227
 
247
- * enabled multi-outputs (ES6 modules, CJS, UMD)
228
+ ### BREAKING CHANGES
248
229
 
249
- - build scripts now first build ES6 modules in package root, then call
250
- `scripts/bundle-module` to build minified CJS & UMD bundles in `/lib`
251
- - all imports MUST be updated to only refer to package level
252
- (not individual files anymore). tree shaking in user land will get rid of
253
- all unused imported symbols.
230
+ - enabled multi-outputs (ES6 modules, CJS, UMD)
231
+ - build scripts now first build ES6 modules in package root, then call `scripts/bundle-module` to build minified CJS & UMD bundles in `/lib`
232
+ - all imports MUST be updated to only refer to package level (not individual files anymore). tree shaking in user land will get rid of all unused imported symbols.
254
233
 
255
- # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@0.1.0...@thi.ng/geom@0.2.0) (2018-10-21)
234
+ # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@0.1.0...@thi.ng/geom@0.2.0) (2018-10-21)
256
235
 
257
- ### Features
236
+ ### Features
258
237
 
259
- * **geom:** add IToCubic, add/update impls ([ce131d4](https://github.com/thi-ng/umbrella/commit/ce131d4))
238
+ - **geom:** add IToCubic, add/update impls ([ce131d4](https://github.com/thi-ng/umbrella/commit/ce131d4))
260
239
 
261
- # 0.1.0 (2018-10-17)
240
+ # 0.1.0 (2018-10-17)
262
241
 
263
- ### Features
242
+ ### Features
264
243
 
265
- * **geom:** add ICollate & ICopy impls, re-add/update convexHull2 ([3b1bf64](https://github.com/thi-ng/umbrella/commit/3b1bf64))
266
- * **geom:** add/update factory fns, arg handling, tessel, poly area ([555fc51](https://github.com/thi-ng/umbrella/commit/555fc51))
267
- * **geom:** add/update interfaces & impls ([2657df6](https://github.com/thi-ng/umbrella/commit/2657df6))
268
- * **geom:** add/update tessellate() impls ([fa87f1e](https://github.com/thi-ng/umbrella/commit/fa87f1e))
269
- * **geom:** add/update various shape impls & ops ([3a20ef3](https://github.com/thi-ng/umbrella/commit/3a20ef3))
270
- * **geom:** import (updated) old thi.ng/geom package (minus vectors) ([c03259c](https://github.com/thi-ng/umbrella/commit/c03259c))
271
- * **geom:** re-add Arc2, update Circle2, update helper fns ([aa6b120](https://github.com/thi-ng/umbrella/commit/aa6b120))
272
- * **geom:** re-import & refactor partial port of thi.ng/geom (clojure) ([d655ec2](https://github.com/thi-ng/umbrella/commit/d655ec2))
273
- * **geom:** update all shape types, add interfaces & ops, update tests ([9c27c77](https://github.com/thi-ng/umbrella/commit/9c27c77))
244
+ - **geom:** add ICollate & ICopy impls, re-add/update convexHull2 ([3b1bf64](https://github.com/thi-ng/umbrella/commit/3b1bf64))
245
+ - **geom:** add/update factory fns, arg handling, tessel, poly area ([555fc51](https://github.com/thi-ng/umbrella/commit/555fc51))
246
+ - **geom:** add/update interfaces & impls ([2657df6](https://github.com/thi-ng/umbrella/commit/2657df6))
247
+ - **geom:** add/update tessellate() impls ([fa87f1e](https://github.com/thi-ng/umbrella/commit/fa87f1e))
248
+ - **geom:** add/update various shape impls & ops ([3a20ef3](https://github.com/thi-ng/umbrella/commit/3a20ef3))
249
+ - **geom:** import (updated) old thi.ng/geom package (minus vectors) ([c03259c](https://github.com/thi-ng/umbrella/commit/c03259c))
250
+ - **geom:** re-add Arc2, update Circle2, update helper fns ([aa6b120](https://github.com/thi-ng/umbrella/commit/aa6b120))
251
+ - **geom:** re-import & refactor partial port of thi.ng/geom (clojure) ([d655ec2](https://github.com/thi-ng/umbrella/commit/d655ec2))
252
+ - **geom:** update all shape types, add interfaces & ops, update tests ([9c27c77](https://github.com/thi-ng/umbrella/commit/9c27c77))
package/README.md CHANGED
@@ -67,15 +67,24 @@ themselves too):
67
67
  yarn add @thi.ng/geom
68
68
  ```
69
69
 
70
+ ES module import:
71
+
70
72
  ```html
71
- // ES module
72
- <script type="module" src="https://unpkg.com/@thi.ng/geom?module" crossorigin></script>
73
+ <script type="module" src="https://cdn.skypack.dev/@thi.ng/geom"></script>
74
+ ```
75
+
76
+ [Skypack documentation](https://docs.skypack.dev/)
77
+
78
+ For Node.js REPL:
79
+
80
+ ```text
81
+ # with flag only for < v16
82
+ node --experimental-repl-await
73
83
 
74
- // UMD
75
- <script src="https://unpkg.com/@thi.ng/geom/lib/index.umd.js" crossorigin></script>
84
+ > const geom = await import("@thi.ng/geom");
76
85
  ```
77
86
 
78
- Package sizes (gzipped, pre-treeshake): ESM: 10.29 KB / CJS: 10.52 KB / UMD: 9.95 KB
87
+ Package sizes (gzipped, pre-treeshake): ESM: 10.44 KB
79
88
 
80
89
  ## Dependencies
81
90
 
@@ -115,7 +124,7 @@ directory are using this package.
115
124
  A selection:
116
125
 
117
126
  | Screenshot | Description | Live demo | Source |
118
- | ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ----------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
127
+ |:-----------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------|:------------------------------------------------------------|:-----------------------------------------------------------------------------------------|
119
128
  | <img src="https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/geom-convex-hull.png" width="240"/> | Convex hull & shape clipping of 2D polygons | [Demo](https://demo.thi.ng/umbrella/geom-convex-hull/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-convex-hull) |
120
129
  | <img src="https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/geom/geom-fuzz.png" width="240"/> | geom-fuzz basic shape & fill examples | [Demo](https://demo.thi.ng/umbrella/geom-fuzz-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-fuzz-basics) |
121
130
  | <img src="https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/geom/tessel.png" width="240"/> | Animated, recursive polygon tessellations | [Demo](https://demo.thi.ng/umbrella/geom-tessel/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-tessel) |
@@ -125,10 +134,12 @@ A selection:
125
134
  | <img src="https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hiccup-canvas-arcs.png" width="240"/> | Animated arcs & drawing using hiccup-canvas | [Demo](https://demo.thi.ng/umbrella/hiccup-canvas-arcs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hiccup-canvas-arcs) |
126
135
  | <img src="https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/imgui/imgui-all.png" width="240"/> | Canvas based Immediate Mode GUI components | [Demo](https://demo.thi.ng/umbrella/imgui/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/imgui) |
127
136
  | <img src="https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/geom/geom-isoline.png" width="240"/> | Animated sine plasma effect visualized using contour lines | [Demo](https://demo.thi.ng/umbrella/iso-plasma/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/iso-plasma) |
137
+ | <img src="https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/poisson/poisson.jpg" width="240"/> | 2D Poisson-disc sampler with procedural gradient map | [Demo](https://demo.thi.ng/umbrella/poisson-circles/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poisson-circles) |
128
138
  | <img src="https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/poly-spline.png" width="240"/> | Polygon to cubic curve conversion & visualization | [Demo](https://demo.thi.ng/umbrella/poly-spline/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-spline) |
129
139
  | <img src="https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rotating-voronoi.jpg" width="240"/> | Animated Voronoi diagram, cubic splines & SVG download | [Demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) |
130
140
  | <img src="https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/scenegraph.png" width="240"/> | 2D scenegraph & shape picking | [Demo](https://demo.thi.ng/umbrella/scenegraph/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph) |
131
141
  | <img src="https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/scenegraph-image.png" width="240"/> | 2D scenegraph & image map based geometry manipulation | [Demo](https://demo.thi.ng/umbrella/scenegraph-image/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph-image) |
142
+ | <img src="https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/spline-tangent.png" width="240"/> | Compute cubic spline position & tangent using Dual Numbers | [Demo](https://demo.thi.ng/umbrella/spline-tangent/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/spline-tangent) |
132
143
  | <img src="https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/text-canvas.png" width="240"/> | 3D wireframe textmode demo | [Demo](https://demo.thi.ng/umbrella/text-canvas/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/text-canvas) |
133
144
 
134
145
  ## API
@@ -1,7 +1,7 @@
1
1
  import type { Attribs } from "@thi.ng/geom-api";
2
- import { ReadonlyVec, Vec } from "@thi.ng/vectors";
3
- import { AABB } from "../api/aabb";
4
- import type { Sphere } from "../api/sphere";
2
+ import { ReadonlyVec, Vec } from "@thi.ng/vectors/api";
3
+ import { AABB } from "./api/aabb.js";
4
+ import type { Sphere } from "./api/sphere.js";
5
5
  export declare function aabb(pos: Vec, size: number | Vec, attribs?: Attribs): AABB;
6
6
  export declare function aabb(size: number | Vec, attribs?: Attribs): AABB;
7
7
  export declare function aabb(attribs?: Attribs): AABB;
@@ -1,9 +1,14 @@
1
- import { SQRT2_2 } from "@thi.ng/math";
2
- import { add3, max3, min3, sub3, subN3, ZERO3, } from "@thi.ng/vectors";
3
- import { AABB } from "../api/aabb";
4
- import { argsVV } from "../internal/args";
1
+ import { SQRT2_2 } from "@thi.ng/math/api";
2
+ import { add3 } from "@thi.ng/vectors/add";
3
+ import { ZERO3 } from "@thi.ng/vectors/api";
4
+ import { max3 } from "@thi.ng/vectors/max";
5
+ import { min3 } from "@thi.ng/vectors/min";
6
+ import { sub3 } from "@thi.ng/vectors/sub";
7
+ import { subN3 } from "@thi.ng/vectors/subn";
8
+ import { AABB } from "./api/aabb.js";
9
+ import { __argsVV } from "./internal/args.js";
5
10
  export function aabb(...args) {
6
- return new AABB(...argsVV(args));
11
+ return new AABB(...__argsVV(args));
7
12
  }
8
13
  export const aabbFromMinMax = (min, max, attribs) => new AABB(min, sub3([], max, min), attribs);
9
14
  /**
package/api/aabb.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { AABBLike, Attribs } from "@thi.ng/geom-api";
2
- import { Vec } from "@thi.ng/vectors";
2
+ import type { Vec } from "@thi.ng/vectors";
3
3
  export declare class AABB implements AABBLike {
4
4
  pos: Vec;
5
5
  attribs?: Attribs | undefined;
package/api/aabb.js CHANGED
@@ -1,6 +1,7 @@
1
- import { isNumber } from "@thi.ng/checks";
2
- import { add3, set } from "@thi.ng/vectors";
3
- import { copyAttribs } from "../internal/copy-attribs";
1
+ import { isNumber } from "@thi.ng/checks/is-number";
2
+ import { add3 } from "@thi.ng/vectors/add";
3
+ import { set } from "@thi.ng/vectors/set";
4
+ import { __copyAttribs } from "../internal/copy.js";
4
5
  export class AABB {
5
6
  constructor(pos = [0, 0, 0], size = 1, attribs) {
6
7
  this.pos = pos;
@@ -11,7 +12,7 @@ export class AABB {
11
12
  return "aabb";
12
13
  }
13
14
  copy() {
14
- return new AABB(set([], this.pos), set([], this.size), copyAttribs(this));
15
+ return new AABB(set([], this.pos), set([], this.size), __copyAttribs(this));
15
16
  }
16
17
  max() {
17
18
  return add3([], this.pos, this.size);
package/api/arc.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Attribs, IHiccupPathSegment, IHiccupShape } from "@thi.ng/geom-api";
2
- import { Vec } from "@thi.ng/vectors";
2
+ import type { Vec } from "@thi.ng/vectors";
3
3
  export declare class Arc implements IHiccupShape, IHiccupPathSegment {
4
4
  pos: Vec;
5
5
  r: Vec;
package/api/arc.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { equiv } from "@thi.ng/equiv";
2
- import { pointAt as arcPointAt, pointAtTheta as arcPointAtTheta, } from "@thi.ng/geom-arc";
3
- import { set } from "@thi.ng/vectors";
4
- import { copyAttribs } from "../internal/copy-attribs";
2
+ import { pointAt as arcPointAt, pointAtTheta as arcPointAtTheta, } from "@thi.ng/geom-arc/point-at";
3
+ import { set } from "@thi.ng/vectors/set";
4
+ import { __copyAttribs } from "../internal/copy.js";
5
5
  export class Arc {
6
6
  constructor(pos, r, axis, start, end, xl = false, cw = false, attribs) {
7
7
  this.pos = pos;
@@ -17,7 +17,7 @@ export class Arc {
17
17
  return "arc";
18
18
  }
19
19
  copy() {
20
- return new Arc(set([], this.pos), set([], this.r), this.axis, this.start, this.end, this.xl, this.cw, copyAttribs(this));
20
+ return new Arc(set([], this.pos), set([], this.r), this.axis, this.start, this.end, this.xl, this.cw, __copyAttribs(this));
21
21
  }
22
22
  equiv(o) {
23
23
  return (o instanceof Arc &&
package/api/circle.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Attribs, IHiccupShape } from "@thi.ng/geom-api";
2
- import { Vec } from "@thi.ng/vectors";
2
+ import type { Vec } from "@thi.ng/vectors";
3
3
  export declare class Circle implements IHiccupShape {
4
4
  pos: Vec;
5
5
  r: number;
package/api/circle.js CHANGED
@@ -1,5 +1,5 @@
1
- import { set } from "@thi.ng/vectors";
2
- import { copyAttribs } from "../internal/copy-attribs";
1
+ import { set } from "@thi.ng/vectors/set";
2
+ import { __copyAttribs } from "../internal/copy.js";
3
3
  export class Circle {
4
4
  constructor(pos = [0, 0], r = 1, attribs) {
5
5
  this.pos = pos;
@@ -10,7 +10,7 @@ export class Circle {
10
10
  return "circle";
11
11
  }
12
12
  copy() {
13
- return new Circle(set([], this.pos), this.r, copyAttribs(this));
13
+ return new Circle(set([], this.pos), this.r, __copyAttribs(this));
14
14
  }
15
15
  toHiccup() {
16
16
  return ["circle", this.attribs, this.pos, this.r];
package/api/cubic.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { IHiccupPathSegment } from "@thi.ng/geom-api";
2
- import { APC } from "./apc";
2
+ import { APC } from "./apc.js";
3
3
  export declare class Cubic extends APC implements IHiccupPathSegment {
4
4
  get type(): string;
5
5
  copy(): Cubic;
package/api/cubic.js CHANGED
@@ -1,11 +1,11 @@
1
- import { copyShape } from "../internal/copy-shape";
2
- import { APC } from "./apc";
1
+ import { __copyShape } from "../internal/copy.js";
2
+ import { APC } from "./apc.js";
3
3
  export class Cubic extends APC {
4
4
  get type() {
5
5
  return "cubic";
6
6
  }
7
7
  copy() {
8
- return copyShape(Cubic, this);
8
+ return __copyShape(Cubic, this);
9
9
  }
10
10
  toHiccup() {
11
11
  return [
package/api/ellipse.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Attribs, IHiccupShape } from "@thi.ng/geom-api";
2
- import { Vec } from "@thi.ng/vectors";
2
+ import type { Vec } from "@thi.ng/vectors";
3
3
  export declare class Ellipse implements IHiccupShape {
4
4
  pos: Vec;
5
5
  attribs?: Attribs | undefined;