@jscad/modeling 2.7.0 → 2.8.0

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 (185) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/dist/jscad-modeling.min.js +142 -139
  3. package/package.json +2 -2
  4. package/src/colors/hslToRgb.js +1 -1
  5. package/src/colors/hueToColorComponent.js +1 -0
  6. package/src/curves/bezier/create.js +3 -8
  7. package/src/curves/bezier/tangentAt.js +2 -2
  8. package/src/curves/bezier/tangentAt.test.js +1 -1
  9. package/src/curves/bezier/valueAt.test.js +1 -1
  10. package/src/curves/index.js +1 -1
  11. package/src/geometries/geom2/index.js +10 -0
  12. package/src/geometries/geom2/isA.js +2 -2
  13. package/src/geometries/geom2/toCompactBinary.js +4 -4
  14. package/src/geometries/geom2/toOutlines.js +6 -11
  15. package/src/geometries/geom2/toString.js +1 -1
  16. package/src/geometries/geom2/transform.test.js +1 -1
  17. package/src/geometries/geom3/create.js +1 -1
  18. package/src/geometries/geom3/fromCompactBinary.js +1 -1
  19. package/src/geometries/geom3/index.js +17 -0
  20. package/src/geometries/geom3/invert.js +2 -2
  21. package/src/geometries/geom3/isA.js +2 -2
  22. package/src/geometries/geom3/toCompactBinary.js +4 -4
  23. package/src/geometries/geom3/toPoints.js +1 -0
  24. package/src/geometries/geom3/toString.js +1 -1
  25. package/src/geometries/geom3/transform.test.js +1 -1
  26. package/src/geometries/index.js +8 -1
  27. package/src/geometries/path2/eachPoint.js +3 -3
  28. package/src/geometries/path2/index.js +11 -0
  29. package/src/geometries/path2/isA.js +2 -2
  30. package/src/geometries/path2/reverse.js +4 -4
  31. package/src/geometries/path2/toCompactBinary.js +6 -6
  32. package/src/geometries/path2/toString.js +1 -1
  33. package/src/geometries/path2/transform.test.js +1 -1
  34. package/src/geometries/poly2/arePointsInside.test.js +1 -1
  35. package/src/geometries/poly2/index.js +6 -0
  36. package/src/geometries/poly3/index.js +7 -1
  37. package/src/geometries/poly3/isA.js +2 -2
  38. package/src/geometries/poly3/isConvex.js +2 -2
  39. package/src/geometries/poly3/measureArea.js +4 -4
  40. package/src/geometries/poly3/measureBoundingBox.js +2 -2
  41. package/src/geometries/poly3/measureBoundingSphere.js +2 -2
  42. package/src/geometries/poly3/measureSignedVolume.js +4 -4
  43. package/src/geometries/poly3/toPoints.js +2 -2
  44. package/src/geometries/poly3/toString.js +2 -2
  45. package/src/geometries/poly3/transform.js +2 -2
  46. package/src/maths/index.js +1 -1
  47. package/src/maths/line2/equals.js +2 -2
  48. package/src/maths/line2/fromValues.js +2 -2
  49. package/src/maths/line2/intersectPointOfLines.js +1 -1
  50. package/src/maths/line2/intersectPointOfLines.test.js +1 -1
  51. package/src/maths/line2/reverse.test.js +1 -1
  52. package/src/maths/line2/transform.test.js +1 -1
  53. package/src/maths/line3/create.js +2 -1
  54. package/src/maths/line3/equals.js +2 -2
  55. package/src/maths/line3/reverse.test.js +1 -1
  56. package/src/maths/line3/transform.test.js +1 -1
  57. package/src/maths/mat4/fromRotation.js +1 -1
  58. package/src/maths/mat4/fromVectorRotation.js +1 -1
  59. package/src/maths/mat4/fromVectorRotation.test.js +1 -1
  60. package/src/maths/mat4/identity.test.js +1 -1
  61. package/src/maths/mat4/invert.js +18 -18
  62. package/src/maths/mat4/isIdentity.js +1 -1
  63. package/src/maths/mat4/isIdentity.test.js +0 -2
  64. package/src/maths/mat4/isMirroring.js +4 -4
  65. package/src/maths/mat4/isMirroring.test.js +1 -1
  66. package/src/maths/mat4/isOnlyTransformScale.js +5 -4
  67. package/src/maths/mat4/leftMultiplyVec3.js +2 -2
  68. package/src/maths/mat4/rotate.js +1 -1
  69. package/src/maths/mat4/toString.js +2 -2
  70. package/src/maths/mat4/translate.test.js +1 -1
  71. package/src/maths/plane/flip.test.js +1 -1
  72. package/src/maths/plane/fromPoints.d.ts +1 -1
  73. package/src/maths/plane/fromPoints.js +1 -3
  74. package/src/maths/plane/signedDistanceToPoint.js +1 -1
  75. package/src/maths/plane/transform.test.js +1 -1
  76. package/src/maths/utils/aboutEqualNormals.js +2 -2
  77. package/src/maths/vec2/abs.d.ts +1 -1
  78. package/src/maths/vec2/add.test.js +1 -1
  79. package/src/maths/vec2/angleDegrees.d.ts +1 -1
  80. package/src/maths/vec2/angleRadians.d.ts +1 -1
  81. package/src/maths/vec2/create.js +1 -1
  82. package/src/maths/vec2/cross.test.js +1 -1
  83. package/src/maths/vec2/divide.test.js +1 -1
  84. package/src/maths/vec2/fromAngleDegrees.js +1 -1
  85. package/src/maths/vec2/fromScalar.js +1 -1
  86. package/src/maths/vec2/length.d.ts +1 -1
  87. package/src/maths/vec2/length.js +1 -1
  88. package/src/maths/vec2/length.test.js +10 -0
  89. package/src/maths/vec2/lerp.test.js +1 -1
  90. package/src/maths/vec2/multiply.test.js +1 -1
  91. package/src/maths/vec2/negate.test.js +1 -1
  92. package/src/maths/vec2/normal.js +1 -1
  93. package/src/maths/vec2/normalize.d.ts +1 -1
  94. package/src/maths/vec2/normalize.test.js +1 -1
  95. package/src/maths/vec2/rotate.test.js +1 -1
  96. package/src/maths/vec2/squaredLength.d.ts +1 -1
  97. package/src/maths/vec2/squaredLength.js +3 -3
  98. package/src/maths/vec2/subtract.test.js +1 -1
  99. package/src/maths/vec2/toString.js +1 -1
  100. package/src/maths/vec2/transform.test.js +1 -1
  101. package/src/maths/vec3/abs.d.ts +1 -1
  102. package/src/maths/vec3/add.test.js +1 -1
  103. package/src/maths/vec3/angle.js +2 -2
  104. package/src/maths/vec3/angle.test.js +17 -0
  105. package/src/maths/vec3/cross.test.js +1 -1
  106. package/src/maths/vec3/divide.test.js +1 -1
  107. package/src/maths/vec3/fromScalar.js +1 -1
  108. package/src/maths/vec3/fromVec2.d.ts +1 -1
  109. package/src/maths/vec3/fromVec2.js +3 -3
  110. package/src/maths/vec3/length.d.ts +1 -1
  111. package/src/maths/vec3/length.js +4 -4
  112. package/src/maths/vec3/length.test.js +10 -0
  113. package/src/maths/vec3/lerp.test.js +1 -1
  114. package/src/maths/vec3/multiply.test.js +1 -1
  115. package/src/maths/vec3/negate.d.ts +1 -1
  116. package/src/maths/vec3/negate.test.js +1 -1
  117. package/src/maths/vec3/normalize.d.ts +1 -1
  118. package/src/maths/vec3/normalize.test.js +1 -1
  119. package/src/maths/vec3/rotateX.test.js +1 -1
  120. package/src/maths/vec3/rotateY.test.js +1 -1
  121. package/src/maths/vec3/rotateZ.test.js +1 -1
  122. package/src/maths/vec3/scale.test.js +1 -1
  123. package/src/maths/vec3/squaredLength.d.ts +1 -1
  124. package/src/maths/vec3/squaredLength.js +4 -4
  125. package/src/maths/vec3/subtract.test.js +1 -1
  126. package/src/maths/vec3/toString.js +1 -1
  127. package/src/maths/vec3/transform.test.js +1 -1
  128. package/src/maths/vec4/toString.js +1 -1
  129. package/src/maths/vec4/transform.test.js +1 -1
  130. package/src/measurements/measureBoundingBox.js +38 -128
  131. package/src/measurements/measureBoundingSphere.js +4 -4
  132. package/src/measurements/measureCenterOfMass.js +1 -1
  133. package/src/operations/booleans/mayOverlap.js +3 -3
  134. package/src/operations/booleans/retessellate.js +3 -5
  135. package/src/operations/booleans/scission.js +1 -1
  136. package/src/operations/booleans/subtract.js +1 -1
  137. package/src/operations/booleans/union.test.js +1 -1
  138. package/src/operations/booleans/unionGeom3Sub.js +1 -1
  139. package/src/operations/expansions/expand.js +3 -1
  140. package/src/operations/expansions/expand.test.js +3 -35
  141. package/src/operations/expansions/expandShell.js +24 -18
  142. package/src/operations/expansions/offset.js +2 -1
  143. package/src/operations/expansions/offset.test.js +25 -89
  144. package/src/operations/expansions/offsetFromPoints.js +11 -6
  145. package/src/operations/extrusions/extrudeLinear.js +7 -3
  146. package/src/operations/extrusions/extrudeLinear.test.js +25 -1
  147. package/src/operations/extrusions/extrudeLinearPath2.js +24 -0
  148. package/src/operations/extrusions/extrudeRectangular.js +3 -2
  149. package/src/operations/extrusions/extrudeRectangular.test.js +2 -2
  150. package/src/operations/extrusions/project.js +1 -1
  151. package/src/operations/extrusions/slice/isA.js +2 -2
  152. package/src/operations/extrusions/slice/toPolygons.js +1 -1
  153. package/src/operations/hulls/hull.test.js +1 -1
  154. package/src/operations/hulls/hullChain.js +1 -1
  155. package/src/operations/hulls/hullGeom2.js +1 -1
  156. package/src/operations/hulls/hullPath2.js +6 -4
  157. package/src/operations/hulls/hullPath2.test.js +16 -0
  158. package/src/operations/hulls/hullPoints2.test.js +1 -1
  159. package/src/operations/hulls/quickhull/QuickHull.js +2 -2
  160. package/src/operations/modifiers/edges.js +2 -4
  161. package/src/operations/modifiers/generalize.js +4 -7
  162. package/src/operations/modifiers/snap.test.js +3 -3
  163. package/src/operations/transforms/align.d.ts +1 -1
  164. package/src/operations/transforms/center.js +17 -17
  165. package/src/operations/transforms/mirror.js +11 -11
  166. package/src/operations/transforms/rotate.js +12 -12
  167. package/src/operations/transforms/scale.js +19 -19
  168. package/src/operations/transforms/transform.js +3 -3
  169. package/src/operations/transforms/translate.js +14 -14
  170. package/src/primitives/arc.js +1 -1
  171. package/src/primitives/cylinderElliptic.test.js +0 -2
  172. package/src/primitives/ellipse.js +1 -1
  173. package/src/primitives/ellipsoid.js +1 -1
  174. package/src/primitives/ellipsoid.test.js +0 -2
  175. package/src/primitives/geodesicSphere.d.ts +0 -1
  176. package/src/primitives/geodesicSphere.js +2 -2
  177. package/src/primitives/polyhedron.js +1 -1
  178. package/src/primitives/roundedCylinder.js +1 -1
  179. package/src/primitives/torus.d.ts +0 -1
  180. package/src/primitives/triangle.js +2 -2
  181. package/src/text/vectorText.js +2 -2
  182. package/src/utils/insertSorted.js +1 -0
  183. package/src/utils/padArrayToLength.js +1 -1
  184. package/test/helpers/comparePolygons.js +1 -3
  185. package/test/helpers/nearlyEqual.js +2 -6
package/CHANGELOG.md CHANGED
@@ -3,6 +3,52 @@
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.8.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/modeling@2.7.2...@jscad/modeling@2.8.0) (2022-03-06)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **modeling:** fixed type of relativeTo in align() options, TS ([#1015](https://github.com/jscad/OpenJSCAD.org/issues/1015)) ([ca4927e](https://github.com/jscad/OpenJSCAD.org/commit/ca4927eb37b21a7c278b46375b788c808d235e77))
12
+
13
+
14
+ ### Features
15
+
16
+ * **modeling:** enchanced extrudeLinear to support path2 ([#1009](https://github.com/jscad/OpenJSCAD.org/issues/1009)) ([5a62a6b](https://github.com/jscad/OpenJSCAD.org/commit/5a62a6b9fe4cca9f85ff48be0dc12cdd1323f70a))
17
+
18
+
19
+ ### Performance Improvements
20
+
21
+ * **modeling:** improved performace of path2 offsets ([#1013](https://github.com/jscad/OpenJSCAD.org/issues/1013)) ([47f824b](https://github.com/jscad/OpenJSCAD.org/commit/47f824b5abe2b31077a03604ac62f9b14ada64d9))
22
+ * **modeling:** improved performance of expanding geom3, and bug fix ([#1008](https://github.com/jscad/OpenJSCAD.org/issues/1008)) ([d0d035a](https://github.com/jscad/OpenJSCAD.org/commit/d0d035a5d94eaff8de7360fe96e60cc496231eef))
23
+ * **modeling:** use Set to create unique points in hullPath2 ([#1007](https://github.com/jscad/OpenJSCAD.org/issues/1007)) ([bd75a98](https://github.com/jscad/OpenJSCAD.org/commit/bd75a9870d614796a64a25fb874b5e77ad359e6f))
24
+
25
+
26
+
27
+
28
+
29
+ ## [2.7.2](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/modeling@2.7.1...@jscad/modeling@2.7.2) (2022-02-19)
30
+
31
+
32
+ ### Performance Improvements
33
+
34
+ * **modeling:** changed geom2.toOutlines to use a map when creating unique edges ([#997](https://github.com/jscad/OpenJSCAD.org/issues/997)) ([338065f](https://github.com/jscad/OpenJSCAD.org/commit/338065fa37041a41e66cbe648ba2080239f3db97))
35
+ * **modeling:** Use hypot instead of sqrt when possible ([#996](https://github.com/jscad/OpenJSCAD.org/issues/996)) ([113c636](https://github.com/jscad/OpenJSCAD.org/commit/113c636b1ac33e351c97789eb6ce0a546365141e))
36
+
37
+
38
+
39
+
40
+
41
+ ## [2.7.1](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/modeling@2.7.0...@jscad/modeling@2.7.1) (2021-12-26)
42
+
43
+
44
+ ### Bug Fixes
45
+
46
+ * **modeling:** revert measureBoundingBox to only cache per geometry ([#967](https://github.com/jscad/OpenJSCAD.org/issues/967)) ([b18c02c](https://github.com/jscad/OpenJSCAD.org/commit/b18c02c333b225981a9093caf0593795bc0861ad))
47
+
48
+
49
+
50
+
51
+
6
52
  # [2.7.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/modeling@2.6.1...@jscad/modeling@2.7.0) (2021-12-11)
7
53
 
8
54