brepjs 18.61.0 → 18.62.1

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 (76) hide show
  1. package/README.md +30 -0
  2. package/dist/2d.cjs +6 -6
  3. package/dist/2d.js +6 -6
  4. package/dist/{blueprint-U7q8mCkd.js → blueprint-C6RmibWk.js} +5 -5
  5. package/dist/{blueprint-oAHtiBNZ.cjs → blueprint-DLu8ye65.cjs} +5 -5
  6. package/dist/{blueprintFns-BXIg6yIJ.cjs → blueprintFns-DV-H9feq.cjs} +2 -2
  7. package/dist/{blueprintFns-B430IS5G.js → blueprintFns-Dq_Pd0wn.js} +2 -2
  8. package/dist/{blueprintSketcher-BMy4GYLb.cjs → blueprintSketcher-CHXFt247.cjs} +3 -3
  9. package/dist/{blueprintSketcher-CpYK3eMF.js → blueprintSketcher-LjvOXfG9.js} +3 -3
  10. package/dist/{boolean2D-BVGfOj7k.js → boolean2D-CXgu27uZ.js} +4 -4
  11. package/dist/{boolean2D-CalRrd7P.cjs → boolean2D-Yi64P8Lm.cjs} +4 -4
  12. package/dist/{booleanFns-BF1OlY3H.js → booleanFns-BDQnkWFg.js} +4 -4
  13. package/dist/{booleanFns-CejWQwHg.cjs → booleanFns-Dc6okcNf.cjs} +4 -4
  14. package/dist/brepjs.cjs +24 -24
  15. package/dist/brepjs.js +24 -24
  16. package/dist/{cameraFns-CDmeZqa_.js → cameraFns-0-J1bY6t.js} +2 -2
  17. package/dist/{cameraFns-DkasWoY3.cjs → cameraFns-DomX3Plu.cjs} +2 -2
  18. package/dist/core.cjs +1 -1
  19. package/dist/core.js +1 -1
  20. package/dist/{cornerFinder-mUvhWdNG.js → cornerFinder-CegWolhx.js} +1 -1
  21. package/dist/{cornerFinder-mHD8eDmo.cjs → cornerFinder-ClMOrRzh.cjs} +1 -1
  22. package/dist/{curveFns-Ba1IEqn_.cjs → curveFns-DbKwrIkB.cjs} +1 -1
  23. package/dist/{curveFns-C_va_3Js.js → curveFns-Sd40KJvV.js} +1 -1
  24. package/dist/{drawFns-DGENZIVf.cjs → drawFns-C8SC0CG1.cjs} +12 -12
  25. package/dist/{drawFns-zcgjasyw.js → drawFns-DQqbUdj_.js} +12 -12
  26. package/dist/{extrudeFns-DiIGGA5r.cjs → extrudeFns-BE5tD51l.cjs} +1 -1
  27. package/dist/{extrudeFns-BkOhPexa.js → extrudeFns-g_5oi_Z7.js} +1 -1
  28. package/dist/{faceFns-eCr0tWic.cjs → faceFns-BQTKMhAC.cjs} +2 -2
  29. package/dist/{faceFns-DUmTMdax.js → faceFns-Bbix8B9u.js} +2 -2
  30. package/dist/{helpers-Cpw0iU4L.cjs → helpers-BfHmMhUR.cjs} +6 -6
  31. package/dist/{helpers-C7WpHbhO.js → helpers-Dd-L1roG.js} +6 -6
  32. package/dist/{historyFns-BVNMHteL.js → historyFns-B9o7aDyd.js} +4 -4
  33. package/dist/{historyFns-B5zXm33l.cjs → historyFns-BarNZqzL.cjs} +4 -4
  34. package/dist/{importFns-BQEVbZwt.cjs → importFns-B5lQLt1L.cjs} +2 -2
  35. package/dist/{importFns-DcUisQj3.js → importFns-lLr9YlOX.js} +2 -2
  36. package/dist/io.cjs +2 -2
  37. package/dist/io.js +2 -2
  38. package/dist/{measureFns-BdYuCuf9.js → measureFns-Bd4JAmjS.js} +3 -3
  39. package/dist/{measureFns-Bve7WG1g.cjs → measureFns-C4vQUvbq.cjs} +3 -3
  40. package/dist/measurement.cjs +1 -1
  41. package/dist/measurement.js +1 -1
  42. package/dist/{meshFns-Hxj3Vngd.cjs → meshFns-Dpfjcbrg.cjs} +3 -3
  43. package/dist/{meshFns-BtjQFcwe.js → meshFns-DykZRUnb.js} +3 -3
  44. package/dist/operations.cjs +2 -2
  45. package/dist/operations.js +2 -2
  46. package/dist/{primitiveFns-n-OA8SFM.cjs → primitiveFns-CW8_7RPe.cjs} +7 -7
  47. package/dist/{primitiveFns-ODt9feUB.js → primitiveFns-vOwZZo8w.js} +7 -7
  48. package/dist/projection.cjs +1 -1
  49. package/dist/projection.js +1 -1
  50. package/dist/query.cjs +2 -2
  51. package/dist/query.js +2 -2
  52. package/dist/{shapeFns-Dl7cAveQ.cjs → shapeFns-B7G5VsUD.cjs} +2 -2
  53. package/dist/{shapeFns-CGiJTWpD.js → shapeFns-xQvCdTPe.js} +2 -2
  54. package/dist/shapeRef.cjs +1 -1
  55. package/dist/shapeRef.js +1 -1
  56. package/dist/{shapeRefFns-CqLB7rA2.js → shapeRefFns-CAdRRwOu.js} +4 -4
  57. package/dist/{shapeRefFns-DppFONN_.cjs → shapeRefFns-DNMvu2Nc.cjs} +4 -4
  58. package/dist/{shapeTypes-DgN4lV-c.cjs → shapeTypes-DVlIrfVF.cjs} +103 -117
  59. package/dist/{shapeTypes-BGeihZZ2.js → shapeTypes-DsbDmdSa.js} +103 -117
  60. package/dist/sketching.cjs +3 -3
  61. package/dist/sketching.js +3 -3
  62. package/dist/{solidBuilders-C8x5hl-i.cjs → solidBuilders-BPfkZU5h.cjs} +2 -2
  63. package/dist/{solidBuilders-C_i7lfl1.js → solidBuilders-vD_StQ_i.js} +2 -2
  64. package/dist/{surfaceBuilders-OuKORf6n.js → surfaceBuilders-2qnBuaeF.js} +2 -2
  65. package/dist/{surfaceBuilders-8Q5NVxkT.cjs → surfaceBuilders-Bj6wi_Vf.cjs} +2 -2
  66. package/dist/text.cjs +2 -2
  67. package/dist/text.js +2 -2
  68. package/dist/{textBlueprints-CMszuH5i.cjs → textBlueprints-CrXC83B_.cjs} +7 -7
  69. package/dist/{textBlueprints-CjWzCUDy.js → textBlueprints-WI8cd6vk.js} +7 -7
  70. package/dist/{textMetrics-ogNOndAW.cjs → textMetrics-BkLQQDnZ.cjs} +1 -1
  71. package/dist/{textMetrics-nDL3MTCV.js → textMetrics-C4zPIVKl.js} +1 -1
  72. package/dist/topology.cjs +7 -7
  73. package/dist/topology.js +7 -7
  74. package/dist/{topologyQueryFns-CTq8qOKc.cjs → topologyQueryFns-C1iv5CpR.cjs} +1 -1
  75. package/dist/{topologyQueryFns-B_zXrMDh.js → topologyQueryFns-CCLGa2wQ.js} +1 -1
  76. package/package.json +1 -1
package/README.md CHANGED
@@ -103,6 +103,36 @@ Layer 0 kernel/, utils/ WASM bindings
103
103
 
104
104
  Imports flow downward only. Boundaries are enforced in CI.
105
105
 
106
+ ## Authoring CAD with AI (brepjs-verify)
107
+
108
+ [`brepjs-verify`](https://www.npmjs.com/package/brepjs-verify) helps an AI agent (or you) author parametric CAD in brepjs and **prove it is correct** before handing it off. An LLM can't see geometry — so it writes a `.brep.ts` part, runs it on a real kernel, and reads a deterministic report instead of guessing from how the code reads. It ships as two cooperating pieces: a **Claude Code skill** (the authoring loop) and a **verification CLI** (validity + measured dimensions + multi-view snapshots + STEP export).
109
+
110
+ Install both — they ride on two rails:
111
+
112
+ ```bash
113
+ # 1. The skill — Claude Code plugin (delivered via this repo's marketplace)
114
+ /plugin marketplace add andymai/brepjs
115
+ /plugin install brepjs-verify@brepjs
116
+
117
+ # 2. The runtime — the CLI the skill drives
118
+ npm i -D brepjs-verify
119
+ ```
120
+
121
+ `brepjs-verify` bundles its own `brepjs` + `occt-wasm`, so it runs in an empty directory; inside an existing brepjs project it prefers your installed versions so verified parts match what you ship. A model is a module that default-exports a zero-arg function returning a shape:
122
+
123
+ ```typescript
124
+ // bracket.brep.ts
125
+ import { box } from 'brepjs';
126
+ export const expected = { volume: 8000, tolerancePct: 1 }; // optional: assert intent
127
+ export default () => box(40, 20, 10, { centered: true });
128
+ ```
129
+
130
+ ```bash
131
+ npx -y brepjs-verify bracket.brep.ts --check --step bracket.step --json report.json
132
+ ```
133
+
134
+ The command exits non-zero unless the report is `ok` (valid **and** every declared dimension within tolerance), so it drops straight into CI or an agent loop. See the [**Authoring with AI**](https://brepjs.dev/agent/overview) guide for the full loop, CLI reference, examples, and the measurement eval.
135
+
106
136
  ## Projects Using brepjs
107
137
 
108
138
  - [Gridfinity Layout Tool](https://github.com/andymai/gridfinity-layout-tool): Web-based layout generator for Gridfinity storage systems
package/dist/2d.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_shapeTypes = require("./shapeTypes-DgN4lV-c.cjs");
2
+ const require_shapeTypes = require("./shapeTypes-DVlIrfVF.cjs");
3
3
  const require_errors = require("./errors-CXJtc4I7.cjs");
4
- const require_topologyQueryFns = require("./topologyQueryFns-CTq8qOKc.cjs");
5
- const require_blueprintSketcher = require("./blueprintSketcher-BMy4GYLb.cjs");
6
- const require_blueprint = require("./blueprint-oAHtiBNZ.cjs");
7
- const require_boolean2D = require("./boolean2D-CalRrd7P.cjs");
8
- const require_blueprintFns = require("./blueprintFns-BXIg6yIJ.cjs");
4
+ const require_topologyQueryFns = require("./topologyQueryFns-C1iv5CpR.cjs");
5
+ const require_blueprintSketcher = require("./blueprintSketcher-CHXFt247.cjs");
6
+ const require_blueprint = require("./blueprint-DLu8ye65.cjs");
7
+ const require_boolean2D = require("./boolean2D-Yi64P8Lm.cjs");
8
+ const require_blueprintFns = require("./blueprintFns-DV-H9feq.cjs");
9
9
  //#region src/core/curve2dHandle.ts
10
10
  /**
11
11
  * Wrap a raw kernel 2D curve handle with brand + disposal tracking.
package/dist/2d.js CHANGED
@@ -1,10 +1,10 @@
1
- import { B as createKernelHandle, Q as getKernel2D, a as createEdge } from "./shapeTypes-BGeihZZ2.js";
1
+ import { B as createKernelHandle, Q as getKernel2D, a as createEdge } from "./shapeTypes-DsbDmdSa.js";
2
2
  import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
3
- import { w as kernelCallRaw } from "./topologyQueryFns-B_zXrMDh.js";
4
- import { a as Blueprints, i as CompoundBlueprint, r as organiseBlueprints } from "./blueprintSketcher-CpYK3eMF.js";
5
- import { _ as Curve2D, t as Blueprint, y as BoundingBox2d } from "./blueprint-U7q8mCkd.js";
6
- import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-BVGfOj7k.js";
7
- import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-B430IS5G.js";
3
+ import { w as kernelCallRaw } from "./topologyQueryFns-CCLGa2wQ.js";
4
+ import { a as Blueprints, i as CompoundBlueprint, r as organiseBlueprints } from "./blueprintSketcher-LjvOXfG9.js";
5
+ import { _ as Curve2D, t as Blueprint, y as BoundingBox2d } from "./blueprint-C6RmibWk.js";
6
+ import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-CXgu27uZ.js";
7
+ import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-Dq_Pd0wn.js";
8
8
  //#region src/core/curve2dHandle.ts
9
9
  /**
10
10
  * Wrap a raw kernel 2D curve handle with brand + disposal tracking.
@@ -1,14 +1,14 @@
1
- import { G as unregisterFromCleanup, Q as getKernel2D, U as registerForCleanup, Z as getKernel, a as createEdge, u as createWire } from "./shapeTypes-BGeihZZ2.js";
1
+ import { G as unregisterFromCleanup, Q as getKernel2D, U as registerForCleanup, Z as getKernel, a as createEdge, u as createWire } from "./shapeTypes-DsbDmdSa.js";
2
2
  import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
3
3
  import { A as ok, R as unwrap, b as err, d as validationError, h as bug, n as computationError } from "./errors-DNWJsfVU.js";
4
4
  import { r as RAD2DEG, t as DEG2RAD } from "./constants-ITRzCnCp.js";
5
5
  import { r as toVec3 } from "./types-D24Y27N0.js";
6
6
  import { r as makePlane } from "./planeOps-DSjjtrjg.js";
7
- import { g as cast, m as uvCoordinates, n as faceCenter, p as uvBounds, r as faceGeomType } from "./faceFns-DUmTMdax.js";
8
- import { f as getOrientation } from "./curveFns-C_va_3Js.js";
7
+ import { g as cast, m as uvCoordinates, n as faceCenter, p as uvBounds, r as faceGeomType } from "./faceFns-Bbix8B9u.js";
8
+ import { f as getOrientation } from "./curveFns-Sd40KJvV.js";
9
9
  import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
10
- import { r as makeFace } from "./surfaceBuilders-OuKORf6n.js";
11
- import { _ as samePoint, b as subtract2d, l as add2d, o as normalize2d, p as distance2d, t as getSingleFace, v as scalarMultiply2d } from "./helpers-C7WpHbhO.js";
10
+ import { r as makeFace } from "./surfaceBuilders-2qnBuaeF.js";
11
+ import { _ as samePoint, b as subtract2d, l as add2d, o as normalize2d, p as distance2d, t as getSingleFace, v as scalarMultiply2d } from "./helpers-Dd-L1roG.js";
12
12
  //#region src/2d/lib/definitions.ts
13
13
  /** Type guard that checks whether a value is a `Point2D`. */
14
14
  function isPoint2D(point) {
@@ -1,14 +1,14 @@
1
- const require_shapeTypes = require("./shapeTypes-DgN4lV-c.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DVlIrfVF.cjs");
2
2
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
3
3
  const require_errors = require("./errors-CXJtc4I7.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  const require_types = require("./types-KjA8tY4Y.cjs");
6
6
  const require_planeOps = require("./planeOps-BA4HfgQu.cjs");
7
- const require_faceFns = require("./faceFns-eCr0tWic.cjs");
8
- const require_curveFns = require("./curveFns-Ba1IEqn_.cjs");
7
+ const require_faceFns = require("./faceFns-BQTKMhAC.cjs");
8
+ const require_curveFns = require("./curveFns-DbKwrIkB.cjs");
9
9
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
10
- const require_surfaceBuilders = require("./surfaceBuilders-8Q5NVxkT.cjs");
11
- const require_helpers = require("./helpers-Cpw0iU4L.cjs");
10
+ const require_surfaceBuilders = require("./surfaceBuilders-Bj6wi_Vf.cjs");
11
+ const require_helpers = require("./helpers-BfHmMhUR.cjs");
12
12
  //#region src/2d/lib/definitions.ts
13
13
  /** Type guard that checks whether a value is a `Point2D`. */
14
14
  function isPoint2D(point) {
@@ -1,6 +1,6 @@
1
1
  const require_errors = require("./errors-CXJtc4I7.cjs");
2
- const require_blueprintSketcher = require("./blueprintSketcher-BMy4GYLb.cjs");
3
- const require_blueprint = require("./blueprint-oAHtiBNZ.cjs");
2
+ const require_blueprintSketcher = require("./blueprintSketcher-CHXFt247.cjs");
3
+ const require_blueprint = require("./blueprint-DLu8ye65.cjs");
4
4
  //#region src/2d/lib/curve2dFns.ts
5
5
  /**
6
6
  * Return a reversed copy of the curve (non-mutating).
@@ -1,6 +1,6 @@
1
1
  import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
2
- import { i as CompoundBlueprint } from "./blueprintSketcher-CpYK3eMF.js";
3
- import { t as Blueprint } from "./blueprint-U7q8mCkd.js";
2
+ import { i as CompoundBlueprint } from "./blueprintSketcher-LjvOXfG9.js";
3
+ import { t as Blueprint } from "./blueprint-C6RmibWk.js";
4
4
  //#region src/2d/lib/curve2dFns.ts
5
5
  /**
6
6
  * Return a reversed copy of the curve (non-mutating).
@@ -1,10 +1,10 @@
1
- const require_shapeTypes = require("./shapeTypes-DgN4lV-c.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DVlIrfVF.cjs");
2
2
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
3
3
  const require_errors = require("./errors-CXJtc4I7.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
6
- const require_helpers = require("./helpers-Cpw0iU4L.cjs");
7
- const require_blueprint = require("./blueprint-oAHtiBNZ.cjs");
6
+ const require_helpers = require("./helpers-BfHmMhUR.cjs");
7
+ const require_blueprint = require("./blueprint-DLu8ye65.cjs");
8
8
  //#region node_modules/flatqueue/index.js
9
9
  /** @template T */
10
10
  var FlatQueue = class {
@@ -1,10 +1,10 @@
1
- import { Q as getKernel2D, Z as getKernel } from "./shapeTypes-BGeihZZ2.js";
1
+ import { Q as getKernel2D, Z as getKernel } from "./shapeTypes-DsbDmdSa.js";
2
2
  import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
3
3
  import { A as ok, R as unwrap, T as isOk, b as err, h as bug, n as computationError, s as safeIndex } from "./errors-DNWJsfVU.js";
4
4
  import { r as RAD2DEG, t as DEG2RAD } from "./constants-ITRzCnCp.js";
5
5
  import { t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
6
- import { _ as samePoint, b as subtract2d, d as cartesianToPolar, f as crossProduct2d, g as rotate2d, h as polarToCartesian, l as add2d, m as polarAngle2d, o as normalize2d, p as distance2d, v as scalarMultiply2d } from "./helpers-C7WpHbhO.js";
7
- import { _ as Curve2D, c as make2dCircle, f as make2dSegmentCurve, h as approximateAsBSpline, m as make2dThreePointArc, n as asSVG, o as make2dArcFromCenter, p as make2dTangentArc, r as viewbox, s as make2dBezierCurve, t as Blueprint, u as make2dEllipseArc, x as isPoint2D, y as BoundingBox2d } from "./blueprint-U7q8mCkd.js";
6
+ import { _ as samePoint, b as subtract2d, d as cartesianToPolar, f as crossProduct2d, g as rotate2d, h as polarToCartesian, l as add2d, m as polarAngle2d, o as normalize2d, p as distance2d, v as scalarMultiply2d } from "./helpers-Dd-L1roG.js";
7
+ import { _ as Curve2D, c as make2dCircle, f as make2dSegmentCurve, h as approximateAsBSpline, m as make2dThreePointArc, n as asSVG, o as make2dArcFromCenter, p as make2dTangentArc, r as viewbox, s as make2dBezierCurve, t as Blueprint, u as make2dEllipseArc, x as isPoint2D, y as BoundingBox2d } from "./blueprint-C6RmibWk.js";
8
8
  //#region node_modules/flatqueue/index.js
9
9
  /** @template T */
10
10
  var FlatQueue = class {
@@ -1,10 +1,10 @@
1
1
  import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
2
2
  import { R as unwrap, h as bug, s as safeIndex } from "./errors-DNWJsfVU.js";
3
3
  import { r as lastOrThrow } from "./arrayAccess-DrUGPADn.js";
4
- import { v as zip } from "./surfaceBuilders-OuKORf6n.js";
5
- import { a as Blueprints, i as CompoundBlueprint, l as intersectCurves, r as organiseBlueprints, t as BlueprintSketcher, u as Flatbush } from "./blueprintSketcher-CpYK3eMF.js";
6
- import { _ as samePoint$1, b as subtract2d, f as crossProduct2d, s as PRECISION_INTERSECTION } from "./helpers-C7WpHbhO.js";
7
- import { b as removeDuplicatePoints, f as make2dSegmentCurve, t as Blueprint } from "./blueprint-U7q8mCkd.js";
4
+ import { v as zip } from "./surfaceBuilders-2qnBuaeF.js";
5
+ import { a as Blueprints, i as CompoundBlueprint, l as intersectCurves, r as organiseBlueprints, t as BlueprintSketcher, u as Flatbush } from "./blueprintSketcher-LjvOXfG9.js";
6
+ import { _ as samePoint$1, b as subtract2d, f as crossProduct2d, s as PRECISION_INTERSECTION } from "./helpers-Dd-L1roG.js";
7
+ import { b as removeDuplicatePoints, f as make2dSegmentCurve, t as Blueprint } from "./blueprint-C6RmibWk.js";
8
8
  //#region src/2d/blueprints/cannedBlueprints.ts
9
9
  /**
10
10
  * Create a regular polygon blueprint inscribed in a circle of the given radius.
@@ -1,10 +1,10 @@
1
1
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
3
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
4
- const require_surfaceBuilders = require("./surfaceBuilders-8Q5NVxkT.cjs");
5
- const require_blueprintSketcher = require("./blueprintSketcher-BMy4GYLb.cjs");
6
- const require_helpers = require("./helpers-Cpw0iU4L.cjs");
7
- const require_blueprint = require("./blueprint-oAHtiBNZ.cjs");
4
+ const require_surfaceBuilders = require("./surfaceBuilders-Bj6wi_Vf.cjs");
5
+ const require_blueprintSketcher = require("./blueprintSketcher-CHXFt247.cjs");
6
+ const require_helpers = require("./helpers-BfHmMhUR.cjs");
7
+ const require_blueprint = require("./blueprint-DLu8ye65.cjs");
8
8
  //#region src/2d/blueprints/cannedBlueprints.ts
9
9
  /**
10
10
  * Create a regular polygon blueprint inscribed in a circle of the given radius.
@@ -1,12 +1,12 @@
1
- import { Z as getKernel, h as isShape3D, t as castShape } from "./shapeTypes-BGeihZZ2.js";
1
+ import { Z as getKernel, h as isShape3D, t as castShape } from "./shapeTypes-DsbDmdSa.js";
2
2
  import { A as ok, R as unwrap, b as err, d as validationError, i as kernelError, l as typeCastError, t as BrepErrorCode, w as isErr } from "./errors-DNWJsfVU.js";
3
- import { f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-B_zXrMDh.js";
3
+ import { f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-CCLGa2wQ.js";
4
4
  import { n as HASH_CODE_MAX } from "./constants-ITRzCnCp.js";
5
5
  import { h as vecScale, t as vecAdd } from "./vecOps-SKPRvPH-.js";
6
6
  import { o as resolvePlane } from "./planeOps-DSjjtrjg.js";
7
- import { _ as propagateAllMetadata, g as collectInputFaceHashes, v as propagateMetadataByHash } from "./shapeFns-CGiJTWpD.js";
7
+ import { _ as propagateAllMetadata, g as collectInputFaceHashes, v as propagateMetadataByHash } from "./shapeFns-xQvCdTPe.js";
8
8
  import { n as getAtOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
9
- import { r as makeFace } from "./surfaceBuilders-OuKORf6n.js";
9
+ import { r as makeFace } from "./surfaceBuilders-2qnBuaeF.js";
10
10
  //#region src/topology/booleanFns.ts
11
11
  /**
12
12
  * Boolean and compound operations — functional replacements for _3DShape boolean methods.
@@ -1,12 +1,12 @@
1
- const require_shapeTypes = require("./shapeTypes-DgN4lV-c.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DVlIrfVF.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-CTq8qOKc.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-C1iv5CpR.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
6
6
  const require_planeOps = require("./planeOps-BA4HfgQu.cjs");
7
- const require_shapeFns = require("./shapeFns-Dl7cAveQ.cjs");
7
+ const require_shapeFns = require("./shapeFns-B7G5VsUD.cjs");
8
8
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
9
- const require_surfaceBuilders = require("./surfaceBuilders-8Q5NVxkT.cjs");
9
+ const require_surfaceBuilders = require("./surfaceBuilders-Bj6wi_Vf.cjs");
10
10
  //#region src/topology/booleanFns.ts
11
11
  /**
12
12
  * Boolean and compound operations — functional replacements for _3DShape boolean methods.
package/dist/brepjs.cjs CHANGED
@@ -1,36 +1,36 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_textBlueprints = require("./textBlueprints-CMszuH5i.cjs");
3
- const require_shapeTypes = require("./shapeTypes-DgN4lV-c.cjs");
2
+ const require_textBlueprints = require("./textBlueprints-CrXC83B_.cjs");
3
+ const require_shapeTypes = require("./shapeTypes-DVlIrfVF.cjs");
4
4
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
5
5
  const require_occtWasmAdapter = require("./occtWasmAdapter-BuIYbIwy.cjs");
6
6
  const require_errors = require("./errors-CXJtc4I7.cjs");
7
- const require_topologyQueryFns = require("./topologyQueryFns-CTq8qOKc.cjs");
7
+ const require_topologyQueryFns = require("./topologyQueryFns-C1iv5CpR.cjs");
8
8
  const require_constants = require("./constants-BOVyEYGH.cjs");
9
9
  const require_types = require("./types-KjA8tY4Y.cjs");
10
10
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
11
11
  const require_planeOps = require("./planeOps-BA4HfgQu.cjs");
12
- const require_faceFns = require("./faceFns-eCr0tWic.cjs");
13
- const require_shapeFns = require("./shapeFns-Dl7cAveQ.cjs");
14
- const require_curveFns = require("./curveFns-Ba1IEqn_.cjs");
15
- const require_meshFns = require("./meshFns-Hxj3Vngd.cjs");
12
+ const require_faceFns = require("./faceFns-BQTKMhAC.cjs");
13
+ const require_shapeFns = require("./shapeFns-B7G5VsUD.cjs");
14
+ const require_curveFns = require("./curveFns-DbKwrIkB.cjs");
15
+ const require_meshFns = require("./meshFns-Dpfjcbrg.cjs");
16
16
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
17
- const require_surfaceBuilders = require("./surfaceBuilders-8Q5NVxkT.cjs");
18
- const require_booleanFns = require("./booleanFns-CejWQwHg.cjs");
19
- const require_primitiveFns = require("./primitiveFns-n-OA8SFM.cjs");
20
- const require_historyFns = require("./historyFns-B5zXm33l.cjs");
21
- const require_blueprintSketcher = require("./blueprintSketcher-BMy4GYLb.cjs");
22
- const require_helpers = require("./helpers-Cpw0iU4L.cjs");
23
- const require_drawFns = require("./drawFns-DGENZIVf.cjs");
24
- const require_solidBuilders = require("./solidBuilders-C8x5hl-i.cjs");
25
- const require_measureFns = require("./measureFns-Bve7WG1g.cjs");
26
- const require_cornerFinder = require("./cornerFinder-mHD8eDmo.cjs");
27
- const require_boolean2D = require("./boolean2D-CalRrd7P.cjs");
28
- const require_blueprintFns = require("./blueprintFns-BXIg6yIJ.cjs");
29
- const require_importFns = require("./importFns-BQEVbZwt.cjs");
30
- const require_extrudeFns = require("./extrudeFns-DiIGGA5r.cjs");
31
- const require_cameraFns = require("./cameraFns-DkasWoY3.cjs");
32
- const require_textMetrics = require("./textMetrics-ogNOndAW.cjs");
33
- const require_shapeRefFns = require("./shapeRefFns-DppFONN_.cjs");
17
+ const require_surfaceBuilders = require("./surfaceBuilders-Bj6wi_Vf.cjs");
18
+ const require_booleanFns = require("./booleanFns-Dc6okcNf.cjs");
19
+ const require_primitiveFns = require("./primitiveFns-CW8_7RPe.cjs");
20
+ const require_historyFns = require("./historyFns-BarNZqzL.cjs");
21
+ const require_blueprintSketcher = require("./blueprintSketcher-CHXFt247.cjs");
22
+ const require_helpers = require("./helpers-BfHmMhUR.cjs");
23
+ const require_drawFns = require("./drawFns-C8SC0CG1.cjs");
24
+ const require_solidBuilders = require("./solidBuilders-BPfkZU5h.cjs");
25
+ const require_measureFns = require("./measureFns-C4vQUvbq.cjs");
26
+ const require_cornerFinder = require("./cornerFinder-ClMOrRzh.cjs");
27
+ const require_boolean2D = require("./boolean2D-Yi64P8Lm.cjs");
28
+ const require_blueprintFns = require("./blueprintFns-DV-H9feq.cjs");
29
+ const require_importFns = require("./importFns-B5lQLt1L.cjs");
30
+ const require_extrudeFns = require("./extrudeFns-BE5tD51l.cjs");
31
+ const require_cameraFns = require("./cameraFns-DomX3Plu.cjs");
32
+ const require_textMetrics = require("./textMetrics-BkLQQDnZ.cjs");
33
+ const require_shapeRefFns = require("./shapeRefFns-DNMvu2Nc.cjs");
34
34
  const require_workerHandler = require("./workerHandler-CdlOTwJg.cjs");
35
35
  //#region src/topology/shapeBooleans.ts
36
36
  var BOPAlgo_GlueShift = 1;
package/dist/brepjs.js CHANGED
@@ -1,35 +1,35 @@
1
- import { $ as init, A as planarWire, B as createKernelHandle, C as isOrientedFace, D as manifoldShell, E as isValidSolid, F as as3D, H as isLive, I as is2D, J as withScopeResultAsync, K as withScope, L as is3D, M as getShapeKind, O as orientedFace, P as as2D, R as DisposalScope, S as isManifoldShell, T as isPlanarWire, V as getDisposalStats, W as resetDisposalStats, X as getActiveKernelId, Y as _usingCtx, Z as getKernel, _ as isSolid, a as createEdge, at as supportsConstraintSketch, b as closedWire, c as createSolid, ct as getPerformanceStats, d as isCompound, et as initFromManifold, f as isEdge, g as isShell, h as isShape3D, i as createCompound, it as withKernel, j as validSolid, k as planarFace, l as createVertex, lt as resetPerformanceStats, m as isShape1D, n as castShape3D, nt as prewarm, o as createFace, ot as supportsProjection, p as isFace, q as withScopeResult, rt as registerKernel, s as createShell, st as BrepkitAdapter, t as castShape, tt as initFromOC, u as createWire, v as isVertex, w as isPlanarFace, x as isClosedWire, y as isWire, z as createHandle } from "./shapeTypes-BGeihZZ2.js";
1
+ import { $ as init, A as planarWire, B as createKernelHandle, C as isOrientedFace, D as manifoldShell, E as isValidSolid, F as as3D, H as isLive, I as is2D, J as withScopeResultAsync, K as withScope, L as is3D, M as getShapeKind, O as orientedFace, P as as2D, R as DisposalScope, S as isManifoldShell, T as isPlanarWire, V as getDisposalStats, W as resetDisposalStats, X as getActiveKernelId, Y as _usingCtx, Z as getKernel, _ as isSolid, a as createEdge, at as supportsConstraintSketch, b as closedWire, c as createSolid, ct as getPerformanceStats, d as isCompound, et as initFromManifold, f as isEdge, g as isShell, h as isShape3D, i as createCompound, it as withKernel, j as validSolid, k as planarFace, l as createVertex, lt as resetPerformanceStats, m as isShape1D, n as castShape3D, nt as prewarm, o as createFace, ot as supportsProjection, p as isFace, q as withScopeResult, rt as registerKernel, s as createShell, st as BrepkitAdapter, t as castShape, tt as initFromOC, u as createWire, v as isVertex, w as isPlanarFace, x as isClosedWire, y as isWire, z as createHandle } from "./shapeTypes-DsbDmdSa.js";
2
2
  import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
3
3
  import { t as OcctWasmAdapter } from "./occtWasmAdapter-B0PIezOZ.js";
4
4
  import { A as ok, B as unwrapOr, C as fromNullable, D as mapBoth, E as map, F as tapErr, H as zip, I as tryCatch, L as tryCatchAsync, M as orElse, N as pipeline, O as mapErr, P as tap, R as unwrap, S as flatten, T as isOk, V as unwrapOrElse, _ as all, a as moduleInitError, b as err, c as sketcherStateError, d as validationError, g as OK, h as bug, i as kernelError, j as or, k as match, l as typeCastError, m as BrepBugError, n as computationError, o as queryError, r as ioError, t as BrepErrorCode, u as unsupportedError, v as andThen, w as isErr, x as flatMap, y as collect, z as unwrapErr } from "./errors-DNWJsfVU.js";
5
- import { C as kernelCall, S as vertexPosition, T as kernelCallScoped, _ as iterFaces, a as getCachedSurfaceType, b as iterVertices, c as getFaces, d as getSolids, f as getVertices, g as iterEdges, h as iterCompSolids, m as invalidateShapeCache, n as getBounds, o as getCompSolids, p as getWires, s as getEdges, t as describe$1, u as getShells, v as iterShells, w as kernelCallRaw, x as iterWires, y as iterSolids } from "./topologyQueryFns-B_zXrMDh.js";
5
+ import { C as kernelCall, S as vertexPosition, T as kernelCallScoped, _ as iterFaces, a as getCachedSurfaceType, b as iterVertices, c as getFaces, d as getSolids, f as getVertices, g as iterEdges, h as iterCompSolids, m as invalidateShapeCache, n as getBounds, o as getCompSolids, p as getWires, s as getEdges, t as describe$1, u as getShells, v as iterShells, w as kernelCallRaw, x as iterWires, y as iterSolids } from "./topologyQueryFns-CCLGa2wQ.js";
6
6
  import { n as HASH_CODE_MAX, r as RAD2DEG, t as DEG2RAD } from "./constants-ITRzCnCp.js";
7
7
  import { n as toVec2, r as toVec3, t as resolveDirection } from "./types-D24Y27N0.js";
8
8
  import { a as vecDot, c as vecLength, d as vecNormalize, f as vecProjectToPlane, g as vecSub, h as vecScale, i as vecDistance, l as vecLengthSq, m as vecRotate, n as vecAngle, o as vecEquals, p as vecRepr, r as vecCross, s as vecIsZero, t as vecAdd, u as vecNegate } from "./vecOps-SKPRvPH-.js";
9
9
  import { i as pivotPlane, n as createPlane, o as resolvePlane, r as makePlane, s as translatePlane, t as createNamedPlane } from "./planeOps-DSjjtrjg.js";
10
- import { _ as downcast, a as flipFaceOrientation, b as iterTopo, c as normalAt, d as projectPointOnFace, f as removeHolesFromFace, g as cast, h as asTopo, i as faceOrientation, l as outerWire, m as uvCoordinates, n as faceCenter, o as getSurfaceType, p as uvBounds, r as faceGeomType, s as innerWires, t as classifyPointOnFace, u as pointOnSurface, v as fromBREP, x as shapeType, y as isCompSolid } from "./faceFns-DUmTMdax.js";
11
- import { C as findFacesByTag, D as tagFaces, E as setTagMetadata, O as getFaceOrigins, S as getShapeColor, T as getTagMetadata, a as isSameShape, b as colorShape, c as applyMatrix$1, d as resize, f as rotate$2, h as translate$2, i as isEqualShape, k as setShapeOrigin, l as composeTransforms, m as transformCopy$1, n as getHashCode, o as simplify$1, p as scale$2, r as isEmpty$2, s as toBREP$1, t as clone$1, u as mirror$2, w as getFaceTags, x as getFaceColor, y as colorFaces } from "./shapeFns-CGiJTWpD.js";
12
- import { a as curveLength, c as curveStartPoint, d as getCurveType, f as getOrientation, i as curveIsPeriodic, l as curveTangentAt, m as offsetWire2D, n as curveEndPoint, o as curvePeriod, p as interpolateCurve, r as curveIsClosed, s as curvePointAt, t as approximateCurve, u as flipOrientation } from "./curveFns-C_va_3Js.js";
13
- import { a as meshEdges$1, c as createMeshCache, i as mesh$1, n as exportSTEP, o as meshMultiLOD, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-BtjQFcwe.js";
10
+ import { _ as downcast, a as flipFaceOrientation, b as iterTopo, c as normalAt, d as projectPointOnFace, f as removeHolesFromFace, g as cast, h as asTopo, i as faceOrientation, l as outerWire, m as uvCoordinates, n as faceCenter, o as getSurfaceType, p as uvBounds, r as faceGeomType, s as innerWires, t as classifyPointOnFace, u as pointOnSurface, v as fromBREP, x as shapeType, y as isCompSolid } from "./faceFns-Bbix8B9u.js";
11
+ import { C as findFacesByTag, D as tagFaces, E as setTagMetadata, O as getFaceOrigins, S as getShapeColor, T as getTagMetadata, a as isSameShape, b as colorShape, c as applyMatrix$1, d as resize, f as rotate$2, h as translate$2, i as isEqualShape, k as setShapeOrigin, l as composeTransforms, m as transformCopy$1, n as getHashCode, o as simplify$1, p as scale$2, r as isEmpty$2, s as toBREP$1, t as clone$1, u as mirror$2, w as getFaceTags, x as getFaceColor, y as colorFaces } from "./shapeFns-xQvCdTPe.js";
12
+ import { a as curveLength, c as curveStartPoint, d as getCurveType, f as getOrientation, i as curveIsPeriodic, l as curveTangentAt, m as offsetWire2D, n as curveEndPoint, o as curvePeriod, p as interpolateCurve, r as curveIsClosed, s as curvePointAt, t as approximateCurve, u as flipOrientation } from "./curveFns-Sd40KJvV.js";
13
+ import { a as meshEdges$1, c as createMeshCache, i as mesh$1, n as exportSTEP, o as meshMultiLOD, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-DykZRUnb.js";
14
14
  import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
15
- import { _ as makeThreePointArc, d as makeCircle, h as makeLine, l as makeBSplineInterpolation, n as fill, r as makeFace, s as assembleWire } from "./surfaceBuilders-OuKORf6n.js";
16
- import { a as fuseAll, c as sectionToFace$1, i as fuse$2, l as slice$1, n as cut$2, o as intersect$2, r as cutAll, s as section$1, t as booleanPipeline, u as split$1 } from "./booleanFns-BF1OlY3H.js";
17
- import { $ as fuseAllBisect, A as fixShape, B as offset$1, C as threePointArc, D as wireLoop, E as wire, F as isValid$1, G as chamferWithEvolution, H as thicken$1, I as solidFromShell, J as fuseWithEvolution, K as cutWithEvolution, L as chamfer$1, M as healFace, N as healSolid, O as autoHeal, P as healWire, Q as cutAllBisect, R as draft$1, S as tangentArc, T as vertex, U as variableFillet, V as shell$1, W as positionOnCurve, X as shellWithEvolution, Y as intersectWithEvolution, Z as checkBoolean, _ as polygon, a as circle, at as sharedEdges, b as sphere, c as cylinder, ct as chamferDistAngle, d as ellipsoid, dt as toLODGeometryData, et as getNurbsCurveData, f as face, ft as toLineGeometryData, g as offsetFace, h as line, i as bsplineApprox, it as facesOfEdge, j as heal$1, k as fixSelfIntersection, l as ellipse, lt as toBufferGeometryData, m as helix, n as bezier, nt as adjacentFaces, o as compound, ot as verticesOfEdge, p as filledFace, q as filletWithEvolution, r as box, rt as edgesOfFace, s as cone, st as wiresOfFace, t as addHoles, tt as getNurbsSurfaceData, u as ellipseArc, ut as toGroupedBufferGeometryData, v as sewShells, w as torus, x as subFace, y as solid, z as fillet$1 } from "./primitiveFns-ODt9feUB.js";
18
- import { C as walkAssembly, D as exportAssemblySTEP, E as linearPattern, O as createAssembly, S as updateNode, _ as collectShapes, a as findStep, b as findNode, c as registerOperation, d as replayHistory, f as serializeHistory, g as addChild, h as undoLast, i as deserializeHistory, l as registerShape, m as stepsFrom, n as createHistory, o as getShape, p as stepCount, r as createRegistry, s as modifyStep, t as addStep, u as replayFrom, v as countNodes, w as circularPattern, x as removeChild, y as createAssemblyNode } from "./historyFns-BVNMHteL.js";
19
- import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-CpYK3eMF.js";
20
- import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-C7WpHbhO.js";
21
- import { A as sketchEllipse, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-zcgjasyw.js";
22
- import { r as makeCylinder } from "./solidBuilders-C_i7lfl1.js";
23
- import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, i as measureCurvatureAtMid, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, r as measureCurvatureAt, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-BdYuCuf9.js";
24
- import { t as cornerFinder } from "./cornerFinder-mUvhWdNG.js";
25
- import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-BVGfOj7k.js";
26
- import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, n as createCompoundBlueprint, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-B430IS5G.js";
27
- import { a as importSVG, c as blueprintToDXF, d as exportGltf, f as exportOBJ, i as exportSTEPConfigured, l as exportDXF, n as importSTEP, o as importSVGPathD, r as importSTL, s as exportThreeMF, t as importIGES, u as exportGlb } from "./importFns-DcUisQj3.js";
28
- import { a as guidedSweep, c as sweep, i as complexExtrude, l as twistExtrude, n as extrudeAll, o as multiSectionSweep, r as revolve$1, s as supportExtrude, t as extrude$1 } from "./extrudeFns-BkOhPexa.js";
29
- import { a as Sketch, b as loftAll, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, n as getFont, o as compoundSketchExtrude, p as sketchRevolve, r as loadFont, s as compoundSketchFace, t as textBlueprints, u as sketchExtrude, v as CompoundSketch, y as loft$1 } from "./textBlueprints-CjWzCUDy.js";
30
- import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-CDmeZqa_.js";
31
- import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-nDL3MTCV.js";
32
- import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-CqLB7rA2.js";
15
+ import { _ as makeThreePointArc, d as makeCircle, h as makeLine, l as makeBSplineInterpolation, n as fill, r as makeFace, s as assembleWire } from "./surfaceBuilders-2qnBuaeF.js";
16
+ import { a as fuseAll, c as sectionToFace$1, i as fuse$2, l as slice$1, n as cut$2, o as intersect$2, r as cutAll, s as section$1, t as booleanPipeline, u as split$1 } from "./booleanFns-BDQnkWFg.js";
17
+ import { $ as fuseAllBisect, A as fixShape, B as offset$1, C as threePointArc, D as wireLoop, E as wire, F as isValid$1, G as chamferWithEvolution, H as thicken$1, I as solidFromShell, J as fuseWithEvolution, K as cutWithEvolution, L as chamfer$1, M as healFace, N as healSolid, O as autoHeal, P as healWire, Q as cutAllBisect, R as draft$1, S as tangentArc, T as vertex, U as variableFillet, V as shell$1, W as positionOnCurve, X as shellWithEvolution, Y as intersectWithEvolution, Z as checkBoolean, _ as polygon, a as circle, at as sharedEdges, b as sphere, c as cylinder, ct as chamferDistAngle, d as ellipsoid, dt as toLODGeometryData, et as getNurbsCurveData, f as face, ft as toLineGeometryData, g as offsetFace, h as line, i as bsplineApprox, it as facesOfEdge, j as heal$1, k as fixSelfIntersection, l as ellipse, lt as toBufferGeometryData, m as helix, n as bezier, nt as adjacentFaces, o as compound, ot as verticesOfEdge, p as filledFace, q as filletWithEvolution, r as box, rt as edgesOfFace, s as cone, st as wiresOfFace, t as addHoles, tt as getNurbsSurfaceData, u as ellipseArc, ut as toGroupedBufferGeometryData, v as sewShells, w as torus, x as subFace, y as solid, z as fillet$1 } from "./primitiveFns-vOwZZo8w.js";
18
+ import { C as walkAssembly, D as exportAssemblySTEP, E as linearPattern, O as createAssembly, S as updateNode, _ as collectShapes, a as findStep, b as findNode, c as registerOperation, d as replayHistory, f as serializeHistory, g as addChild, h as undoLast, i as deserializeHistory, l as registerShape, m as stepsFrom, n as createHistory, o as getShape, p as stepCount, r as createRegistry, s as modifyStep, t as addStep, u as replayFrom, v as countNodes, w as circularPattern, x as removeChild, y as createAssemblyNode } from "./historyFns-B9o7aDyd.js";
19
+ import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-LjvOXfG9.js";
20
+ import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-Dd-L1roG.js";
21
+ import { A as sketchEllipse, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-DQqbUdj_.js";
22
+ import { r as makeCylinder } from "./solidBuilders-vD_StQ_i.js";
23
+ import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, i as measureCurvatureAtMid, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, r as measureCurvatureAt, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-Bd4JAmjS.js";
24
+ import { t as cornerFinder } from "./cornerFinder-CegWolhx.js";
25
+ import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-CXgu27uZ.js";
26
+ import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, n as createCompoundBlueprint, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-Dq_Pd0wn.js";
27
+ import { a as importSVG, c as blueprintToDXF, d as exportGltf, f as exportOBJ, i as exportSTEPConfigured, l as exportDXF, n as importSTEP, o as importSVGPathD, r as importSTL, s as exportThreeMF, t as importIGES, u as exportGlb } from "./importFns-lLr9YlOX.js";
28
+ import { a as guidedSweep, c as sweep, i as complexExtrude, l as twistExtrude, n as extrudeAll, o as multiSectionSweep, r as revolve$1, s as supportExtrude, t as extrude$1 } from "./extrudeFns-g_5oi_Z7.js";
29
+ import { a as Sketch, b as loftAll, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, n as getFont, o as compoundSketchExtrude, p as sketchRevolve, r as loadFont, s as compoundSketchFace, t as textBlueprints, u as sketchExtrude, v as CompoundSketch, y as loft$1 } from "./textBlueprints-WI8cd6vk.js";
30
+ import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-0-J1bY6t.js";
31
+ import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-C4zPIVKl.js";
32
+ import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-CAdRRwOu.js";
33
33
  import { a as createTaskQueue, c as isEmpty$1, d as isDisposeRequest, f as isErrorResponse, h as isSuccessResponse, i as createWorkerClient, l as pendingCount, m as isOperationRequest, n as createWorkerHandler, o as dequeueTask, p as isInitRequest, r as registerHandler, s as enqueueTask, t as createOperationRegistry, u as rejectAll } from "./workerHandler-CFetYgIm.js";
34
34
  //#region \0rolldown/runtime.js
35
35
  var __defProp = Object.defineProperty;
@@ -1,6 +1,6 @@
1
- import { Z as getKernel, t as castShape } from "./shapeTypes-BGeihZZ2.js";
1
+ import { Z as getKernel, t as castShape } from "./shapeTypes-DsbDmdSa.js";
2
2
  import { A as ok, b as err, d as validationError } from "./errors-DNWJsfVU.js";
3
- import { s as getEdges } from "./topologyQueryFns-B_zXrMDh.js";
3
+ import { s as getEdges } from "./topologyQueryFns-CCLGa2wQ.js";
4
4
  import { c as vecLength, d as vecNormalize, g as vecSub, r as vecCross } from "./vecOps-SKPRvPH-.js";
5
5
  //#region src/projection/projectionPlanes.ts
6
6
  /** Lookup table mapping each {@link ProjectionPlane} to its camera configuration. */
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-DgN4lV-c.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DVlIrfVF.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-CTq8qOKc.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-C1iv5CpR.cjs");
4
4
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
5
5
  //#region src/projection/projectionPlanes.ts
6
6
  /** Lookup table mapping each {@link ProjectionPlane} to its camera configuration. */
package/dist/core.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_shapeTypes = require("./shapeTypes-DgN4lV-c.cjs");
2
+ const require_shapeTypes = require("./shapeTypes-DVlIrfVF.cjs");
3
3
  const require_errors = require("./errors-CXJtc4I7.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  const require_types = require("./types-KjA8tY4Y.cjs");
package/dist/core.js CHANGED
@@ -1,4 +1,4 @@
1
- import { B as createKernelHandle, C as isOrientedFace, D as manifoldShell, E as isValidSolid, H as isLive, I as is2D, J as withScopeResultAsync, K as withScope, L as is3D, M as getShapeKind, O as orientedFace, R as DisposalScope, S as isManifoldShell, _ as isSolid, b as closedWire, d as isCompound, f as isEdge, g as isShell, h as isShape3D, j as validSolid, m as isShape1D, p as isFace, q as withScopeResult, t as castShape, v as isVertex, x as isClosedWire, y as isWire, z as createHandle } from "./shapeTypes-BGeihZZ2.js";
1
+ import { B as createKernelHandle, C as isOrientedFace, D as manifoldShell, E as isValidSolid, H as isLive, I as is2D, J as withScopeResultAsync, K as withScope, L as is3D, M as getShapeKind, O as orientedFace, R as DisposalScope, S as isManifoldShell, _ as isSolid, b as closedWire, d as isCompound, f as isEdge, g as isShell, h as isShape3D, j as validSolid, m as isShape1D, p as isFace, q as withScopeResult, t as castShape, v as isVertex, x as isClosedWire, y as isWire, z as createHandle } from "./shapeTypes-DsbDmdSa.js";
2
2
  import { A as ok, B as unwrapOr, E as map, I as tryCatch, L as tryCatchAsync, O as mapErr, R as unwrap, T as isOk, V as unwrapOrElse, a as moduleInitError, b as err, c as sketcherStateError, d as validationError, g as OK, h as bug, i as kernelError, k as match, l as typeCastError, m as BrepBugError, n as computationError, o as queryError, r as ioError, u as unsupportedError, v as andThen, w as isErr, x as flatMap, y as collect, z as unwrapErr } from "./errors-DNWJsfVU.js";
3
3
  import { n as HASH_CODE_MAX, r as RAD2DEG, t as DEG2RAD } from "./constants-ITRzCnCp.js";
4
4
  import { n as toVec2, r as toVec3, t as resolveDirection } from "./types-D24Y27N0.js";
@@ -1,6 +1,6 @@
1
1
  import { t as DEG2RAD } from "./constants-ITRzCnCp.js";
2
2
  import { n as getAtOrThrow } from "./arrayAccess-DrUGPADn.js";
3
- import { _ as samePoint, p as distance2d, u as angle2d } from "./helpers-C7WpHbhO.js";
3
+ import { _ as samePoint, p as distance2d, u as angle2d } from "./helpers-Dd-L1roG.js";
4
4
  //#region src/query/cornerFinder.ts
5
5
  var PI_2 = 2 * Math.PI;
6
6
  function positiveHalfAngle(angle) {
@@ -1,6 +1,6 @@
1
1
  const require_constants = require("./constants-BOVyEYGH.cjs");
2
2
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
3
- const require_helpers = require("./helpers-Cpw0iU4L.cjs");
3
+ const require_helpers = require("./helpers-BfHmMhUR.cjs");
4
4
  //#region src/query/cornerFinder.ts
5
5
  var PI_2 = 2 * Math.PI;
6
6
  function positiveHalfAngle(angle) {
@@ -1,4 +1,4 @@
1
- const require_shapeTypes = require("./shapeTypes-DgN4lV-c.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DVlIrfVF.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
3
  //#region src/topology/curveFns.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { Z as getKernel, f as isEdge, t as castShape, y as isWire } from "./shapeTypes-BGeihZZ2.js";
1
+ import { Z as getKernel, f as isEdge, t as castShape, y as isWire } from "./shapeTypes-DsbDmdSa.js";
2
2
  import { A as ok, b as err, l as typeCastError } from "./errors-DNWJsfVU.js";
3
3
  //#region src/topology/curveFns.ts
4
4
  /**
@@ -1,22 +1,22 @@
1
- const require_textBlueprints = require("./textBlueprints-CMszuH5i.cjs");
2
- const require_shapeTypes = require("./shapeTypes-DgN4lV-c.cjs");
1
+ const require_textBlueprints = require("./textBlueprints-CrXC83B_.cjs");
2
+ const require_shapeTypes = require("./shapeTypes-DVlIrfVF.cjs");
3
3
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
4
4
  const require_errors = require("./errors-CXJtc4I7.cjs");
5
- const require_topologyQueryFns = require("./topologyQueryFns-CTq8qOKc.cjs");
5
+ const require_topologyQueryFns = require("./topologyQueryFns-C1iv5CpR.cjs");
6
6
  const require_constants = require("./constants-BOVyEYGH.cjs");
7
7
  const require_types = require("./types-KjA8tY4Y.cjs");
8
8
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
9
9
  const require_planeOps = require("./planeOps-BA4HfgQu.cjs");
10
- const require_faceFns = require("./faceFns-eCr0tWic.cjs");
11
- const require_curveFns = require("./curveFns-Ba1IEqn_.cjs");
10
+ const require_faceFns = require("./faceFns-BQTKMhAC.cjs");
11
+ const require_curveFns = require("./curveFns-DbKwrIkB.cjs");
12
12
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
13
- const require_surfaceBuilders = require("./surfaceBuilders-8Q5NVxkT.cjs");
14
- const require_blueprintSketcher = require("./blueprintSketcher-BMy4GYLb.cjs");
15
- const require_helpers = require("./helpers-Cpw0iU4L.cjs");
16
- const require_blueprint = require("./blueprint-oAHtiBNZ.cjs");
17
- const require_cornerFinder = require("./cornerFinder-mHD8eDmo.cjs");
18
- const require_boolean2D = require("./boolean2D-CalRrd7P.cjs");
19
- const require_cameraFns = require("./cameraFns-DkasWoY3.cjs");
13
+ const require_surfaceBuilders = require("./surfaceBuilders-Bj6wi_Vf.cjs");
14
+ const require_blueprintSketcher = require("./blueprintSketcher-CHXFt247.cjs");
15
+ const require_helpers = require("./helpers-BfHmMhUR.cjs");
16
+ const require_blueprint = require("./blueprint-DLu8ye65.cjs");
17
+ const require_cornerFinder = require("./cornerFinder-ClMOrRzh.cjs");
18
+ const require_boolean2D = require("./boolean2D-Yi64P8Lm.cjs");
19
+ const require_cameraFns = require("./cameraFns-DomX3Plu.cjs");
20
20
  //#region src/2d/lib/stitching.ts
21
21
  /**
22
22
  * Group a flat list of curves into connected chains by matching endpoints.
@@ -1,22 +1,22 @@
1
- import { R as DisposalScope, Y as _usingCtx, Z as getKernel, a as createEdge, o as createFace, u as createWire } from "./shapeTypes-BGeihZZ2.js";
1
+ import { R as DisposalScope, Y as _usingCtx, Z as getKernel, a as createEdge, o as createFace, u as createWire } from "./shapeTypes-DsbDmdSa.js";
2
2
  import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
3
3
  import { R as unwrap, h as bug, s as safeIndex } from "./errors-DNWJsfVU.js";
4
- import { s as getEdges } from "./topologyQueryFns-B_zXrMDh.js";
4
+ import { s as getEdges } from "./topologyQueryFns-CCLGa2wQ.js";
5
5
  import { t as DEG2RAD } from "./constants-ITRzCnCp.js";
6
6
  import { r as toVec3 } from "./types-D24Y27N0.js";
7
7
  import { d as vecNormalize, g as vecSub, h as vecScale, m as vecRotate, r as vecCross } from "./vecOps-SKPRvPH-.js";
8
8
  import { a as planeToWorld, o as resolvePlane } from "./planeOps-DSjjtrjg.js";
9
- import { _ as downcast, c as normalAt, l as outerWire, n as faceCenter, p as uvBounds, u as pointOnSurface } from "./faceFns-DUmTMdax.js";
10
- import { c as curveStartPoint, m as offsetWire2D, r as curveIsClosed } from "./curveFns-C_va_3Js.js";
9
+ import { _ as downcast, c as normalAt, l as outerWire, n as faceCenter, p as uvBounds, u as pointOnSurface } from "./faceFns-Bbix8B9u.js";
10
+ import { c as curveStartPoint, m as offsetWire2D, r as curveIsClosed } from "./curveFns-Sd40KJvV.js";
11
11
  import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
12
- import { c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, m as makeHelix, r as makeFace, s as assembleWire } from "./surfaceBuilders-OuKORf6n.js";
13
- import { a as Blueprints, c as make2dOffset, i as CompoundBlueprint, l as intersectCurves, n as BaseSketcher2d, o as chamferCurves, s as filletCurves, u as Flatbush } from "./blueprintSketcher-CpYK3eMF.js";
14
- import { _ as samePoint$1, b as subtract2d, c as PRECISION_OFFSET, l as add2d, y as squareDistance2d } from "./helpers-C7WpHbhO.js";
15
- import { _ as Curve2D, a as edgeToCurve, c as make2dCircle, d as make2dInerpolatedBSplineCurve, f as make2dSegmentCurve, g as approximateAsSvgCompatibleCurve, i as curvesAsEdgesOnPlane, l as make2dEllipse, o as make2dArcFromCenter, t as Blueprint, v as deserializeCurve2D, y as BoundingBox2d } from "./blueprint-U7q8mCkd.js";
16
- import { t as cornerFinder } from "./cornerFinder-mUvhWdNG.js";
17
- import { c as roundedRectangleBlueprint, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-BVGfOj7k.js";
18
- import { _ as wrapSketchDataArray, a as Sketch, g as wrapSketchData, i as Sketches, t as textBlueprints } from "./textBlueprints-CjWzCUDy.js";
19
- import { i as projectEdges, t as cameraFromPlane } from "./cameraFns-CDmeZqa_.js";
12
+ import { c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, m as makeHelix, r as makeFace, s as assembleWire } from "./surfaceBuilders-2qnBuaeF.js";
13
+ import { a as Blueprints, c as make2dOffset, i as CompoundBlueprint, l as intersectCurves, n as BaseSketcher2d, o as chamferCurves, s as filletCurves, u as Flatbush } from "./blueprintSketcher-LjvOXfG9.js";
14
+ import { _ as samePoint$1, b as subtract2d, c as PRECISION_OFFSET, l as add2d, y as squareDistance2d } from "./helpers-Dd-L1roG.js";
15
+ import { _ as Curve2D, a as edgeToCurve, c as make2dCircle, d as make2dInerpolatedBSplineCurve, f as make2dSegmentCurve, g as approximateAsSvgCompatibleCurve, i as curvesAsEdgesOnPlane, l as make2dEllipse, o as make2dArcFromCenter, t as Blueprint, v as deserializeCurve2D, y as BoundingBox2d } from "./blueprint-C6RmibWk.js";
16
+ import { t as cornerFinder } from "./cornerFinder-CegWolhx.js";
17
+ import { c as roundedRectangleBlueprint, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-CXgu27uZ.js";
18
+ import { _ as wrapSketchDataArray, a as Sketch, g as wrapSketchData, i as Sketches, t as textBlueprints } from "./textBlueprints-WI8cd6vk.js";
19
+ import { i as projectEdges, t as cameraFromPlane } from "./cameraFns-0-J1bY6t.js";
20
20
  //#region src/2d/lib/stitching.ts
21
21
  /**
22
22
  * Group a flat list of curves into connected chains by matching endpoints.
@@ -1,4 +1,4 @@
1
- const require_shapeTypes = require("./shapeTypes-DgN4lV-c.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DVlIrfVF.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
3
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
4
4
  //#region src/operations/extrudeUtils.ts
@@ -1,4 +1,4 @@
1
- import { Z as getKernel, c as createSolid, h as isShape3D, t as castShape, y as isWire } from "./shapeTypes-BGeihZZ2.js";
1
+ import { Z as getKernel, c as createSolid, h as isShape3D, t as castShape, y as isWire } from "./shapeTypes-DsbDmdSa.js";
2
2
  import { A as ok, b as err, d as validationError, i as kernelError, l as typeCastError, t as BrepErrorCode, w as isErr } from "./errors-DNWJsfVU.js";
3
3
  import { c as vecLength, d as vecNormalize, t as vecAdd } from "./vecOps-SKPRvPH-.js";
4
4
  //#region src/operations/extrudeUtils.ts
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-DgN4lV-c.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DVlIrfVF.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-CTq8qOKc.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-C1iv5CpR.cjs");
4
4
  const require_types = require("./types-KjA8tY4Y.cjs");
5
5
  //#region src/topology/cast.ts
6
6
  var TOPO_ENUM = {
@@ -1,6 +1,6 @@
1
- import { Z as getKernel, t as castShape } from "./shapeTypes-BGeihZZ2.js";
1
+ import { Z as getKernel, t as castShape } from "./shapeTypes-DsbDmdSa.js";
2
2
  import { A as ok, R as unwrap, b as err, l as typeCastError } from "./errors-DNWJsfVU.js";
3
- import { a as getCachedSurfaceType } from "./topologyQueryFns-B_zXrMDh.js";
3
+ import { a as getCachedSurfaceType } from "./topologyQueryFns-CCLGa2wQ.js";
4
4
  import { r as toVec3 } from "./types-D24Y27N0.js";
5
5
  //#region src/topology/cast.ts
6
6
  var TOPO_ENUM = {