brepjs 18.17.0 → 18.19.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 (103) hide show
  1. package/README.md +24 -14
  2. package/dist/2d.cjs +7 -7
  3. package/dist/2d.js +7 -7
  4. package/dist/{blueprint-Dn16jzZs.cjs → blueprint-Bl0YQjkk.cjs} +7 -7
  5. package/dist/{blueprint-C-ngUkOG.js → blueprint-Cy5veXS3.js} +7 -7
  6. package/dist/{blueprintFns-B7OF-Tv3.js → blueprintFns-CSB51aXT.js} +3 -3
  7. package/dist/{blueprintFns-j2YskNJl.cjs → blueprintFns-Dkccxo6d.cjs} +3 -3
  8. package/dist/{blueprintSketcher-D2awQyoi.cjs → blueprintSketcher-Cr9A-R8I.cjs} +4 -4
  9. package/dist/{blueprintSketcher-DlJ7yDBD.js → blueprintSketcher-DeEogKbs.js} +4 -4
  10. package/dist/{boolean2D-BlazC0Yu.cjs → boolean2D-BZ1UjpjX.cjs} +5 -5
  11. package/dist/{boolean2D-C3x4nSLt.js → boolean2D-lE2uy4Mm.js} +5 -5
  12. package/dist/{booleanFns-COUVhZlF.cjs → booleanFns-CD25YZGm.cjs} +6 -6
  13. package/dist/{booleanFns-CwskNGMz.js → booleanFns-CtvYfQZq.js} +6 -6
  14. package/dist/brepjs.cjs +1721 -34
  15. package/dist/brepjs.js +1735 -54
  16. package/dist/{cameraFns-leKP1O1t.cjs → cameraFns-CR2inEBU.cjs} +3 -3
  17. package/dist/{cameraFns-Bix9SLAm.js → cameraFns-Dg1lQP0S.js} +3 -3
  18. package/dist/core/errors.d.ts +1 -0
  19. package/dist/core.cjs +3 -3
  20. package/dist/core.js +3 -3
  21. package/dist/{cornerFinder-Cm58LsyX.cjs → cornerFinder-CXN1IxPg.cjs} +1 -1
  22. package/dist/{cornerFinder-GBVBku2c.js → cornerFinder-tfWhcA2M.js} +1 -1
  23. package/dist/csg/builders.d.ts +36 -0
  24. package/dist/csg/edit.d.ts +5 -0
  25. package/dist/csg/evaluate.d.ts +52 -0
  26. package/dist/csg/evaluators/booleans.d.ts +11 -0
  27. package/dist/csg/evaluators/compound.d.ts +8 -0
  28. package/dist/csg/evaluators/context.d.ts +9 -0
  29. package/dist/csg/evaluators/primitives.d.ts +15 -0
  30. package/dist/csg/evaluators/transforms.d.ts +10 -0
  31. package/dist/csg/expressions.d.ts +72 -0
  32. package/dist/csg/hash.d.ts +9 -0
  33. package/dist/csg/index.d.ts +15 -0
  34. package/dist/csg/optimize.d.ts +4 -0
  35. package/dist/csg/serialize.d.ts +9 -0
  36. package/dist/csg/types.d.ts +128 -0
  37. package/dist/{curveFns-DVHUVmuO.js → curveFns-BEF8t7XY.js} +2 -2
  38. package/dist/{curveFns-Ds0e7i2y.cjs → curveFns-CcheHkr4.cjs} +2 -2
  39. package/dist/{drawFns-CaWzI_lX.js → drawFns-CEjshioX.js} +14 -14
  40. package/dist/{drawFns-BvqZW_fK.cjs → drawFns-CuzUHFyD.cjs} +14 -14
  41. package/dist/{errors-0fYW_YnO.js → errors-8GZS3vy9.js} +1 -0
  42. package/dist/{errors-Dv6pfNct.cjs → errors-BiY8-q1s.cjs} +1 -0
  43. package/dist/{extrudeFns-BZAIPeYY.cjs → extrudeFns-BwU4ng1V.cjs} +2 -2
  44. package/dist/{extrudeFns-vl1_n-yk.js → extrudeFns-gcWJSK9T.js} +2 -2
  45. package/dist/{faceFns-m0GePUMn.js → faceFns-BNhFoEII.js} +3 -3
  46. package/dist/{faceFns-CbpUuSSF.cjs → faceFns-BbESdudy.cjs} +3 -3
  47. package/dist/{helpers-CrH0p3GU.cjs → helpers-BU3ANziG.cjs} +7 -7
  48. package/dist/{helpers-C7wU_L9l.js → helpers-D1J5VHbk.js} +7 -7
  49. package/dist/{historyFns-CdhKQcbS.cjs → historyFns-DHOoBh6G.cjs} +5 -5
  50. package/dist/{historyFns-Cs19Tmq_.js → historyFns-XZp1D_aA.js} +5 -5
  51. package/dist/{importFns-FvsXxxRS.cjs → importFns-CsRJ9lbm.cjs} +3 -3
  52. package/dist/{importFns-B1IIPON9.js → importFns-D1oB3yU8.js} +3 -3
  53. package/dist/index.d.ts +1 -0
  54. package/dist/io.cjs +2 -2
  55. package/dist/io.js +2 -2
  56. package/dist/kernel/brepkit/brepkitWasmTypes.d.ts +10 -7
  57. package/dist/kernel/index.d.ts +6 -0
  58. package/dist/{measureFns-DuXAfU3o.cjs → measureFns-BkoPw5JT.cjs} +4 -4
  59. package/dist/{measureFns-HKGnPqSW.js → measureFns-C3y_WX_E.js} +4 -4
  60. package/dist/measurement.cjs +1 -1
  61. package/dist/measurement.js +1 -1
  62. package/dist/{meshFns-Dr3EAM7B.cjs → meshFns-CFMr9FBb.cjs} +3 -3
  63. package/dist/{meshFns-BtZ68glt.js → meshFns-k0BdoBGR.js} +3 -3
  64. package/dist/ns/csg.d.ts +4 -0
  65. package/dist/operations.cjs +2 -2
  66. package/dist/operations.js +2 -2
  67. package/dist/{planeOps-CH4ruLuj.cjs → planeOps-2EyPq0tU.cjs} +1 -1
  68. package/dist/{planeOps-4i2qEraD.js → planeOps-Bea3T3mc.js} +1 -1
  69. package/dist/{primitiveFns-DVxhf1Oj.js → primitiveFns-DF5IAVNP.js} +7 -7
  70. package/dist/{primitiveFns-CvE88XaR.cjs → primitiveFns-YpYBx4Pd.cjs} +7 -7
  71. package/dist/projection.cjs +1 -1
  72. package/dist/projection.js +1 -1
  73. package/dist/query.cjs +2 -2
  74. package/dist/query.js +2 -2
  75. package/dist/result.cjs +1 -1
  76. package/dist/result.js +1 -1
  77. package/dist/{shapeFns-D1gHNJJY.cjs → shapeFns-CHTLdb_n.cjs} +3 -3
  78. package/dist/{shapeFns-CkkChODq.js → shapeFns-x8vqq2fR.js} +3 -3
  79. package/dist/shapeRef.cjs +1 -1
  80. package/dist/shapeRef.js +1 -1
  81. package/dist/{shapeRefFns-BkVipOTE.cjs → shapeRefFns-CDRLEUik.cjs} +4 -4
  82. package/dist/{shapeRefFns-TUtuCJ85.js → shapeRefFns-CE0yS0EB.js} +4 -4
  83. package/dist/{shapeTypes-xj3nxBTM.cjs → shapeTypes-BpKhed-9.cjs} +19 -2
  84. package/dist/{shapeTypes-B_s2jyQ2.js → shapeTypes-DGtDTS9s.js} +14 -3
  85. package/dist/sketching.cjs +3 -3
  86. package/dist/sketching.js +3 -3
  87. package/dist/{solidBuilders-lBO5Fk9Z.cjs → solidBuilders-BlBaFSCS.cjs} +3 -3
  88. package/dist/{solidBuilders-DLJlAEi9.js → solidBuilders-Cot05qzs.js} +3 -3
  89. package/dist/{surfaceBuilders-BkgewbNs.cjs → surfaceBuilders-frj7YRrD.cjs} +3 -3
  90. package/dist/{surfaceBuilders-DRxCelXR.js → surfaceBuilders-zJyikeav.js} +3 -3
  91. package/dist/text.cjs +2 -2
  92. package/dist/text.js +2 -2
  93. package/dist/{textBlueprints-D5zPssgR.js → textBlueprints-Bv6zhEyn.js} +9 -9
  94. package/dist/{textBlueprints-Dy4xulfR.cjs → textBlueprints-CHh9SChA.cjs} +9 -9
  95. package/dist/{textMetrics-DcIcFPtV.cjs → textMetrics-CKNdQX02.cjs} +2 -2
  96. package/dist/{textMetrics-Dkitx1CA.js → textMetrics-vUJTTEFi.js} +2 -2
  97. package/dist/topology.cjs +7 -7
  98. package/dist/topology.js +7 -7
  99. package/dist/{topologyQueryFns-D0v-c2Xk.cjs → topologyQueryFns-CHsPXNbI.cjs} +2 -2
  100. package/dist/{topologyQueryFns-BcYn7Adz.js → topologyQueryFns-CcWaCxeb.js} +2 -2
  101. package/dist/vectors.cjs +1 -1
  102. package/dist/vectors.js +1 -1
  103. package/package.json +2 -2
package/README.md CHANGED
@@ -14,7 +14,7 @@ CAD modeling for JavaScript.
14
14
 
15
15
  </div>
16
16
 
17
- Shapes are exact mathematical boundaries - not triangle meshes - so booleans are precise, measurements are real, and you can export to STEP. TypeScript types prove the geometry is valid at compile time.
17
+ Shapes are exact mathematical boundaries not triangle meshes so booleans are precise, measurements are real, and you can export to STEP. TypeScript types prove the geometry is valid at compile time.
18
18
 
19
19
  ```typescript
20
20
  // Drill a hole, fillet the vertical edges, export to STEP
@@ -36,9 +36,19 @@ brepjs grew out of the love and care I put into [gridfinitylayouttool.com](https
36
36
 
37
37
  Neither had the type safety I wanted, so brepjs leans hard on it: branded types, `Result<T,E>`, phantom types that prove invariants at compile time. If it compiles, the geometry is valid. Best for parts defined by parameters (enclosures, brackets, fixtures, gridfinity bins) rather than organic sculpting.
38
38
 
39
+ ## Scope
40
+
41
+ To set expectations, this project deliberately does not:
42
+
43
+ - **Render or display geometry** — brepjs produces shape data; pass mesh output to Three.js, Babylon.js, or raw WebGL for rendering.
44
+ - **Support organic or sculpting workflows** — the API is built for parametric parts (enclosures, brackets, fixtures); freeform sculpting is out of scope.
45
+ - **Output SVG or 2D files** — 2D drawing primitives exist solely as an intermediate step toward extruded 3D solids, not as a standalone 2D output format.
46
+ - **Run server-side (SSR)** — WASM requires a browser or Node.js environment with WASM support; server-side rendering frameworks (Next.js, Nuxt, Remix) need a client-only import.
47
+ - **Provide a GUI** — brepjs is a pure programmatic API; there is no visual editor, viewport, or file picker.
48
+
39
49
  ## Status
40
50
 
41
- Production-ready with the OpenCascade kernel. [brepkit](https://github.com/andymai/brepkit), a Rust-based kernel, is in active development as a faster replacement but not yet production-ready. The kernel abstraction layer means switching is a one-line change. See [benchmarks](./benchmarks/results/latest.md) for performance comparisons.
51
+ The OpenCascade kernel is the current default. [brepkit](https://github.com/andymai/brepkit), a Rust-based kernel, is in active development as a faster replacement but not yet ready for production use. The kernel abstraction layer means switching is a one-line change. See [benchmarks](./benchmarks/results/latest.md) for performance comparisons.
42
52
 
43
53
  ## Install
44
54
 
@@ -60,18 +70,7 @@ const oc = await opencascade();
60
70
  initFromOC(oc);
61
71
  ```
62
72
 
63
- ## Architecture
64
-
65
- ```
66
- Layer 3 sketching/, text/, projection/ High-level API
67
- Layer 2 topology/, operations/, 2d/ ... Domain logic
68
- Layer 1 core/ Types, memory, errors
69
- Layer 0 kernel/, utils/ WASM bindings
70
- ```
71
-
72
- Imports flow downward only. Boundaries are enforced in CI.
73
-
74
- ## Documentation
73
+ ## Usage
75
74
 
76
75
  The chapter-based guide is the recommended starting point:
77
76
 
@@ -89,6 +88,17 @@ The chapter-based guide is the recommended starting point:
89
88
 
90
89
  Legacy single-page docs in [./docs/](./docs/) remain available; the chapter site is the canonical location going forward.
91
90
 
91
+ ### Architecture
92
+
93
+ ```
94
+ Layer 3 sketching/, text/, projection/ High-level API
95
+ Layer 2 topology/, operations/, 2d/ ... Domain logic
96
+ Layer 1 core/ Types, memory, errors
97
+ Layer 0 kernel/, utils/ WASM bindings
98
+ ```
99
+
100
+ Imports flow downward only. Boundaries are enforced in CI.
101
+
92
102
  ## Projects Using brepjs
93
103
 
94
104
  - [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-xj3nxBTM.cjs");
3
- const require_errors = require("./errors-Dv6pfNct.cjs");
4
- const require_topologyQueryFns = require("./topologyQueryFns-D0v-c2Xk.cjs");
5
- const require_blueprintSketcher = require("./blueprintSketcher-D2awQyoi.cjs");
6
- const require_blueprint = require("./blueprint-Dn16jzZs.cjs");
7
- const require_boolean2D = require("./boolean2D-BlazC0Yu.cjs");
8
- const require_blueprintFns = require("./blueprintFns-j2YskNJl.cjs");
2
+ const require_shapeTypes = require("./shapeTypes-BpKhed-9.cjs");
3
+ const require_errors = require("./errors-BiY8-q1s.cjs");
4
+ const require_topologyQueryFns = require("./topologyQueryFns-CHsPXNbI.cjs");
5
+ const require_blueprintSketcher = require("./blueprintSketcher-Cr9A-R8I.cjs");
6
+ const require_blueprint = require("./blueprint-Bl0YQjkk.cjs");
7
+ const require_boolean2D = require("./boolean2D-BZ1UjpjX.cjs");
8
+ const require_blueprintFns = require("./blueprintFns-Dkccxo6d.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, Z as getKernel2D, a as createEdge } from "./shapeTypes-B_s2jyQ2.js";
2
- import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-0fYW_YnO.js";
3
- import { v as kernelCallRaw } from "./topologyQueryFns-BcYn7Adz.js";
4
- import { a as Blueprints, i as CompoundBlueprint, r as organiseBlueprints } from "./blueprintSketcher-DlJ7yDBD.js";
5
- import { _ as Curve2D, t as Blueprint, y as BoundingBox2d } from "./blueprint-C-ngUkOG.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-C3x4nSLt.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-B7OF-Tv3.js";
1
+ import { B as createKernelHandle, Q as getKernel2D, a as createEdge } from "./shapeTypes-DGtDTS9s.js";
2
+ import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-8GZS3vy9.js";
3
+ import { v as kernelCallRaw } from "./topologyQueryFns-CcWaCxeb.js";
4
+ import { a as Blueprints, i as CompoundBlueprint, r as organiseBlueprints } from "./blueprintSketcher-DeEogKbs.js";
5
+ import { _ as Curve2D, t as Blueprint, y as BoundingBox2d } from "./blueprint-Cy5veXS3.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-lE2uy4Mm.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-CSB51aXT.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
- const require_shapeTypes = require("./shapeTypes-xj3nxBTM.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-BpKhed-9.cjs");
2
2
  const require_vec3 = require("./vec3-S4Oh59IX.cjs");
3
- const require_errors = require("./errors-Dv6pfNct.cjs");
3
+ const require_errors = require("./errors-BiY8-q1s.cjs");
4
4
  const require_constants = require("./constants-DTorLmes.cjs");
5
5
  const require_types = require("./types-CDkxah-M.cjs");
6
- const require_planeOps = require("./planeOps-CH4ruLuj.cjs");
7
- const require_faceFns = require("./faceFns-CbpUuSSF.cjs");
8
- const require_curveFns = require("./curveFns-Ds0e7i2y.cjs");
6
+ const require_planeOps = require("./planeOps-2EyPq0tU.cjs");
7
+ const require_faceFns = require("./faceFns-BbESdudy.cjs");
8
+ const require_curveFns = require("./curveFns-CcheHkr4.cjs");
9
9
  const require_arrayAccess = require("./arrayAccess-7pTWqkJu.cjs");
10
- const require_surfaceBuilders = require("./surfaceBuilders-BkgewbNs.cjs");
11
- const require_helpers = require("./helpers-CrH0p3GU.cjs");
10
+ const require_surfaceBuilders = require("./surfaceBuilders-frj7YRrD.cjs");
11
+ const require_helpers = require("./helpers-BU3ANziG.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,14 +1,14 @@
1
- import { G as unregisterFromCleanup, U as registerForCleanup, X as getKernel, Z as getKernel2D, a as createEdge, u as createWire } from "./shapeTypes-B_s2jyQ2.js";
1
+ import { G as unregisterFromCleanup, Q as getKernel2D, U as registerForCleanup, Z as getKernel, a as createEdge, u as createWire } from "./shapeTypes-DGtDTS9s.js";
2
2
  import { n as wasmIndex } from "./vec3-BRj3eI54.js";
3
- import { A as ok, R as unwrap, b as err, d as validationError, h as bug, n as computationError } from "./errors-0fYW_YnO.js";
3
+ import { A as ok, R as unwrap, b as err, d as validationError, h as bug, n as computationError } from "./errors-8GZS3vy9.js";
4
4
  import { r as RAD2DEG, t as DEG2RAD } from "./constants-Ci5CA3aZ.js";
5
5
  import { r as toVec3 } from "./types-BIdk_GJY.js";
6
- import { r as makePlane } from "./planeOps-4i2qEraD.js";
7
- import { g as cast, m as uvCoordinates, n as faceCenter, p as uvBounds, r as faceGeomType } from "./faceFns-m0GePUMn.js";
8
- import { f as getOrientation } from "./curveFns-DVHUVmuO.js";
6
+ import { r as makePlane } from "./planeOps-Bea3T3mc.js";
7
+ import { g as cast, m as uvCoordinates, n as faceCenter, p as uvBounds, r as faceGeomType } from "./faceFns-BNhFoEII.js";
8
+ import { f as getOrientation } from "./curveFns-BEF8t7XY.js";
9
9
  import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-C5IWcxs9.js";
10
- import { r as makeFace } from "./surfaceBuilders-DRxCelXR.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-C7wU_L9l.js";
10
+ import { r as makeFace } from "./surfaceBuilders-zJyikeav.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-D1J5VHbk.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,6 +1,6 @@
1
- import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-0fYW_YnO.js";
2
- import { i as CompoundBlueprint } from "./blueprintSketcher-DlJ7yDBD.js";
3
- import { t as Blueprint } from "./blueprint-C-ngUkOG.js";
1
+ import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-8GZS3vy9.js";
2
+ import { i as CompoundBlueprint } from "./blueprintSketcher-DeEogKbs.js";
3
+ import { t as Blueprint } from "./blueprint-Cy5veXS3.js";
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
- const require_errors = require("./errors-Dv6pfNct.cjs");
2
- const require_blueprintSketcher = require("./blueprintSketcher-D2awQyoi.cjs");
3
- const require_blueprint = require("./blueprint-Dn16jzZs.cjs");
1
+ const require_errors = require("./errors-BiY8-q1s.cjs");
2
+ const require_blueprintSketcher = require("./blueprintSketcher-Cr9A-R8I.cjs");
3
+ const require_blueprint = require("./blueprint-Bl0YQjkk.cjs");
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-xj3nxBTM.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-BpKhed-9.cjs");
2
2
  const require_vec3 = require("./vec3-S4Oh59IX.cjs");
3
- const require_errors = require("./errors-Dv6pfNct.cjs");
3
+ const require_errors = require("./errors-BiY8-q1s.cjs");
4
4
  const require_constants = require("./constants-DTorLmes.cjs");
5
5
  const require_arrayAccess = require("./arrayAccess-7pTWqkJu.cjs");
6
- const require_helpers = require("./helpers-CrH0p3GU.cjs");
7
- const require_blueprint = require("./blueprint-Dn16jzZs.cjs");
6
+ const require_helpers = require("./helpers-BU3ANziG.cjs");
7
+ const require_blueprint = require("./blueprint-Bl0YQjkk.cjs");
8
8
  //#region node_modules/flatqueue/index.js
9
9
  /** @template T */
10
10
  var FlatQueue = class {
@@ -1,10 +1,10 @@
1
- import { X as getKernel, Z as getKernel2D } from "./shapeTypes-B_s2jyQ2.js";
1
+ import { Q as getKernel2D, Z as getKernel } from "./shapeTypes-DGtDTS9s.js";
2
2
  import { n as wasmIndex } from "./vec3-BRj3eI54.js";
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-0fYW_YnO.js";
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-8GZS3vy9.js";
4
4
  import { r as RAD2DEG, t as DEG2RAD } from "./constants-Ci5CA3aZ.js";
5
5
  import { t as firstOrThrow } from "./arrayAccess-C5IWcxs9.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-C7wU_L9l.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-C-ngUkOG.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-D1J5VHbk.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-Cy5veXS3.js";
8
8
  //#region node_modules/flatqueue/index.js
9
9
  /** @template T */
10
10
  var FlatQueue = class {
@@ -1,10 +1,10 @@
1
1
  const require_vec3 = require("./vec3-S4Oh59IX.cjs");
2
- const require_errors = require("./errors-Dv6pfNct.cjs");
2
+ const require_errors = require("./errors-BiY8-q1s.cjs");
3
3
  const require_arrayAccess = require("./arrayAccess-7pTWqkJu.cjs");
4
- const require_surfaceBuilders = require("./surfaceBuilders-BkgewbNs.cjs");
5
- const require_blueprintSketcher = require("./blueprintSketcher-D2awQyoi.cjs");
6
- const require_helpers = require("./helpers-CrH0p3GU.cjs");
7
- const require_blueprint = require("./blueprint-Dn16jzZs.cjs");
4
+ const require_surfaceBuilders = require("./surfaceBuilders-frj7YRrD.cjs");
5
+ const require_blueprintSketcher = require("./blueprintSketcher-Cr9A-R8I.cjs");
6
+ const require_helpers = require("./helpers-BU3ANziG.cjs");
7
+ const require_blueprint = require("./blueprint-Bl0YQjkk.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,10 +1,10 @@
1
1
  import { n as wasmIndex } from "./vec3-BRj3eI54.js";
2
- import { R as unwrap, h as bug, s as safeIndex } from "./errors-0fYW_YnO.js";
2
+ import { R as unwrap, h as bug, s as safeIndex } from "./errors-8GZS3vy9.js";
3
3
  import { r as lastOrThrow } from "./arrayAccess-C5IWcxs9.js";
4
- import { v as zip } from "./surfaceBuilders-DRxCelXR.js";
5
- import { a as Blueprints, i as CompoundBlueprint, l as intersectCurves, r as organiseBlueprints, t as BlueprintSketcher, u as Flatbush } from "./blueprintSketcher-DlJ7yDBD.js";
6
- import { _ as samePoint$1, b as subtract2d, f as crossProduct2d, s as PRECISION_INTERSECTION } from "./helpers-C7wU_L9l.js";
7
- import { b as removeDuplicatePoints, f as make2dSegmentCurve, t as Blueprint } from "./blueprint-C-ngUkOG.js";
4
+ import { v as zip } from "./surfaceBuilders-zJyikeav.js";
5
+ import { a as Blueprints, i as CompoundBlueprint, l as intersectCurves, r as organiseBlueprints, t as BlueprintSketcher, u as Flatbush } from "./blueprintSketcher-DeEogKbs.js";
6
+ import { _ as samePoint$1, b as subtract2d, f as crossProduct2d, s as PRECISION_INTERSECTION } from "./helpers-D1J5VHbk.js";
7
+ import { b as removeDuplicatePoints, f as make2dSegmentCurve, t as Blueprint } from "./blueprint-Cy5veXS3.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,12 +1,12 @@
1
- const require_shapeTypes = require("./shapeTypes-xj3nxBTM.cjs");
2
- const require_errors = require("./errors-Dv6pfNct.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-D0v-c2Xk.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-BpKhed-9.cjs");
2
+ const require_errors = require("./errors-BiY8-q1s.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-CHsPXNbI.cjs");
4
4
  const require_constants = require("./constants-DTorLmes.cjs");
5
5
  const require_vecOps = require("./vecOps-D7xplSx8.cjs");
6
- const require_planeOps = require("./planeOps-CH4ruLuj.cjs");
7
- const require_shapeFns = require("./shapeFns-D1gHNJJY.cjs");
6
+ const require_planeOps = require("./planeOps-2EyPq0tU.cjs");
7
+ const require_shapeFns = require("./shapeFns-CHTLdb_n.cjs");
8
8
  const require_arrayAccess = require("./arrayAccess-7pTWqkJu.cjs");
9
- const require_surfaceBuilders = require("./surfaceBuilders-BkgewbNs.cjs");
9
+ const require_surfaceBuilders = require("./surfaceBuilders-frj7YRrD.cjs");
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
- import { X as getKernel, h as isShape3D, t as castShape } from "./shapeTypes-B_s2jyQ2.js";
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-0fYW_YnO.js";
3
- import { l as getVertices, o as getEdges, u as getWires } from "./topologyQueryFns-BcYn7Adz.js";
1
+ import { Z as getKernel, h as isShape3D, t as castShape } from "./shapeTypes-DGtDTS9s.js";
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-8GZS3vy9.js";
3
+ import { l as getVertices, o as getEdges, u as getWires } from "./topologyQueryFns-CcWaCxeb.js";
4
4
  import { n as HASH_CODE_MAX } from "./constants-Ci5CA3aZ.js";
5
5
  import { h as vecScale, t as vecAdd } from "./vecOps-DVROrqTV.js";
6
- import { o as resolvePlane } from "./planeOps-4i2qEraD.js";
7
- import { _ as propagateAllMetadata, g as collectInputFaceHashes, v as propagateMetadataByHash } from "./shapeFns-CkkChODq.js";
6
+ import { o as resolvePlane } from "./planeOps-Bea3T3mc.js";
7
+ import { _ as propagateAllMetadata, g as collectInputFaceHashes, v as propagateMetadataByHash } from "./shapeFns-x8vqq2fR.js";
8
8
  import { n as getAtOrThrow, t as firstOrThrow } from "./arrayAccess-C5IWcxs9.js";
9
- import { r as makeFace } from "./surfaceBuilders-DRxCelXR.js";
9
+ import { r as makeFace } from "./surfaceBuilders-zJyikeav.js";
10
10
  //#region src/topology/booleanFns.ts
11
11
  /**
12
12
  * Boolean and compound operations — functional replacements for _3DShape boolean methods.