@thi.ng/geom 8.2.13 → 8.3.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/README.md +1 -1
- package/offset.d.ts +9 -2
- package/offset.js +12 -1
- package/package.json +536 -536
- package/CHANGELOG.md +0 -572
package/CHANGELOG.md
DELETED
|
@@ -1,572 +0,0 @@
|
|
|
1
|
-
# Change Log
|
|
2
|
-
|
|
3
|
-
- **Last updated**: 2025-09-25T11:10:32Z
|
|
4
|
-
- **Generator**: [thi.ng/monopub](https://thi.ng/monopub)
|
|
5
|
-
|
|
6
|
-
All notable changes to this project will be documented in this file.
|
|
7
|
-
Only versions published since **2022-01-01** are listed here.
|
|
8
|
-
Please consult the Git history for older version information.
|
|
9
|
-
See [Conventional Commits](https://conventionalcommits.org/) for commit guidelines.
|
|
10
|
-
|
|
11
|
-
**Note:** Unlisted _patch_ versions only involve non-code or otherwise excluded changes
|
|
12
|
-
and/or version bumps of transitive dependencies.
|
|
13
|
-
|
|
14
|
-
## [8.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@8.2.0) (2025-07-20)
|
|
15
|
-
|
|
16
|
-
#### 🚀 Features
|
|
17
|
-
|
|
18
|
-
- update SVGDocAttribs, update docs ([7e4a252](https://github.com/thi-ng/umbrella/commit/7e4a252))
|
|
19
|
-
|
|
20
|
-
### [8.1.39](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@8.1.39) (2025-04-16)
|
|
21
|
-
|
|
22
|
-
#### 🩹 Bug fixes
|
|
23
|
-
|
|
24
|
-
- update `asCubic()` for some 3D shapes ([5abc2aa](https://github.com/thi-ng/umbrella/commit/5abc2aa))
|
|
25
|
-
- update `polygon3`, `polyline3`, `quad3`, `tri3` impls to exclude "break" & "hobby" conversion modes
|
|
26
|
-
(these modes are currently not supported in 3D)
|
|
27
|
-
- add/update docs
|
|
28
|
-
- update sphere/sphere `intersects()` impl ([43f4059](https://github.com/thi-ng/umbrella/commit/43f4059))
|
|
29
|
-
|
|
30
|
-
#### ♻️ Refactoring
|
|
31
|
-
|
|
32
|
-
- minor internal optimizations (vector ops) ([c51b0de](https://github.com/thi-ng/umbrella/commit/c51b0de))
|
|
33
|
-
|
|
34
|
-
### [8.1.22](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@8.1.22) (2025-01-14)
|
|
35
|
-
|
|
36
|
-
#### ♻️ Refactoring
|
|
37
|
-
|
|
38
|
-
- use optional chaining & nullish coalescing ([c5a0a13](https://github.com/thi-ng/umbrella/commit/c5a0a13))
|
|
39
|
-
|
|
40
|
-
### [8.1.11](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@8.1.11) (2024-10-05)
|
|
41
|
-
|
|
42
|
-
#### ♻️ Refactoring
|
|
43
|
-
|
|
44
|
-
- add explicit type casts (TS5.6.2) ([dcbdd60](https://github.com/thi-ng/umbrella/commit/dcbdd60))
|
|
45
|
-
|
|
46
|
-
## [8.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@8.1.0) (2024-08-10)
|
|
47
|
-
|
|
48
|
-
#### 🚀 Features
|
|
49
|
-
|
|
50
|
-
- add circle inversion functions ([bb3a322](https://github.com/thi-ng/umbrella/commit/bb3a322))
|
|
51
|
-
- add invertCircle(), invertCirclePoint()
|
|
52
|
-
|
|
53
|
-
### [8.0.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@8.0.1) (2024-06-29)
|
|
54
|
-
|
|
55
|
-
#### 🩹 Bug fixes
|
|
56
|
-
|
|
57
|
-
- add missing pkg exports ([7ec144f](https://github.com/thi-ng/umbrella/commit/7ec144f))
|
|
58
|
-
|
|
59
|
-
# [8.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@8.0.0) (2024-06-21)
|
|
60
|
-
|
|
61
|
-
#### 🛑 Breaking changes
|
|
62
|
-
|
|
63
|
-
- add/update asCubic()/asPath() impls/types/signatures ([9b4df2e](https://github.com/thi-ng/umbrella/commit/9b4df2e))
|
|
64
|
-
- BREAKING CHANGE: update asCubic/asPath() to use new CubicOpts
|
|
65
|
-
- add support for more shape types, incl. 3D
|
|
66
|
-
- update svgDoc(), add SVGDocAttribs ([a26628b](https://github.com/thi-ng/umbrella/commit/a26628b))
|
|
67
|
-
- BREAKING CHANGE: rename `__bleed` attrib => `__margin`
|
|
68
|
-
- set default SVG precision to 3 (fractional digits)
|
|
69
|
-
- update clipConvex(), add support for more shape types ([5d594c6](https://github.com/thi-ng/umbrella/commit/5d594c6))
|
|
70
|
-
- BREAKING CHANGE: update clipConvex() to return array of result shapes (rather than single)
|
|
71
|
-
- add support for polyline & open paths
|
|
72
|
-
- update/extend tessellate() to use new setup/behavior ([c4dadfd](https://github.com/thi-ng/umbrella/commit/c4dadfd))
|
|
73
|
-
- BREAKING CHANGE: update/extend tessellate() to use new setup/behavior
|
|
74
|
-
- update signature to return `Tessellation`
|
|
75
|
-
- add/update impls for complex polygons & groups
|
|
76
|
-
- add `groupFromTessellation()` to process tessellation results
|
|
77
|
-
- add `TESSELLATE_EARCUT_COMPLEX` preset
|
|
78
|
-
- remove `TESSELLATE_EDGE_SPLIT_THRESHOLD` & `TESSELLATE_TRI_FAN_SPLIT_THRESHOLD` (see [97f1f66200](https://github.com/thi-ng/umbrella/commit/97f1f66200))
|
|
79
|
-
- migrate types from [@thi.ng/geom-api](https://github.com/thi-ng/umbrella/tree/main/packages/geom-api) ([3182726](https://github.com/thi-ng/umbrella/commit/3182726))
|
|
80
|
-
- BREAKING CHANGE: migrate/internalize types from [@thi.ng/geom-api](https://github.com/thi-ng/umbrella/tree/main/packages/geom-api)
|
|
81
|
-
- add/migrate:
|
|
82
|
-
- Attribs, GroupAttribs, IAttributed
|
|
83
|
-
- IShape, IShape2/3
|
|
84
|
-
- AABBLike, SphereLike
|
|
85
|
-
- PCLike, PCLikeConstructor
|
|
86
|
-
- IHiccupShape, IHiccupShape2/3
|
|
87
|
-
- SegmentType2/3
|
|
88
|
-
- PathSegment, PathSegment2/3
|
|
89
|
-
- HiccupPathSegment, IHiccupPathSegment
|
|
90
|
-
- CubicOpts
|
|
91
|
-
- re-export types from geom helper packages (to avoid extraneous imports in user code):
|
|
92
|
-
- IntersectionResult, IntersectionType, NONE (geom-isec)
|
|
93
|
-
- SamplingOpts, setDefaultSamples (geom-resample)
|
|
94
|
-
- SubdivKernel (geom-subdiv-curve)
|
|
95
|
-
- Tessellator, Tessellation (geom-tessellate)
|
|
96
|
-
- update CubicOpts.mode, rename `breakpoints` => `break`
|
|
97
|
-
- update imports
|
|
98
|
-
- update deps
|
|
99
|
-
- update tessellate() for new API ([4c6a5f4](https://github.com/thi-ng/umbrella/commit/4c6a5f4))
|
|
100
|
-
- BREAKING CHANGE: update tessellate() for new API
|
|
101
|
-
- add optional ITessellation arg
|
|
102
|
-
- add `basicTessellation()` & `meshTessellation()` factory fns
|
|
103
|
-
- update tessellation post-processors (`graphFromTessellation()` etc.)
|
|
104
|
-
- update PathBuilder to support 2D/3D, add pathBuilder3() ([dcf5210](https://github.com/thi-ng/umbrella/commit/dcf5210))
|
|
105
|
-
- BREAKING CHANGE: PathBuilder now using injected segment ctors
|
|
106
|
-
- users should only use pathBuilder() & pathBuilder3() factory functions
|
|
107
|
-
- add internal P2D & P3D shape ctor configs
|
|
108
|
-
- update PathBuilder ctor & internals to use injected shape ctors for segments
|
|
109
|
-
- update pathFromSvg()
|
|
110
|
-
- migrate roundedRect() to own file
|
|
111
|
-
|
|
112
|
-
#### 🚀 Features
|
|
113
|
-
|
|
114
|
-
- add/update various 2d/3d shape types ([262188c](https://github.com/thi-ng/umbrella/commit/262188c))
|
|
115
|
-
- add 3d shape types & factory functions:
|
|
116
|
-
- Cubic3
|
|
117
|
-
- Line3
|
|
118
|
-
- Path3
|
|
119
|
-
- Points3
|
|
120
|
-
- Polygon3
|
|
121
|
-
- Polyline3
|
|
122
|
-
- Quad3
|
|
123
|
-
- Quadratic3
|
|
124
|
-
- Ray3
|
|
125
|
-
- Triangle3
|
|
126
|
-
- update existing shape type impls & ctors/factories
|
|
127
|
-
- add/update rotate, scale, translate, transform ops (signatures & type support, impls) ([cb04a96](https://github.com/thi-ng/umbrella/commit/cb04a96))
|
|
128
|
-
- add rotateAroundAxis(), add rotateX/Y/Z() ops ([8831cc1](https://github.com/thi-ng/umbrella/commit/8831cc1))
|
|
129
|
-
- update applyTransforms(), add support for 3D shapes/transforms ([91be2ec](https://github.com/thi-ng/umbrella/commit/91be2ec))
|
|
130
|
-
- add/update internal helpers ([10a73f2](https://github.com/thi-ng/umbrella/commit/10a73f2))
|
|
131
|
-
- add/update bounds() impls and fitIntoBounds2/3() types/signatures ([e7a0b5c](https://github.com/thi-ng/umbrella/commit/e7a0b5c))
|
|
132
|
-
- add/update asPolygon()/asPolyline() / vertices() impls/types/signatures ([3ba9714](https://github.com/thi-ng/umbrella/commit/3ba9714))
|
|
133
|
-
- add/update resample()/simplify()/subdivCurve() impls ([1682577](https://github.com/thi-ng/umbrella/commit/1682577))
|
|
134
|
-
- add/update splitAt()/splitArcLength() impls/types ([e6f9e64](https://github.com/thi-ng/umbrella/commit/e6f9e64))
|
|
135
|
-
- add/update clipConvex()/convexHull() impls/types ([a6215c7](https://github.com/thi-ng/umbrella/commit/a6215c7))
|
|
136
|
-
- add shape types support for flip() ([9628c7b](https://github.com/thi-ng/umbrella/commit/9628c7b))
|
|
137
|
-
- add shape types support for arcLength() & center() ([2a9af0d](https://github.com/thi-ng/umbrella/commit/2a9af0d))
|
|
138
|
-
- add Group3 shape type, update pkg exports ([1646263](https://github.com/thi-ng/umbrella/commit/1646263))
|
|
139
|
-
- add sector() path builder ([807b5f1](https://github.com/thi-ng/umbrella/commit/807b5f1))
|
|
140
|
-
- update SVG default attribs & handling ([f80f67a](https://github.com/thi-ng/umbrella/commit/f80f67a))
|
|
141
|
-
- update setSvgDefaultAttribs() to allow merging
|
|
142
|
-
- add/update splitAt() & splitNearPoint() impls ([1851b1d](https://github.com/thi-ng/umbrella/commit/1851b1d))
|
|
143
|
-
- add planeFromRay() ([c44d8da](https://github.com/thi-ng/umbrella/commit/c44d8da))
|
|
144
|
-
- add 2d line impl for classifyPoint() ([92e54ea](https://github.com/thi-ng/umbrella/commit/92e54ea))
|
|
145
|
-
- fix [#429](https://github.com/thi-ng/umbrella/issues/429), add polygon support for classifyPoint() ([b56ecc1](https://github.com/thi-ng/umbrella/commit/b56ecc1))
|
|
146
|
-
- refactor plane impl
|
|
147
|
-
- add/update subdivCurve() type support, args & impls ([6233379](https://github.com/thi-ng/umbrella/commit/6233379))
|
|
148
|
-
- update AABB & Rect ctors to clamp size to zero ([7cec7d2](https://github.com/thi-ng/umbrella/commit/7cec7d2))
|
|
149
|
-
- add convolve() w/ impls for poly/polyline (incl. 3d versions) ([b682d34](https://github.com/thi-ng/umbrella/commit/b682d34))
|
|
150
|
-
- also re-export kernel presets (KERNEL_BOX, KERNEL_TRIANGLE, KERNEL_GAUSSIAN)
|
|
151
|
-
- update convolve(), add ComplexPolygon support ([bfaa0aa](https://github.com/thi-ng/umbrella/commit/bfaa0aa))
|
|
152
|
-
- add/update/fix type info, docs & impls for various ops ([d5ccb1a](https://github.com/thi-ng/umbrella/commit/d5ccb1a))
|
|
153
|
-
- update convolve(), add group support ([00bdc66](https://github.com/thi-ng/umbrella/commit/00bdc66))
|
|
154
|
-
- add Dummy shape type to wrap arbitrary hiccup data ([b6e18bc](https://github.com/thi-ng/umbrella/commit/b6e18bc))
|
|
155
|
-
- add various dummy op impls for Dummy shape type ([05eeb9f](https://github.com/thi-ng/umbrella/commit/05eeb9f))
|
|
156
|
-
- add arcLength(), area() default impls (return 0) ([f2a30bf](https://github.com/thi-ng/umbrella/commit/f2a30bf))
|
|
157
|
-
- add TESSELLATE_EDGE_SPLIT_THRESHOLD() tessellator ([1d8feff](https://github.com/thi-ng/umbrella/commit/1d8feff))
|
|
158
|
-
- add new tessellators presets ([95d6f70](https://github.com/thi-ng/umbrella/commit/95d6f70))
|
|
159
|
-
- add TESSELLATE_TRI_FAN_SPLIT
|
|
160
|
-
- add TESSELLATE_TRI_FAN_SPLIT_THRESHOLD
|
|
161
|
-
- add tessellation post-processing helpers ([7687975](https://github.com/thi-ng/umbrella/commit/7687975))
|
|
162
|
-
- add graphFromTessellation()
|
|
163
|
-
- add edgesFromTessellation()
|
|
164
|
-
- add edgePointsFromTessellation()
|
|
165
|
-
- update deps (adjacency)
|
|
166
|
-
- update pkg exports/meta
|
|
167
|
-
- add smoothPolygon()/smoothPolyline() ([217a8c2](https://github.com/thi-ng/umbrella/commit/217a8c2))
|
|
168
|
-
- add warpPoint(), add docs ([bf91ff3](https://github.com/thi-ng/umbrella/commit/bf91ff3))
|
|
169
|
-
- add internal __ensurePCLike() helper ([7306b35](https://github.com/thi-ng/umbrella/commit/7306b35))
|
|
170
|
-
- update tessellate(), add `TESSELLATE_TRI_FAN_BOUNDARY` ([1c0d1ce](https://github.com/thi-ng/umbrella/commit/1c0d1ce))
|
|
171
|
-
- add AABB impl for `asPolygon()` ([16e005c](https://github.com/thi-ng/umbrella/commit/16e005c))
|
|
172
|
-
- update/extend subdivCurve() shape type support ([b389db1](https://github.com/thi-ng/umbrella/commit/b389db1))
|
|
173
|
-
- add docs
|
|
174
|
-
- add example
|
|
175
|
-
- update subdivCurve() to reflect new API, update kernel presets ([b715d43](https://github.com/thi-ng/umbrella/commit/b715d43))
|
|
176
|
-
- update/rename subdiv kernels to reflect upstream changes (cd69dd4e20)
|
|
177
|
-
- update subdivCurve() impls
|
|
178
|
-
- update docs
|
|
179
|
-
- add `ICopyTransformed` interface & impls for various shape types ([35781b2](https://github.com/thi-ng/umbrella/commit/35781b2))
|
|
180
|
-
- update/extend/simplify resample() impls ([c13c37a](https://github.com/thi-ng/umbrella/commit/c13c37a))
|
|
181
|
-
- update/extend/simplify convolve() impls, fix kernel naming ([5907a2a](https://github.com/thi-ng/umbrella/commit/5907a2a))
|
|
182
|
-
- add AABBLike.min(), fix AABBLike.offset() impls ([a4dec6b](https://github.com/thi-ng/umbrella/commit/a4dec6b))
|
|
183
|
-
- add centerOfWeight(), centroidOfBounds(), update centroid() ([9048aac](https://github.com/thi-ng/umbrella/commit/9048aac))
|
|
184
|
-
- update centroid() impls for complex poly & poly, moved to centerOfWeight()
|
|
185
|
-
- update centroid() to support more types
|
|
186
|
-
- update pkg exports
|
|
187
|
-
- add/update iterator impls, add IEmpty impls ([0a15df5](https://github.com/thi-ng/umbrella/commit/0a15df5))
|
|
188
|
-
- update ComplexPolygon
|
|
189
|
-
- update Path/Path3
|
|
190
|
-
- update asPolygon() / asPolyline() ([80b8d9a](https://github.com/thi-ng/umbrella/commit/80b8d9a))
|
|
191
|
-
- add support for more types
|
|
192
|
-
- dedupe impls
|
|
193
|
-
- update pathFromCubics() closed shape check ([10a7558](https://github.com/thi-ng/umbrella/commit/10a7558))
|
|
194
|
-
- use eqDelta() to check if path is closed
|
|
195
|
-
- update splitAt()/splitNearPoint() ([d863cdd](https://github.com/thi-ng/umbrella/commit/d863cdd))
|
|
196
|
-
- add support for more shape types
|
|
197
|
-
- dedupe internals
|
|
198
|
-
- add IPath, update Path/Path3 impls ([eb7a97d](https://github.com/thi-ng/umbrella/commit/eb7a97d))
|
|
199
|
-
- merge 2D/3D versions of pathFromCubics() & normalizedPath() ([159cd56](https://github.com/thi-ng/umbrella/commit/159cd56))
|
|
200
|
-
- add PathConstructor type
|
|
201
|
-
- update pathFromCubics() & normalizedPath()
|
|
202
|
-
- migrate fns to separate files
|
|
203
|
-
- update asPath()
|
|
204
|
-
|
|
205
|
-
#### 🩹 Bug fixes
|
|
206
|
-
|
|
207
|
-
- fix path `__samples` attrib handling in asPolygon() & asPolyline() impls ([3d7bd8c](https://github.com/thi-ng/umbrella/commit/3d7bd8c))
|
|
208
|
-
- update various transform op impls for ComplexPolygon ([1e12707](https://github.com/thi-ng/umbrella/commit/1e12707))
|
|
209
|
-
- minor other internal refactoring
|
|
210
|
-
- update attrib checks in applyTransforms() ([a19f7be](https://github.com/thi-ng/umbrella/commit/a19f7be))
|
|
211
|
-
- fix vertices() impl for Polygon3 ([a968737](https://github.com/thi-ng/umbrella/commit/a968737))
|
|
212
|
-
- update pathFromCubics to mark path as closed if needed ([c95b5a8](https://github.com/thi-ng/umbrella/commit/c95b5a8))
|
|
213
|
-
- fix typo in centroid() dispatch table ([f1f986b](https://github.com/thi-ng/umbrella/commit/f1f986b))
|
|
214
|
-
- rename KERNEL_TRIANGLE, fix pkg exports ([ed776ed](https://github.com/thi-ng/umbrella/commit/ed776ed))
|
|
215
|
-
|
|
216
|
-
#### ⏱ Performance improvements
|
|
217
|
-
|
|
218
|
-
- update rotate() impls to reuse precomputed matrices ([00e33f0](https://github.com/thi-ng/umbrella/commit/00e33f0))
|
|
219
|
-
- internal update shape attrib copying ([fe0609a](https://github.com/thi-ng/umbrella/commit/fe0609a))
|
|
220
|
-
- rename __copyAttribsRaw => __copyAttribs
|
|
221
|
-
- avoid extraneous fn calls
|
|
222
|
-
|
|
223
|
-
#### ♻️ Refactoring
|
|
224
|
-
|
|
225
|
-
- update offset() & union() ops/signatures ([a943342](https://github.com/thi-ng/umbrella/commit/a943342))
|
|
226
|
-
- rename sector() => asSector(), minor refactor ([d1fb9bf](https://github.com/thi-ng/umbrella/commit/d1fb9bf))
|
|
227
|
-
- minor internal updates asPolygon() ([599572e](https://github.com/thi-ng/umbrella/commit/599572e))
|
|
228
|
-
- rename Dummy => Extra (dummy() => extra()) ([beb4bf0](https://github.com/thi-ng/umbrella/commit/beb4bf0))
|
|
229
|
-
- update various op impls
|
|
230
|
-
- update pkg exports
|
|
231
|
-
- update group to use GroupAttribs ([6f913ff](https://github.com/thi-ng/umbrella/commit/6f913ff))
|
|
232
|
-
- update SVGDocAttribs ([102bb5c](https://github.com/thi-ng/umbrella/commit/102bb5c))
|
|
233
|
-
- remove `__prec` (now part of base`Attribs`)
|
|
234
|
-
- dedupe 2d/3d versions of pathFromCubics(), normalizedPath() ([da8ed42](https://github.com/thi-ng/umbrella/commit/da8ed42))
|
|
235
|
-
- simplify `applyTransforms()` for groups ([d1f5873](https://github.com/thi-ng/umbrella/commit/d1f5873))
|
|
236
|
-
- simplify various shape transform ops & impls ([ba32846](https://github.com/thi-ng/umbrella/commit/ba32846))
|
|
237
|
-
- better re-use of impls for `PCLike` types
|
|
238
|
-
- remove obsolete internal helpers
|
|
239
|
-
- simplify subdivCurve() impls ([e978fab](https://github.com/thi-ng/umbrella/commit/e978fab))
|
|
240
|
-
- minor internal updates ([644a478](https://github.com/thi-ng/umbrella/commit/644a478))
|
|
241
|
-
- minor update complex poly hiccup serialization ([b394842](https://github.com/thi-ng/umbrella/commit/b394842))
|
|
242
|
-
- enforce uniform naming convention of internal functions ([56992b2](https://github.com/thi-ng/umbrella/commit/56992b2))
|
|
243
|
-
- minor updates splitAt()/splitNearPoint() ([3e65f82](https://github.com/thi-ng/umbrella/commit/3e65f82))
|
|
244
|
-
- update proximity() to accept optional distance fn ([df7aef2](https://github.com/thi-ng/umbrella/commit/df7aef2))
|
|
245
|
-
- dedupe union() impls ([c1880c8](https://github.com/thi-ng/umbrella/commit/c1880c8))
|
|
246
|
-
- dedupe path impls for scale()/translate() ([b20cb32](https://github.com/thi-ng/umbrella/commit/b20cb32))
|
|
247
|
-
|
|
248
|
-
### [7.0.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@7.0.1) (2024-05-09)
|
|
249
|
-
|
|
250
|
-
#### 🩹 Bug fixes
|
|
251
|
-
|
|
252
|
-
- update arc() arg defaults, add docs ([cc57a57](https://github.com/thi-ng/umbrella/commit/cc57a57))
|
|
253
|
-
|
|
254
|
-
# [7.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@7.0.0) (2024-05-08)
|
|
255
|
-
|
|
256
|
-
#### 🛑 Breaking changes
|
|
257
|
-
|
|
258
|
-
- update Path to support sub-paths (holes), update impls ([#464](https://github.com/thi-ng/umbrella/issues/464)) ([9329d27](https://github.com/thi-ng/umbrella/commit/9329d27))
|
|
259
|
-
- BREAKING CHANGE: update path related ctors & functions
|
|
260
|
-
- add `subPaths` argument for Path ctor/factory fn
|
|
261
|
-
- rename `Path.add()` => `Path.addSegments()`
|
|
262
|
-
- add `Path.addSubPaths()`
|
|
263
|
-
- update `Path.toHiccup()` to include sub-paths
|
|
264
|
-
- update `pathFromSvg()` to always return a single path only
|
|
265
|
-
- sub-paths are included in main path now
|
|
266
|
-
- update impls for following ops to also process sub-paths:
|
|
267
|
-
- bounds()
|
|
268
|
-
- rotate()
|
|
269
|
-
- scale()
|
|
270
|
-
- simplify()
|
|
271
|
-
- translate()
|
|
272
|
-
- transform()
|
|
273
|
-
- transformVertices()
|
|
274
|
-
- update asPolyline(), add support for multiple boundaries ([#464](https://github.com/thi-ng/umbrella/issues/464)) ([0616b96](https://github.com/thi-ng/umbrella/commit/0616b96))
|
|
275
|
-
- BREAKING CHANGE: update asPolygon() to return array of polylines
|
|
276
|
-
- add/update impls for complexpoly & path to produce multiple results
|
|
277
|
-
- update other internal callsites
|
|
278
|
-
- update tests
|
|
279
|
-
- update `Path` closing logic ([ce3a922](https://github.com/thi-ng/umbrella/commit/ce3a922))
|
|
280
|
-
- BREAKING CHANGE: update `Path` closing logic, `Path.closed` now a readonly property
|
|
281
|
-
- add `Path.closed()` getter
|
|
282
|
-
- add `Path.close()` to add a `Z`-type segment, check if not closed already
|
|
283
|
-
- update `Path.addSegments()` to check each segment, throw error if path already closed
|
|
284
|
-
- refactor `PathBuilder.closePath()`
|
|
285
|
-
- add asPolygon() support for complexpoly & path ([e3c9f20](https://github.com/thi-ng/umbrella/commit/e3c9f20))
|
|
286
|
-
- BREAKING CHANGE: update asPolygon() to return array of polygons (rather than single only)
|
|
287
|
-
- add support for complexpoly & path (incl. sub-shapes, holes)
|
|
288
|
-
- refactor internal call sites
|
|
289
|
-
- update asPath(), add AsPathOpts ([ef0ebdf](https://github.com/thi-ng/umbrella/commit/ef0ebdf))
|
|
290
|
-
- BREAKING CHANGE: update asPath() args, add AsPathOpts as 2nd arg
|
|
291
|
-
- add option for using only linear path segments (no cubics)
|
|
292
|
-
- update impls for complexpoly & other polygon types
|
|
293
|
-
- update Path & PathBuilder.close() ([b2134c2](https://github.com/thi-ng/umbrella/commit/b2134c2))
|
|
294
|
-
- BREAKING CHANGE: rename `PathBuilder.closePath()` => `PathBuilder.close()`
|
|
295
|
-
- update `Path.close()` to return path itself
|
|
296
|
-
- rewrite roundedRect() to allow individual corner radii ([a4817aa](https://github.com/thi-ng/umbrella/commit/a4817aa))
|
|
297
|
-
- BREAKING CHANGE: update roundedRect() radius handling to allow individual corner radii
|
|
298
|
-
- update docs
|
|
299
|
-
- add tests
|
|
300
|
-
|
|
301
|
-
#### 🚀 Features
|
|
302
|
-
|
|
303
|
-
- initial import ComplexPolygon & impls ([#464](https://github.com/thi-ng/umbrella/issues/464)) ([ded007c](https://github.com/thi-ng/umbrella/commit/ded007c))
|
|
304
|
-
- add complexPolygon() factory fn
|
|
305
|
-
- add bounds() & centroid() impls
|
|
306
|
-
- add ops for complex polygons ([#464](https://github.com/thi-ng/umbrella/issues/464)) ([35ce854](https://github.com/thi-ng/umbrella/commit/35ce854))
|
|
307
|
-
- add implementations for:
|
|
308
|
-
- arcLength()
|
|
309
|
-
- area()
|
|
310
|
-
- asPath()
|
|
311
|
-
- closestPoint()
|
|
312
|
-
- convexHull()
|
|
313
|
-
- edges()
|
|
314
|
-
- flip()
|
|
315
|
-
- pointInside()
|
|
316
|
-
- resample()
|
|
317
|
-
- rotate()
|
|
318
|
-
- scale()
|
|
319
|
-
- simplify()
|
|
320
|
-
- subdivCurve()
|
|
321
|
-
- transform()
|
|
322
|
-
- transformVertices()
|
|
323
|
-
- translate()
|
|
324
|
-
- vertices()
|
|
325
|
-
- add tests
|
|
326
|
-
- add proximity() ([5d5951c](https://github.com/thi-ng/umbrella/commit/5d5951c))
|
|
327
|
-
- update `vertices()` impl for `Path`, incl. sub-path vertices ([824067f](https://github.com/thi-ng/umbrella/commit/824067f))
|
|
328
|
-
- update simplify() default threshold ([bdba298](https://github.com/thi-ng/umbrella/commit/bdba298))
|
|
329
|
-
- add arcLength() for Path, refactor complexpoly impl ([d133bbe](https://github.com/thi-ng/umbrella/commit/d133bbe))
|
|
330
|
-
- add/update asCubic() impls for complex poly & path ([7f9e927](https://github.com/thi-ng/umbrella/commit/7f9e927))
|
|
331
|
-
- update pathFromCubics() to auto-create sub-paths if needed ([1170e45](https://github.com/thi-ng/umbrella/commit/1170e45))
|
|
332
|
-
- add closestPoint() impl for Path ([f0cf2f1](https://github.com/thi-ng/umbrella/commit/f0cf2f1))
|
|
333
|
-
- add pointInside() impl for Polyline ([d10bf43](https://github.com/thi-ng/umbrella/commit/d10bf43))
|
|
334
|
-
- add centroid() & convexHull() impl for Path ([76aa229](https://github.com/thi-ng/umbrella/commit/76aa229))
|
|
335
|
-
- add complexPolygonFromPath() ([cd526f1](https://github.com/thi-ng/umbrella/commit/cd526f1))
|
|
336
|
-
- update PathBuilder.close(), fix attrib handling ([e68d0bc](https://github.com/thi-ng/umbrella/commit/e68d0bc))
|
|
337
|
-
- only insert closing line segment if needed
|
|
338
|
-
- copy attribs for each new path
|
|
339
|
-
- add docs
|
|
340
|
-
- add opt attribs for `pathFromSvg()` ([2da31f6](https://github.com/thi-ng/umbrella/commit/2da31f6))
|
|
341
|
-
- update docs
|
|
342
|
-
- add/update tests
|
|
343
|
-
- add scaleWithCenter() ([e328494](https://github.com/thi-ng/umbrella/commit/e328494))
|
|
344
|
-
- add complexpoly & path support for `clipConvex()` ([7665dc1](https://github.com/thi-ng/umbrella/commit/7665dc1))
|
|
345
|
-
|
|
346
|
-
#### 🩹 Bug fixes
|
|
347
|
-
|
|
348
|
-
- update vertices() ([2afc05e](https://github.com/thi-ng/umbrella/commit/2afc05e))
|
|
349
|
-
- update impl for points, poly, polyline to return shallow copy of point array if no opts given
|
|
350
|
-
|
|
351
|
-
#### ♻️ Refactoring
|
|
352
|
-
|
|
353
|
-
- update withAttribs(), make new attribs optional ([688e1bf](https://github.com/thi-ng/umbrella/commit/688e1bf))
|
|
354
|
-
- update geom examples (recent API changes) ([f0f5ea7](https://github.com/thi-ng/umbrella/commit/f0f5ea7))
|
|
355
|
-
- update area() impl for Path ([0960817](https://github.com/thi-ng/umbrella/commit/0960817))
|
|
356
|
-
- update/simplify asPath() impls ([cbc71bb](https://github.com/thi-ng/umbrella/commit/cbc71bb))
|
|
357
|
-
- update centroid() for complexpoly ([58ac296](https://github.com/thi-ng/umbrella/commit/58ac296))
|
|
358
|
-
- re-use migrated fn from [@thi.ng/geom-poly-utils](https://github.com/thi-ng/umbrella/tree/main/packages/geom-poly-utils)
|
|
359
|
-
- update path segment transformations ([88b2c40](https://github.com/thi-ng/umbrella/commit/88b2c40))
|
|
360
|
-
|
|
361
|
-
### [6.1.7](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@6.1.7) (2024-04-20)
|
|
362
|
-
|
|
363
|
-
#### ♻️ Refactoring
|
|
364
|
-
|
|
365
|
-
- update type usage ([2d72859](https://github.com/thi-ng/umbrella/commit/2d72859))
|
|
366
|
-
|
|
367
|
-
## [6.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@6.1.0) (2024-03-21)
|
|
368
|
-
|
|
369
|
-
#### 🚀 Features
|
|
370
|
-
|
|
371
|
-
- update intersects(), support more shape types ([21ce0d4](https://github.com/thi-ng/umbrella/commit/21ce0d4))
|
|
372
|
-
- add IntersectOpts & as optional arg
|
|
373
|
-
- update impl for ray-poly/ray-polyline
|
|
374
|
-
- add support for new shape pairings:
|
|
375
|
-
- line-polygon
|
|
376
|
-
- line-polyline
|
|
377
|
-
- ray-line
|
|
378
|
-
- ray-group
|
|
379
|
-
- update intersects(), add line-group support ([1e270fa](https://github.com/thi-ng/umbrella/commit/1e270fa))
|
|
380
|
-
- add line-group impl
|
|
381
|
-
- refactor/simplify ray-group impl
|
|
382
|
-
|
|
383
|
-
### [6.0.6](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@6.0.6) (2023-12-03)
|
|
384
|
-
|
|
385
|
-
#### 🩹 Bug fixes
|
|
386
|
-
|
|
387
|
-
- fix [#431](https://github.com/thi-ng/umbrella/issues/431) update Path.withAttribs() impl ([eaad1cd](https://github.com/thi-ng/umbrella/commit/eaad1cd))
|
|
388
|
-
- keep closed state of new path the same as original
|
|
389
|
-
|
|
390
|
-
### [6.0.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@6.0.2) (2023-11-09)
|
|
391
|
-
|
|
392
|
-
#### ♻️ Refactoring
|
|
393
|
-
|
|
394
|
-
- update all tests (packages A-S) ([e3085e4](https://github.com/thi-ng/umbrella/commit/e3085e4))
|
|
395
|
-
|
|
396
|
-
# [6.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@6.0.0) (2023-11-01)
|
|
397
|
-
|
|
398
|
-
#### 🛑 Breaking changes
|
|
399
|
-
|
|
400
|
-
- update tessellate() for groups, update return type ([1bb1752](https://github.com/thi-ng/umbrella/commit/1bb1752))
|
|
401
|
-
- BREAKING CHANGE: update tessellate() for groups, update return type to Iterable
|
|
402
|
-
|
|
403
|
-
### [5.2.13](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@5.2.13) (2023-10-27)
|
|
404
|
-
|
|
405
|
-
#### ♻️ Refactoring
|
|
406
|
-
|
|
407
|
-
- update vector imports ([5884c2b](https://github.com/thi-ng/umbrella/commit/5884c2b))
|
|
408
|
-
|
|
409
|
-
## [5.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@5.2.0) (2023-08-29)
|
|
410
|
-
|
|
411
|
-
#### 🚀 Features
|
|
412
|
-
|
|
413
|
-
- update various shape ctors to accept iterables ([ae0cf5b](https://github.com/thi-ng/umbrella/commit/ae0cf5b))
|
|
414
|
-
- update shared APC ctor
|
|
415
|
-
- update other shape ctors: BPatch, Group, Path
|
|
416
|
-
- add assertions to verify vertex counts in these ctors:
|
|
417
|
-
- BPatch
|
|
418
|
-
- Cubic
|
|
419
|
-
- Line
|
|
420
|
-
- Quad/Quad3
|
|
421
|
-
- Quadratic
|
|
422
|
-
- Triangle
|
|
423
|
-
|
|
424
|
-
## [5.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@5.1.0) (2023-08-06)
|
|
425
|
-
|
|
426
|
-
#### 🚀 Features
|
|
427
|
-
|
|
428
|
-
- update API for various shape types ([3a45c5f](https://github.com/thi-ng/umbrella/commit/3a45c5f))
|
|
429
|
-
- add IClear impls for APC, Group, Path
|
|
430
|
-
- add .add() methods for APC, Group, Polygon, Polyline
|
|
431
|
-
- update Path.add() to accept multiple args
|
|
432
|
-
|
|
433
|
-
# [5.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@5.0.0) (2023-04-08)
|
|
434
|
-
|
|
435
|
-
#### 🛑 Breaking changes
|
|
436
|
-
|
|
437
|
-
- update asSVG() bleed handling ([cf3eafb](https://github.com/thi-ng/umbrella/commit/cf3eafb))
|
|
438
|
-
- BREAKING CHANGE: rename `bleed` attrib to `__bleed`
|
|
439
|
-
- for consistency, keep all control attribs prefixed as `__xxx`
|
|
440
|
-
- add asSvg() support for `__prec`
|
|
441
|
-
- update docs
|
|
442
|
-
- update splitArcLength() group handling ([6b97085](https://github.com/thi-ng/umbrella/commit/6b97085))
|
|
443
|
-
- BREAKING CHANGE: update splitArcLength() group handling & return type
|
|
444
|
-
- update group handling to form sub-groups of predictable length
|
|
445
|
-
(e.g. grouping shorter shapes and/or splitting longer shapes until desired arc length is reached)
|
|
446
|
-
- remove support for nested groups
|
|
447
|
-
- update docs, add example
|
|
448
|
-
- update all impls to return single group
|
|
449
|
-
|
|
450
|
-
#### 🚀 Features
|
|
451
|
-
|
|
452
|
-
- update inscribedSquare/Hex() args, add attribs ([317f630](https://github.com/thi-ng/umbrella/commit/317f630))
|
|
453
|
-
|
|
454
|
-
## [4.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@4.4.0) (2023-03-24)
|
|
455
|
-
|
|
456
|
-
#### 🚀 Features
|
|
457
|
-
|
|
458
|
-
- avoid recursive application of __samples attrib ([189446d](https://github.com/thi-ng/umbrella/commit/189446d))
|
|
459
|
-
- add internal __copyAttribsNoSamples() helper
|
|
460
|
-
- update implementations for:
|
|
461
|
-
- asPolygon()
|
|
462
|
-
- asPolyline()
|
|
463
|
-
- edges()
|
|
464
|
-
- resample()
|
|
465
|
-
- splitArcLength()
|
|
466
|
-
- update Group ctor to make attribs optional
|
|
467
|
-
- add/expose subdiv & tessellation presets ([0f79c6d](https://github.com/thi-ng/umbrella/commit/0f79c6d))
|
|
468
|
-
- re-export aliases for subdivCurve() from [@thi.ng/geom-subdiv-curve](https://github.com/thi-ng/umbrella/tree/main/packages/geom-subdiv-curve) (as `SUBDIV_XXX`...)
|
|
469
|
-
- re-export aliases for tessellate() from [@thi.ng/geom-tessellate](https://github.com/thi-ng/umbrella/tree/main/packages/geom-tessellate) (as `TESSELLATE_XXX`...)
|
|
470
|
-
|
|
471
|
-
## [4.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@4.3.0) (2023-03-22)
|
|
472
|
-
|
|
473
|
-
#### 🚀 Features
|
|
474
|
-
|
|
475
|
-
- add splitArclength() ([906a326](https://github.com/thi-ng/umbrella/commit/906a326))
|
|
476
|
-
- add spiral() polyline factory fn ([572e0ef](https://github.com/thi-ng/umbrella/commit/572e0ef))
|
|
477
|
-
|
|
478
|
-
## [4.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@4.2.0) (2023-01-10)
|
|
479
|
-
|
|
480
|
-
#### 🚀 Features
|
|
481
|
-
|
|
482
|
-
- update vertices() for circle, ellipse, group ([9ff890a](https://github.com/thi-ng/umbrella/commit/9ff890a))
|
|
483
|
-
- add support for SamplingOpts.start (circle/ellipse)
|
|
484
|
-
- add SamplingOpts support for groups
|
|
485
|
-
- migrate internal helpers
|
|
486
|
-
- update export maps
|
|
487
|
-
|
|
488
|
-
## [4.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@4.1.0) (2022-12-22)
|
|
489
|
-
|
|
490
|
-
#### 🚀 Features
|
|
491
|
-
|
|
492
|
-
- add SVG default attribs & setter ([3cb07a6](https://github.com/thi-ng/umbrella/commit/3cb07a6))
|
|
493
|
-
- set defaults to no fill & black stroke
|
|
494
|
-
- add setSvgDefaultAttribs()
|
|
495
|
-
|
|
496
|
-
# [4.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@4.0.0) (2022-12-10)
|
|
497
|
-
|
|
498
|
-
#### 🛑 Breaking changes
|
|
499
|
-
|
|
500
|
-
- unify function naming ([980f625](https://github.com/thi-ng/umbrella/commit/980f625))
|
|
501
|
-
- BREAKING CHANGE: rename rect & aabb ctor fns
|
|
502
|
-
- rename rectFromCentroid => rectWithCentroid
|
|
503
|
-
- rename rectFromCentroidWithMargin => rectWithCentroidAndMargin
|
|
504
|
-
- same for aabb versions
|
|
505
|
-
|
|
506
|
-
#### 🚀 Features
|
|
507
|
-
|
|
508
|
-
- add AABB.toHiccup() impl ([2c419cc](https://github.com/thi-ng/umbrella/commit/2c419cc))
|
|
509
|
-
- add startWithCentroid(), add docs ([6b4df6a](https://github.com/thi-ng/umbrella/commit/6b4df6a))
|
|
510
|
-
- update vertices(), config via attribs ([b5a53ba](https://github.com/thi-ng/umbrella/commit/b5a53ba))
|
|
511
|
-
- add support for per-shape config overrides via `__samples` attrib object
|
|
512
|
-
- add docs
|
|
513
|
-
|
|
514
|
-
#### 🩹 Bug fixes
|
|
515
|
-
|
|
516
|
-
- correct withAttribs() return type ([867c302](https://github.com/thi-ng/umbrella/commit/867c302))
|
|
517
|
-
- update applyTransforms() ([b6262c2](https://github.com/thi-ng/umbrella/commit/b6262c2))
|
|
518
|
-
- always remove all spatial transform attribs
|
|
519
|
-
|
|
520
|
-
### [3.4.6](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@3.4.6) (2022-08-06)
|
|
521
|
-
|
|
522
|
-
#### ⏱ Performance improvements
|
|
523
|
-
|
|
524
|
-
- update vector fns ([d8726c9](https://github.com/thi-ng/umbrella/commit/d8726c9))
|
|
525
|
-
|
|
526
|
-
## [3.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@3.4.0) (2022-06-28)
|
|
527
|
-
|
|
528
|
-
#### 🚀 Features
|
|
529
|
-
|
|
530
|
-
- add IAttributed impls for all shape types ([ccb40f1](https://github.com/thi-ng/umbrella/commit/ccb40f1))
|
|
531
|
-
- add new transform ops & helpers ([cd8217c](https://github.com/thi-ng/umbrella/commit/cd8217c))
|
|
532
|
-
- add applyTransforms(), rotate(), scale()
|
|
533
|
-
- add internal helpers
|
|
534
|
-
- update transform() rect coercion (now => Quad, previous Polygon)
|
|
535
|
-
- update edges(), support more types ([3e1b340](https://github.com/thi-ng/umbrella/commit/3e1b340))
|
|
536
|
-
- update warpPoints() args, add docs ([50cb467](https://github.com/thi-ng/umbrella/commit/50cb467))
|
|
537
|
-
- add AABB support for intersects() ([768dddd](https://github.com/thi-ng/umbrella/commit/768dddd))
|
|
538
|
-
|
|
539
|
-
#### 🩹 Bug fixes
|
|
540
|
-
|
|
541
|
-
- update AABB/Rect.offset(), clamp size to zero ([620121d](https://github.com/thi-ng/umbrella/commit/620121d))
|
|
542
|
-
|
|
543
|
-
### [3.3.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@3.3.1) (2022-06-23)
|
|
544
|
-
|
|
545
|
-
#### ♻️ Refactoring
|
|
546
|
-
|
|
547
|
-
- update size handling in various ctors ([ab4b93d](https://github.com/thi-ng/umbrella/commit/ab4b93d))
|
|
548
|
-
|
|
549
|
-
## [3.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@3.3.0) (2022-06-20)
|
|
550
|
-
|
|
551
|
-
#### 🚀 Features
|
|
552
|
-
|
|
553
|
-
- update rect/aabb, add new factory fns ([f74e377](https://github.com/thi-ng/umbrella/commit/f74e377))
|
|
554
|
-
- add ...WithMargin() factory fns
|
|
555
|
-
- add AABBLike.offset() impls
|
|
556
|
-
- update bounds() to support opt. margin ([8cdc372](https://github.com/thi-ng/umbrella/commit/8cdc372))
|
|
557
|
-
|
|
558
|
-
### [3.2.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@3.2.1) (2022-04-07)
|
|
559
|
-
|
|
560
|
-
#### 🩹 Bug fixes
|
|
561
|
-
|
|
562
|
-
- fix [#336](https://github.com/thi-ng/umbrella/issues/336), update attrib ctor arg handling ([cb8e52a](https://github.com/thi-ng/umbrella/commit/cb8e52a))
|
|
563
|
-
- update internal __argAttribs() helper
|
|
564
|
-
- add tests
|
|
565
|
-
|
|
566
|
-
## [3.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/geom@3.2.0) (2022-03-11)
|
|
567
|
-
|
|
568
|
-
#### 🚀 Features
|
|
569
|
-
|
|
570
|
-
- add opt. bleed attrib for `svgDoc()` ([fb3ed1e](https://github.com/thi-ng/umbrella/commit/fb3ed1e))
|
|
571
|
-
- add BPatch type, ctors and warp fn ([ea81cb5](https://github.com/thi-ng/umbrella/commit/ea81cb5))
|
|
572
|
-
- update/refactor various shape ops ([0e3b99a](https://github.com/thi-ng/umbrella/commit/0e3b99a))
|