Skip to content
Permalink
develop
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time
514 lines (340 sloc) 23.8 KB

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

Note: Unlisted patch versions only involve non-code or otherwise excluded changes and/or version bumps of transitive dependencies.

3.4.6 (2022-08-06)

Performance improvements

3.4.0 (2022-06-28)

🚀 Features

  • add AABB support for intersects() (768dddd)
  • update warpPoints() args, add docs (50cb467)
  • update edges(), support more types (3e1b340)
  • add new transform ops & helpers (cd8217c)
    • add applyTransforms(), rotate(), scale()
    • add internal helpers
    • update transform() rect coercion (now => Quad, previous Polygon)
  • add IAttributed impls for all shape types (ccb40f1)

🩹 Bug fixes

  • update AABB/Rect.offset(), clamp size to zero (620121d)

3.3.1 (2022-06-23)

♻️ Refactoring

  • update size handling in various ctors (ab4b93d)

3.3.0 (2022-06-20)

🚀 Features

  • update bounds() to support opt. margin (8cdc372)
  • update rect/aabb, add new factory fns (f74e377)
    • add ...WithMargin() factory fns
    • add AABBLike.offset() impls

3.2.1 (2022-04-07)

🩹 Bug fixes

  • fix #336, update attrib ctor arg handling (cb8e52a)
    • update internal __argAttribs() helper
    • add tests

3.2.0 (2022-03-11)

🚀 Features

  • update/refactor various shape ops (0e3b99a)
  • add BPatch type, ctors and warp fn (ea81cb5)
  • add opt. bleed attrib for svgDoc() (fb3ed1e)

3.1.0 (2021-11-17)

🚀 Features

  • Using workspaces for local tools (bf7a404) Improving the overall build ergonomics
    • introduced a tools workspaces
    • imported it in all needed packages/examples
    • inclusive project root

♻️ Refactoring

  • testrunner to binary (4ebbbb2) this commit reverts (partly) changes made in: ef346d7a8753590dc9094108a3d861a8dbd5dd2c overall purpose is better testament ergonomics: instead of having to pass NODE_OPTIONS with every invocation having a binary to handle this for us.

3.0.10 (2021-11-10)

♻️ Refactoring

  • update all countdown loops (a5f374b)

3.0.1 (2021-10-13)

♻️ Refactoring

  • update imports in all tests/pkgs (effd591)
  • update imports in all pkgs (5fa2b6f)
    • add .js suffix for all relative imports

3.0.0 (2021-10-12)

🛑 Breaking changes

  • major update of ALL pkgs (export maps, ESM only) (0d1d6ea)
  • BREAKING CHANGE: discontinue CommonJS & UMD versions
    • only ESM modules will be published from now on
    • CJS obsolete due to ESM support in recent versions of node:
      • i.e. launch NodeJS via:
      • node --experimental-specifier-resolution=node --experimental-repl-await
      • in the node REPL use await import(...) instead of require()
    • UMD obsolete due to widespread browser support for ESM Also:
    • normalize/restructure/reorg all package.json files
    • cleanup all build scripts, remove obsolete
    • switch from mocha to @thi.ng/testament for all tests

♻️ Refactoring

  • rename/restructure internals (94622fe)
    • remove internal fns from pkg exports
  • restructure package (ca56975)
    • migrate/lift /src/ctors source files to /src for easier use
  • restructure package (2439102)
    • migrate/lift /src/ops source files to /src for easier use
  • sideeffect-free defmulti specs (2721c1d)
  • update deps & imports in various pkgs (e1cf29e)
    • largely related to recent updates/restructuring of these packages:
      • api
      • defmulti
      • errors
      • logger
  • update imports (transducers) (25b674f)
  • remove obsolete import (7893fd0)
  • update imports (5ef5559)
  • update all test stubs (f2d6d53)
  • update all tests in all pkgs (8b582bc)

2.1.29 (2021-09-03)

♻️ Refactoring

2.1.0 (2021-02-20)

🚀 Features

  • add tangentAt() support for cubic/quadratic (4302f58)

🩹 Bug fixes

  • fix regression/update buffer arg types (9cf5e5d)
    • switch from Vec => NumericArray for backing buffers
    • update remap() / collateWith()

2.0.0 (2020-12-22)

🛑 Breaking changes

  • fix #256 replace Type enum w/ alias (ef7ba74)
  • BREAKING CHANGE: replace Type enum returned by IShape.type w/ string consts
    • update all shape classes
    • update all ops/multimethod dispatches
  • fix #256 replace enum w/ type alias (67988ad)
  • BREAKING CHANGE: replace SegmentType w/ type alias

🩹 Bug fixes

  • fix #268 add Group.copyTransformed() (2da6c63)
    • update transformVertices(), transform(), translate() impls

1.13.3 (2020-12-07)

♻️ Refactoring

  • update type-only imports (b8e96cc)
  • update type-only imports in various tests/pkgs (3fd9c24)

1.13.1 (2020-11-24)

🩹 Bug fixes

  • add missing translate() impls for Cubic/Quadratic (fe4c027)
  • update whitespace check in pathFromSvg() (2ce5ec1)

1.13.0 (2020-10-03)

🩹 Bug fixes

  • arg order pointAt() impl (RAY/RAY3) (6ec9b46)

1.12.0 (2020-09-22)

🚀 Features

♻️ Refactoring

  • update fitIntoBounds() fns (19095b0)
  • de-dupe asCubic() for polygon/polyline (65ea389)

1.11.7 (2020-08-28)

🩹 Bug fixes

  • update asPolyline() for PATH/POLYGON (243962c)
    • ensure last point is unique (copy of 1st)

1.11.0 (2020-07-17)

🚀 Features

  • add PathBuilderOpts, update Path.toHiccup() (deb9892)
    • add support to disable auto-splitting paths in PathBuilder
    • update toHiccup() impl to support multiple M cmds
  • add/update clipVertex() impls (a87c31c)
    • add support for Line and Group shape types
    • update boundary arg type to support raw point arrays (rather than only IShape). this allows for certain optimizations, esp. for group impl.

🩹 Bug fixes

  • update svgDoc() attrib inject (add null check) (6898975)

♻️ Refactoring

  • update various shape ctors (8b63f9d)

1.10.0 (2020-06-20)

🚀 Features

  • add offset() & initial impls (819afd1)
    • add impls for circle, line, rect
  • add rectFromCentroid() (7837961)

♻️ Refactoring

  • update offset() line impl (6958280)

1.9.3 (2020-05-14)

🩹 Bug fixes

  • Path.copy() deep-clone behavior (2ade10e)

1.9.0 (2020-04-27)

🚀 Features

  • update asPolyline() impls (cca8574)
    • add arc & quadratic support
  • add transformVertices() op (ef68a27)

1.8.4 (2020-03-06)

♻️ Refactoring

  • update skipWS() helper for pathFromSVG() (ec07ddd)

1.8.0 (2020-02-25)

🚀 Features

  • add cubic polyline impls (263f2f9)
  • add fitIntoBounds3, fix #202, #206 (19be3fa)
  • add Points3 and supporting ops (7e1adb7)
    • points3() ctor
    • area()
    • bounds()
    • centroid()
    • flip()
    • pointInside()
    • transform()
    • translate()
    • vertices()
  • add edges() impl for AABB (b800686)
  • add intersectionAABB/Rect() (ecc9706)

🩹 Bug fixes

  • add missing type annotation (asCubic) (c4f7eae)

♻️ Refactoring

1.7.7 (2019-11-09)

♻️ Refactoring

  • update wrapSides/tween call sites in various pkgs (ee8200c)

1.7.5 (2019-08-21)

♻️ Refactoring

  • update PCLike copy() impls, add copyShape() helper (bc20135)
  • asCubic() Arc impl (re-use cubicFromArc) (df5c881)
  • add pclike(), simplify shape factory fns (ef0d102)
  • add internal helpers for improved re-use (b3dc83f)
    • add copyAttribs()
    • add pointArraysAsShapes()
  • improve internal re-use PathBuilder (c8ef0cf)
  • split api.ts, extract PathBuilder / pathFromSVG (071c346)

1.7.3 (2019-08-16)

♻️ Refactoring

  • update pathFromSVG() arc parsing, add readFlag (2a36128)

1.7.1 (2019-07-31)

♻️ Refactoring

  • update asCubic for circle (b890838)
    • use full 0..TAU range

1.7.0 (2019-07-12)

🚀 Features

  • add/update transform impls: arc, circle, ellipse, path, rect (e77e7c2)
    • arc, circle, ellipse now converted to paths, instead of polygons
  • add ellipse support for asCubic() (4247801)
  • add asPath(), update pathFromCubics() to accept opt attribs (980af9f)
  • add asCubic() impls for circle, group, rect (5ca4166)
    • re-use arc impl from geom-splines
  • add polygon impl for asCubic(), add pathFromCubics() (2faec7f)

🩹 Bug fixes

  • update asCubic() circle impl (only 99.99% closed) (36cdb4f)

1.6.0 (2019-07-07)

🚀 Features

  • TS strictNullChecks, update various classes & ops (636dea7)
    • make attribs field optional in all shape types
    • update return types of various fns to potentially return undefined
  • enable TS strict compiler flags (refactor) (aa10de0)

🩹 Bug fixes

1.5.0 (2019-05-22)

🚀 Features

  • add Plane, Quad3 factories & ops (2079bfe)

1.4.0 (2019-04-15)

🚀 Features

  • add new shape factories & impls (1a5ead1)
    • add AABB, Plane, Sphere factories
    • add closestPoint() impls

1.3.0 (2019-04-11)

🚀 Features

  • add inscribedSquare*() fns (b1790b3)
  • add AABB impls for vertices() & volume() (a9ba010)

1.2.2 (2019-02-15)

♻️ Refactoring

1.2.0 (2019-02-05)

♻️ Refactoring

1.1.1 (2019-01-31)

🚀 Features

  • add ray-rect/aabb impls for intersects() (5f7dd63)

♻️ Refactoring

  • minor update clippedLine() (4b85288)
  • swap Group ctor & factory arg order (6d14f2b)
    • first attribs, then children...
  • update pointInside & classifyPoint impls (delegate) (226645f)
  • remove obsolete/migrated fns, update deps, readme (df8332d)
  • update to use geom-api types (b223603)
  • remove obsolete/extracted internal ops, update publics (fb532b8)

1.1.0 (2019-01-22)

🚀 Features

  • add asPolyline() multi-fn (c602379)
  • add attrib support to PathBuilder (a017b10)

🩹 Bug fixes

  • update Rect.toHiccup() format (separate widht/height vals) (8c1df49)

1.0.1 (2019-01-21)

♻️ Refactoring

  • update tangentAt(), use direction() from vectors pkg (3d499ad)

1.0.0 (2019-01-21)

🛑 Breaking changes

  • update package build scripts & outputs, imports in ~50 packages (b54b703)
  • BREAKING CHANGE: enabled multi-outputs (ES6 modules, CJS, UMD)
    • build scripts now first build ES6 modules in package root, then call scripts/bundle-module to build minified CJS & UMD bundles in /lib
    • 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.

🚀 Features

  • re-add barycentric conversions, collation mappers (still unused) (db4a201)
  • update closestPoint(), add support for Arc (63b3a5d)
  • add arcPointAt() helper, refactor Arc, minor other updates (0e5e776)
  • add splitNearPoint() for line & polyline, update Sampler (910529d)
  • add splitNearPoint(), Sampler.closestT(), internal restructure (1d754eb)
  • add flip() impls (56f6037)
  • add pointAt() impls for Cubic/Quadratic (ebc9a98)
  • add closestPoint() impls for splines, line, polygons, polyline (eaf1a1b)
  • add transform() impls for Cubic/Quadratic (627e20d)
  • add clippedLine(), minor update liangBarsky() (d763621)
  • add/update edges(), pointInside() & classifyPoint() impls (e834597)
  • re-add vertices() impls for Cubic/Quadratic (f5a53ca)
  • re-add pathFromSvg() (3c9a7b0)
  • add intersection checks & intersects() multi-fn (66267e2)
  • re-add tessellators (f1f428a)
  • add clipConvex, scatter, warpPoints (d09cc79)
  • add path builder, path & arc op impls (61cfb0f)
  • re-add arc, cubic, quadratic ops, splitAt & other ops (fea8fbe)
  • add temp geom3 package (another refactored version of geom2) (c0e3a0b)

🩹 Bug fixes

  • update arcFrom2Points() (62ec49f)

Performance improvements

  • use squared dist for classifyPoint() (circle) (cd59f66)

♻️ Refactoring

  • update withAttribs() return type (8e2c8b5)
  • add tessellate() multi-fn, move/rename tessellators (499e14b)
  • update imports, fix tests (c41b96f)

0.2.11 (2019-01-02)

🚀 Features

  • add/rename type ids, add sphere, isec fns (161199f)

0.2.3 (2018-12-01)

🚀 Features

  • re-add arcLength() impls, update imports (896855d)

♻️ Refactoring

  • update everything to use new vectors package (d4172ee)

0.2.0 (2018-10-21)

🚀 Features

  • add IToCubic, add/update impls (ce131d4)
    • add/update .toCubic() impls for Arc2, Line2, Polyline2
    • add Path2.normalize() to convert all segments to cubics
    • remove mixCubic/mixQuadratic()

0.1.0 (2018-10-17)

🚀 Features

  • add/update tessellate() impls (fa87f1e)
  • add/update factory fns, arg handling, tessel, poly area (555fc51)
  • add/update various shape impls & ops (3a20ef3)
  • re-import & refactor partial port of @thi.ng/geom (clojure) (d655ec2)
  • add/update interfaces & impls (2657df6)
    • add CollateOpts, update collate() in both containers
    • add generics for IVertices
    • add ArcSamplingOpts
    • update edges(), vertices() for Arc2 & Circle2
    • add .toJSON() impls
    • add @thi.ng/checks dep
  • re-add Arc2, update Circle2, update helper fns (aa6b120)
  • add ICollate & ICopy impls, re-add/update convexHull2 (3b1bf64)
  • update all shape types, add interfaces & ops, update tests (9c27c77)

♻️ Refactoring