@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.
- package/CHANGELOG.md +131 -152
- package/README.md +17 -6
- package/{ctors/aabb.d.ts → aabb.d.ts} +3 -3
- package/{ctors/aabb.js → aabb.js} +10 -5
- package/api/aabb.d.ts +1 -1
- package/api/aabb.js +5 -4
- package/api/arc.d.ts +1 -1
- package/api/arc.js +4 -4
- package/api/circle.d.ts +1 -1
- package/api/circle.js +3 -3
- package/api/cubic.d.ts +1 -1
- package/api/cubic.js +3 -3
- package/api/ellipse.d.ts +1 -1
- package/api/ellipse.js +4 -4
- package/api/group.js +2 -2
- package/api/line.d.ts +1 -1
- package/api/line.js +3 -3
- package/api/path.js +4 -4
- package/api/plane.d.ts +1 -1
- package/api/plane.js +3 -3
- package/api/points.d.ts +1 -1
- package/api/points.js +4 -4
- package/api/polygon.d.ts +1 -1
- package/api/polygon.js +3 -3
- package/api/polyline.d.ts +1 -1
- package/api/polyline.js +4 -4
- package/api/quad.d.ts +1 -1
- package/api/quad.js +3 -3
- package/api/quad3.d.ts +1 -1
- package/api/quad3.js +3 -3
- package/api/quadratic.d.ts +1 -1
- package/api/quadratic.js +3 -3
- package/api/ray.d.ts +1 -1
- package/api/ray.js +4 -3
- package/api/rect.d.ts +1 -1
- package/api/rect.js +5 -4
- package/api/sphere.d.ts +1 -1
- package/api/sphere.js +3 -3
- package/api/text.d.ts +1 -1
- package/api/text.js +3 -3
- package/api/triangle.d.ts +1 -1
- package/api/triangle.js +3 -3
- package/{ops/arc-length.d.ts → arc-length.d.ts} +2 -1
- package/{ops/arc-length.js → arc-length.js} +9 -9
- package/{ctors/arc.d.ts → arc.d.ts} +1 -1
- package/{ctors/arc.js → arc.js} +3 -3
- package/{ops/area.d.ts → area.d.ts} +1 -1
- package/{ops/area.js → area.js} +7 -9
- package/{ops/as-cubic.d.ts → as-cubic.d.ts} +2 -2
- package/as-cubic.js +40 -0
- package/{ops/as-path.d.ts → as-path.d.ts} +1 -1
- package/as-path.js +4 -0
- package/{ops/as-polygon.d.ts → as-polygon.d.ts} +2 -2
- package/as-polygon.js +18 -0
- package/{ops/as-polyline.d.ts → as-polyline.d.ts} +2 -2
- package/as-polyline.js +30 -0
- package/{ops/as-svg.d.ts → as-svg.d.ts} +0 -0
- package/as-svg.js +24 -0
- package/bounds.d.ts +4 -0
- package/bounds.js +50 -0
- package/center.d.ts +5 -0
- package/center.js +22 -0
- package/centroid.d.ts +5 -0
- package/centroid.js +35 -0
- package/{ctors/circle.d.ts → circle.d.ts} +2 -2
- package/{ctors/circle.js → circle.js} +6 -5
- package/classify-point.d.ts +5 -0
- package/classify-point.js +11 -0
- package/clip-convex.d.ts +5 -0
- package/clip-convex.js +44 -0
- package/closest-point.d.ts +5 -0
- package/{ops/closest-point.js → closest-point.js} +16 -11
- package/convex-hull.d.ts +4 -0
- package/convex-hull.js +18 -0
- package/{ctors/cubic.d.ts → cubic.d.ts} +2 -2
- package/cubic.js +12 -0
- package/{ops/edges.d.ts → edges.d.ts} +1 -1
- package/edges.js +30 -0
- package/{ctors/ellipse.d.ts → ellipse.d.ts} +1 -1
- package/ellipse.js +5 -0
- package/{ops/fit-into-bounds.d.ts → fit-into-bounds.d.ts} +2 -2
- package/{ops/fit-into-bounds.js → fit-into-bounds.js} +15 -12
- package/flip.d.ts +4 -0
- package/flip.js +38 -0
- package/{ctors/group.d.ts → group.d.ts} +1 -1
- package/{ctors/group.js → group.js} +1 -1
- package/index.d.ts +80 -90
- package/index.js +80 -90
- package/internal/args.d.ts +3 -3
- package/internal/args.js +8 -7
- package/internal/bounds.d.ts +25 -0
- package/internal/bounds.js +45 -0
- package/internal/collate.d.ts +2 -2
- package/internal/collate.js +9 -4
- package/internal/copy.d.ts +4 -0
- package/internal/copy.js +3 -0
- package/internal/dispatch.d.ts +2 -2
- package/internal/dispatch.js +2 -2
- package/internal/edges.d.ts +1 -1
- package/internal/edges.js +3 -2
- package/internal/pclike.d.ts +1 -1
- package/internal/pclike.js +3 -3
- package/internal/points-as-shape.d.ts +2 -2
- package/internal/points-as-shape.js +4 -4
- package/internal/split.d.ts +2 -2
- package/internal/split.js +3 -2
- package/internal/transform.d.ts +16 -0
- package/internal/transform.js +14 -0
- package/internal/translate.d.ts +5 -0
- package/internal/translate.js +4 -0
- package/intersects.d.ts +4 -0
- package/{ops/intersects.js → intersects.js} +18 -10
- package/{ctors/line.d.ts → line.d.ts} +2 -2
- package/{ctors/line.js → line.js} +6 -6
- package/map-point.d.ts +5 -0
- package/map-point.js +7 -0
- package/offset.d.ts +4 -0
- package/offset.js +27 -0
- package/package.json +298 -51
- package/{ctors/path-builder.d.ts → path-builder.d.ts} +2 -2
- package/{ctors/path-builder.js → path-builder.js} +13 -8
- package/path-from-svg.d.ts +2 -0
- package/{ctors/path-from-svg.js → path-from-svg.js} +5 -5
- package/{ctors/path.d.ts → path.d.ts} +3 -3
- package/{ctors/path.js → path.js} +8 -7
- package/{ctors/plane.d.ts → plane.d.ts} +2 -2
- package/{ctors/plane.js → plane.js} +4 -2
- package/point-at.d.ts +5 -0
- package/point-at.js +29 -0
- package/point-inside.d.ts +5 -0
- package/{ops/point-inside.js → point-inside.js} +9 -9
- package/{ctors/points.d.ts → points.d.ts} +1 -1
- package/{ctors/points.js → points.js} +1 -1
- package/{ctors/polygon.d.ts → polygon.d.ts} +2 -2
- package/polygon.js +11 -0
- package/{ctors/polyline.d.ts → polyline.d.ts} +1 -1
- package/{ctors/polyline.js → polyline.js} +1 -1
- package/{ctors/quad.d.ts → quad.d.ts} +4 -4
- package/quad.js +28 -0
- package/{ctors/quadratic.d.ts → quadratic.d.ts} +1 -1
- package/{ctors/quadratic.js → quadratic.js} +4 -4
- package/{ctors/ray.d.ts → ray.d.ts} +2 -2
- package/{ctors/ray.js → ray.js} +2 -2
- package/{ctors/rect.d.ts → rect.d.ts} +4 -4
- package/{ctors/rect.js → rect.js} +13 -6
- package/resample.d.ts +4 -0
- package/resample.js +18 -0
- package/scatter.d.ts +4 -0
- package/{ops/scatter.js → scatter.js} +4 -4
- package/simplify.d.ts +4 -0
- package/{ops/simplify.js → simplify.js} +14 -15
- package/{ctors/sphere.d.ts → sphere.d.ts} +2 -2
- package/sphere.js +8 -0
- package/split-at.d.ts +4 -0
- package/split-at.js +28 -0
- package/{ops/split-near.d.ts → split-near.d.ts} +2 -1
- package/split-near.js +38 -0
- package/{ops/subdiv-curve.d.ts → subdiv-curve.d.ts} +1 -1
- package/subdiv-curve.js +10 -0
- package/tangent-at.d.ts +5 -0
- package/tangent-at.js +21 -0
- package/{ops/tessellate.d.ts → tessellate.d.ts} +0 -0
- package/tessellate.js +7 -0
- package/{ctors/text.d.ts → text.d.ts} +1 -1
- package/{ctors/text.js → text.js} +1 -1
- package/{ops/transform-vertices.d.ts → transform-vertices.d.ts} +3 -1
- package/{ops/transform-vertices.js → transform-vertices.js} +22 -22
- package/{ops/transform.d.ts → transform.d.ts} +3 -1
- package/transform.js +58 -0
- package/translate.d.ts +5 -0
- package/translate.js +55 -0
- package/{ctors/triangle.d.ts → triangle.d.ts} +1 -1
- package/triangle.js +7 -0
- package/union.d.ts +4 -0
- package/union.js +13 -0
- package/{ops/unmap-point.d.ts → unmap-point.d.ts} +2 -2
- package/{ops/unmap-point.js → unmap-point.js} +8 -7
- package/{ops/vertices.d.ts → vertices.d.ts} +4 -3
- package/{ops/vertices.js → vertices.js} +26 -17
- package/{ops/volume.d.ts → volume.d.ts} +2 -1
- package/{ops/volume.js → volume.js} +5 -6
- package/{ops/warp-points.d.ts → warp-points.d.ts} +0 -0
- package/{ops/warp-points.js → warp-points.js} +2 -2
- package/{ops/with-attribs.d.ts → with-attribs.d.ts} +0 -0
- package/with-attribs.js +4 -0
- package/ctors/cubic.js +0 -10
- package/ctors/ellipse.js +0 -5
- package/ctors/path-from-svg.d.ts +0 -2
- package/ctors/polygon.js +0 -6
- package/ctors/quad.js +0 -26
- package/ctors/sphere.js +0 -7
- package/ctors/triangle.js +0 -7
- package/internal/coll-bounds.d.ts +0 -13
- package/internal/coll-bounds.js +0 -27
- package/internal/copy-attribs.d.ts +0 -3
- package/internal/copy-attribs.js +0 -1
- package/internal/copy-shape.d.ts +0 -3
- package/internal/copy-shape.js +0 -3
- package/internal/transform-points.d.ts +0 -16
- package/internal/transform-points.js +0 -14
- package/internal/translate-points.d.ts +0 -5
- package/internal/translate-points.js +0 -4
- package/internal/union-bounds.d.ts +0 -13
- package/internal/union-bounds.js +0 -17
- package/lib/index.js +0 -1938
- package/lib/index.js.map +0 -1
- package/lib/index.umd.js +0 -1
- package/lib/index.umd.js.map +0 -1
- package/ops/as-cubic.js +0 -39
- package/ops/as-path.js +0 -4
- package/ops/as-polygon.js +0 -18
- package/ops/as-polyline.js +0 -30
- package/ops/as-svg.js +0 -17
- package/ops/bounds.d.ts +0 -3
- package/ops/bounds.js +0 -39
- package/ops/center.d.ts +0 -5
- package/ops/center.js +0 -21
- package/ops/centroid.d.ts +0 -5
- package/ops/centroid.js +0 -29
- package/ops/classify-point.d.ts +0 -5
- package/ops/classify-point.js +0 -12
- package/ops/clip-convex.d.ts +0 -4
- package/ops/clip-convex.js +0 -44
- package/ops/closest-point.d.ts +0 -5
- package/ops/convex-hull.d.ts +0 -3
- package/ops/convex-hull.js +0 -18
- package/ops/edges.js +0 -30
- package/ops/flip.d.ts +0 -3
- package/ops/flip.js +0 -38
- package/ops/intersects.d.ts +0 -4
- package/ops/map-point.d.ts +0 -5
- package/ops/map-point.js +0 -8
- package/ops/offset.d.ts +0 -3
- package/ops/offset.js +0 -22
- package/ops/point-at.d.ts +0 -4
- package/ops/point-at.js +0 -22
- package/ops/point-inside.d.ts +0 -4
- package/ops/resample.d.ts +0 -3
- package/ops/resample.js +0 -18
- package/ops/scatter.d.ts +0 -4
- package/ops/simplify.d.ts +0 -3
- package/ops/split-at.d.ts +0 -3
- package/ops/split-at.js +0 -28
- package/ops/split-near.js +0 -38
- package/ops/subdiv-curve.js +0 -11
- package/ops/tangent-at.d.ts +0 -4
- package/ops/tangent-at.js +0 -19
- package/ops/tessellate.js +0 -6
- package/ops/transform.js +0 -58
- package/ops/translate.d.ts +0 -4
- package/ops/translate.js +0 -55
- package/ops/union.d.ts +0 -3
- package/ops/union.js +0 -14
- 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
|
-
## [
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
###
|
|
33
|
+
### Build System
|
|
39
34
|
|
|
40
|
-
*
|
|
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
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
###
|
|
65
|
+
### Features
|
|
88
66
|
|
|
89
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
98
|
+
- **geom:** arg order pointAt() impl (RAY/RAY3) ([6ec9b46](https://github.com/thi-ng/umbrella/commit/6ec9b462ff4f6aaa0da8634f303ff37c329c8fdf))
|
|
107
99
|
|
|
100
|
+
### Features
|
|
108
101
|
|
|
109
|
-
|
|
102
|
+
- **vectors, geom:** point on ray at distance ([0b04b80](https://github.com/thi-ng/umbrella/commit/0b04b80f1eaa700e262f99d4726651c90d4fed2b))
|
|
110
103
|
|
|
111
|
-
|
|
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
|
-
|
|
108
|
+
- **geom:** add basic text support ([9d1424d](https://github.com/thi-ng/umbrella/commit/9d1424d1c57e4d2c55fb6cfdd507f3ca7cd85dc3))
|
|
115
109
|
|
|
116
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
###
|
|
142
|
+
### Features
|
|
139
143
|
|
|
140
|
-
|
|
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
|
-
|
|
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
|
-
###
|
|
163
|
+
### Bug Fixes
|
|
150
164
|
|
|
151
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
190
|
+
- **geom:** add Plane, Quad3 factories & ops ([2079bfe](https://github.com/thi-ng/umbrella/commit/2079bfe))
|
|
167
191
|
|
|
168
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
207
|
+
### Features
|
|
183
208
|
|
|
184
|
-
|
|
209
|
+
- **geom:** add ray-rect/aabb impls for intersects() ([5f7dd63](https://github.com/thi-ng/umbrella/commit/5f7dd63))
|
|
185
210
|
|
|
186
|
-
|
|
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
|
-
|
|
213
|
+
### Bug Fixes
|
|
193
214
|
|
|
194
|
-
|
|
215
|
+
- **geom:** update Rect.toHiccup() format (separate widht/height vals) ([8c1df49](https://github.com/thi-ng/umbrella/commit/8c1df49))
|
|
195
216
|
|
|
196
|
-
|
|
217
|
+
### Features
|
|
197
218
|
|
|
198
|
-
|
|
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
|
-
|
|
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
|
-
|
|
224
|
+
### Build System
|
|
204
225
|
|
|
205
|
-
|
|
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
|
-
|
|
228
|
+
### BREAKING CHANGES
|
|
248
229
|
|
|
249
|
-
-
|
|
250
|
-
|
|
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
|
-
#
|
|
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
|
-
###
|
|
236
|
+
### Features
|
|
258
237
|
|
|
259
|
-
|
|
238
|
+
- **geom:** add IToCubic, add/update impls ([ce131d4](https://github.com/thi-ng/umbrella/commit/ce131d4))
|
|
260
239
|
|
|
261
|
-
#
|
|
240
|
+
# 0.1.0 (2018-10-17)
|
|
262
241
|
|
|
263
|
-
###
|
|
242
|
+
### Features
|
|
264
243
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
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
|
-
|
|
72
|
-
|
|
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
|
-
|
|
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.
|
|
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 "
|
|
4
|
-
import type { Sphere } from "
|
|
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
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
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(...
|
|
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
package/api/aabb.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { isNumber } from "@thi.ng/checks";
|
|
2
|
-
import { add3
|
|
3
|
-
import {
|
|
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),
|
|
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
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 {
|
|
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,
|
|
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
package/api/circle.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { set } from "@thi.ng/vectors";
|
|
2
|
-
import {
|
|
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,
|
|
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
package/api/cubic.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
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
|
|
8
|
+
return __copyShape(Cubic, this);
|
|
9
9
|
}
|
|
10
10
|
toHiccup() {
|
|
11
11
|
return [
|
package/api/ellipse.d.ts
CHANGED