brepjs 18.64.0 → 18.66.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 (90) hide show
  1. package/dist/2d.cjs +6 -6
  2. package/dist/2d.js +6 -6
  3. package/dist/{blueprint-CnGsBG6y.cjs → blueprint-B7iZ_BZT.cjs} +5 -5
  4. package/dist/{blueprint-B-auug94.js → blueprint-DEtjb9pL.js} +5 -5
  5. package/dist/{blueprintFns-CocKjMHz.cjs → blueprintFns-Bf5TA7pN.cjs} +2 -2
  6. package/dist/{blueprintFns-Bpp0oBUG.js → blueprintFns-Bmd98FWr.js} +2 -2
  7. package/dist/{blueprintSketcher-J9bAQDhD.cjs → blueprintSketcher-Bj39XtSt.cjs} +3 -3
  8. package/dist/{blueprintSketcher-BmCyc7s1.js → blueprintSketcher-nuOhijiI.js} +3 -3
  9. package/dist/{boolean2D-zhHdr4EG.cjs → boolean2D-BfDgoaT7.cjs} +4 -4
  10. package/dist/{boolean2D-C-tW10ip.js → boolean2D-DWbUmSlH.js} +4 -4
  11. package/dist/{booleanFns-4_KnvEil.js → booleanFns-CN5sVkm6.js} +4 -4
  12. package/dist/{booleanFns-9qTQX1iM.cjs → booleanFns-D-wTRioN.cjs} +4 -4
  13. package/dist/brepjs.cjs +33 -25
  14. package/dist/brepjs.js +26 -26
  15. package/dist/{cameraFns-5FSJmH9r.js → cameraFns-BTkg-7od.js} +2 -2
  16. package/dist/{cameraFns-Bz11Ik2z.cjs → cameraFns-BXAgEEUR.cjs} +2 -2
  17. package/dist/core.cjs +1 -1
  18. package/dist/core.js +1 -1
  19. package/dist/{cornerFinder-mD9AqCfR.cjs → cornerFinder-0DmLYmdL.cjs} +1 -1
  20. package/dist/{cornerFinder-C10oNGL4.js → cornerFinder-C_w8TN9u.js} +1 -1
  21. package/dist/{curveFns-BcS0DZLj.js → curveFns-BIj3b16T.js} +1 -1
  22. package/dist/{curveFns-DOW3Rs1A.cjs → curveFns-BlfkX_gl.cjs} +1 -1
  23. package/dist/{drawFns-0ojbwK2X.js → drawFns-CNOti33I.js} +12 -12
  24. package/dist/{drawFns-B4BFzsPq.cjs → drawFns-CluLvJOJ.cjs} +12 -12
  25. package/dist/{extrudeFns-CrTb7bjb.js → extrudeFns-CaBzNeiI.js} +1 -1
  26. package/dist/{extrudeFns-D0IrXWsB.cjs → extrudeFns-DYn4rntp.cjs} +1 -1
  27. package/dist/{faceFns-FVl-7nu7.cjs → faceFns-7g1e493t.cjs} +2 -2
  28. package/dist/{faceFns-DFbEW9oz.js → faceFns-Bd3zdzrq.js} +2 -2
  29. package/dist/{helpers-CIucvYwe.js → helpers-DQ634U2V.js} +6 -6
  30. package/dist/{helpers-BqrszPEI.cjs → helpers-qJvSmWhx.cjs} +6 -6
  31. package/dist/{historyFns-h6FtvY5t.js → historyFns-C6TSTHV4.js} +4 -4
  32. package/dist/{historyFns-B-C4Cp9C.cjs → historyFns-CyXK3XjV.cjs} +4 -4
  33. package/dist/{importFns-Q9jZUGn_.cjs → importFns-DK85PN5U.cjs} +2 -2
  34. package/dist/{importFns-8wNWf6zt.js → importFns-DpXocvJY.js} +2 -2
  35. package/dist/index.d.ts +5 -1
  36. package/dist/io.cjs +2 -2
  37. package/dist/io.js +2 -2
  38. package/dist/kernel/brepkit/brepkitAdapter.d.ts +2 -0
  39. package/dist/kernel/capabilities.d.ts +35 -0
  40. package/dist/kernel/index.d.ts +30 -0
  41. package/dist/kernel/interfaces/core.d.ts +15 -0
  42. package/dist/kernel/manifold/manifoldAdapter.d.ts +9 -0
  43. package/dist/kernel/manifold/profileOps.d.ts +1 -1
  44. package/dist/kernel/occt/defaultAdapter.d.ts +2 -0
  45. package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
  46. package/dist/kernel/occtWasm/occtWasmAdapter.d.ts +2 -0
  47. package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -1
  48. package/dist/kernel/quality.d.ts +29 -0
  49. package/dist/{measureFns-DSUJdWbH.cjs → measureFns-LAuiTxIU.cjs} +3 -3
  50. package/dist/{measureFns-DXQSqDH0.js → measureFns-Pxrwu7Nl.js} +3 -3
  51. package/dist/measurement.cjs +1 -1
  52. package/dist/measurement.js +1 -1
  53. package/dist/{meshFns-D2rcmVr_.cjs → meshFns-0wmojo6X.cjs} +12 -6
  54. package/dist/{meshFns-DZA-Hsya.js → meshFns-BYLqZcfo.js} +12 -6
  55. package/dist/{occtWasmAdapter-BuIYbIwy.cjs → occtWasmAdapter-BPu07Zxg.cjs} +33 -0
  56. package/dist/{occtWasmAdapter-B0PIezOZ.js → occtWasmAdapter-Ctfykwr2.js} +22 -1
  57. package/dist/operations.cjs +2 -2
  58. package/dist/operations.js +2 -2
  59. package/dist/{primitiveFns-_A-uhxX7.js → primitiveFns-BJ5PwAOM.js} +7 -7
  60. package/dist/{primitiveFns-B7BJjuHU.cjs → primitiveFns-BVpOZIFy.cjs} +7 -7
  61. package/dist/projection.cjs +1 -1
  62. package/dist/projection.js +1 -1
  63. package/dist/query.cjs +2 -2
  64. package/dist/query.js +2 -2
  65. package/dist/{shapeFns-Uplvk1Jx.cjs → shapeFns-B15j-oke.cjs} +2 -2
  66. package/dist/{shapeFns-Cu8myB5f.js → shapeFns-Bf3fSMLC.js} +2 -2
  67. package/dist/shapeRef.cjs +1 -1
  68. package/dist/shapeRef.js +1 -1
  69. package/dist/{shapeRefFns-Drrf8qS4.js → shapeRefFns-C1nNU4at.js} +4 -4
  70. package/dist/{shapeRefFns-DZS2Y-8H.cjs → shapeRefFns-Cu3aH-S0.cjs} +4 -4
  71. package/dist/{shapeTypes-0gU7DOBf.cjs → shapeTypes-C6gF9fGL.cjs} +174 -12
  72. package/dist/{shapeTypes-B2tufXyI.js → shapeTypes-KIrwDkmg.js} +133 -13
  73. package/dist/sketching.cjs +3 -3
  74. package/dist/sketching.js +3 -3
  75. package/dist/{solidBuilders-3Is-YjEI.js → solidBuilders-CN91DyTF.js} +2 -2
  76. package/dist/{solidBuilders-CdWC9FZI.cjs → solidBuilders-Ii8I669S.cjs} +2 -2
  77. package/dist/{surfaceBuilders-BjiUI8f_.cjs → surfaceBuilders-DSgKSrN-.cjs} +2 -2
  78. package/dist/{surfaceBuilders-BZOjOk6T.js → surfaceBuilders-VOedQa9z.js} +2 -2
  79. package/dist/text.cjs +2 -2
  80. package/dist/text.js +2 -2
  81. package/dist/{textBlueprints-Dl-qQ5Hm.cjs → textBlueprints-BROqnpya.cjs} +7 -7
  82. package/dist/{textBlueprints-BPi0wGxq.js → textBlueprints-k0trqpEg.js} +7 -7
  83. package/dist/{textMetrics-yWTfUPqx.js → textMetrics-DnOTH1ld.js} +1 -1
  84. package/dist/{textMetrics-CDEnxSK0.cjs → textMetrics-dS4ldSza.cjs} +1 -1
  85. package/dist/topology/meshFns.d.ts +5 -5
  86. package/dist/topology.cjs +7 -7
  87. package/dist/topology.js +7 -7
  88. package/dist/{topologyQueryFns-CxPWWuGB.js → topologyQueryFns-Bkr82t7v.js} +1 -1
  89. package/dist/{topologyQueryFns-CI4gmFyi.cjs → topologyQueryFns-CseKGFog.cjs} +1 -1
  90. package/package.json +1 -1
@@ -1,6 +1,40 @@
1
+ import { S as EXACT_BREP_CAPABILITIES, _ as serializeCurve2d$2, a as curveTypeName, b as quickHull, c as intersectCurves2dFn, d as makeEllipse2d$2, f as makeLine2d$2, g as scaleCurve2d$2, h as rotateCurve2d$2, i as curveBounds, l as makeBezier2d$2, m as mirrorAtPoint, n as addCurveToBBox, o as deserializeCurve2d$2, p as mirrorAcrossAxis, r as createBBox2d, s as evaluateCurve2d$2, t as OcctWasmAdapter, u as makeCircle2d$2, v as tangentCurve2d, y as translateCurve2d$2 } from "./occtWasmAdapter-Ctfykwr2.js";
1
2
  import { n as wasmIndex, t as vec3At } from "./vec3-Dpha8d5k.js";
2
- import { _ as serializeCurve2d$2, a as curveTypeName, b as quickHull, c as intersectCurves2dFn, d as makeEllipse2d$2, f as makeLine2d$2, g as scaleCurve2d$2, h as rotateCurve2d$2, i as curveBounds, l as makeBezier2d$2, m as mirrorAtPoint, n as addCurveToBBox, o as deserializeCurve2d$2, p as mirrorAcrossAxis, r as createBBox2d, s as evaluateCurve2d$2, t as OcctWasmAdapter, u as makeCircle2d$2, v as tangentCurve2d, y as translateCurve2d$2 } from "./occtWasmAdapter-B0PIezOZ.js";
3
3
  import { A as ok, b as err } from "./errors-DNWJsfVU.js";
4
+ //#region src/kernel/quality.ts
5
+ /**
6
+ * Extract-time deflection per level. `'standard'` matches brepjs's historical
7
+ * `mesh()` defaults (1e-3 / 0.1) so behaviour is unchanged when no quality is
8
+ * set.
9
+ */
10
+ var DEFLECTION = {
11
+ draft: {
12
+ tolerance: .01,
13
+ angularTolerance: .5
14
+ },
15
+ standard: {
16
+ tolerance: .001,
17
+ angularTolerance: .1
18
+ },
19
+ fine: {
20
+ tolerance: 1e-4,
21
+ angularTolerance: .05
22
+ }
23
+ };
24
+ var _current = "standard";
25
+ /** The active quality level (defaults to `'standard'`). */
26
+ function currentQuality() {
27
+ return _current;
28
+ }
29
+ /** Deflection params for a level (defaults to the active level). */
30
+ function qualityDeflection(level = _current) {
31
+ return DEFLECTION[level];
32
+ }
33
+ /** @internal — set by `withQuality`/`withTier`; restored in their `finally`. */
34
+ function setQualityState(level) {
35
+ _current = level;
36
+ }
37
+ //#endregion
4
38
  //#region src/kernel/kernel2dTypes.ts
5
39
  /** Check if the kernel supports 2D geometry operations. */
6
40
  function supportsKernel2D(kernel) {
@@ -5287,6 +5321,7 @@ function makeDraftAdapter(oc) {
5287
5321
  var DefaultAdapter = class {
5288
5322
  oc;
5289
5323
  kernelId = "occt";
5324
+ capabilities = EXACT_BREP_CAPABILITIES;
5290
5325
  constructor(oc) {
5291
5326
  this.oc = oc;
5292
5327
  Object.assign(this, makeBooleanOps$2(oc), makeBooleanPipelineOps(oc), makeHullOps(oc), makeConstructorOps(oc), makeExtendedConstructorOps(oc), makeSweepOps$2(oc), makeModifierOps$2(oc), makeTransformOps$2(oc), makeMeshOps$2(oc), makeIoOps$2(oc), makeMeasureOps$2(oc), makeTopologyOps$2(oc), makeGeometryQueryOps(oc), makeNurbsQueryOps(oc), makeCurveOps(oc), makeHealingOps(oc), makeHistoryOps(oc), makeAdvancedOps(oc), makeKernel2dOps$1(oc), makeDraftAdapter(oc), makeBrepkitOnlyStubs());
@@ -9622,6 +9657,7 @@ function makeCoreOps$1(bk) {
9622
9657
  var BrepkitAdapter = class {
9623
9658
  oc;
9624
9659
  kernelId = "brepkit";
9660
+ capabilities = EXACT_BREP_CAPABILITIES;
9625
9661
  /** The underlying brepkit WASM kernel instance (typed). */
9626
9662
  bk;
9627
9663
  constructor(brepkitKernel) {
@@ -10062,8 +10098,8 @@ function translationMatrix(x, y, z) {
10062
10098
  m[14] = z;
10063
10099
  return m;
10064
10100
  }
10065
- function rotationMatrix(angleDeg, axis, center) {
10066
- const rad = angleDeg * Math.PI / 180;
10101
+ function rotationMatrix(angleRad, axis, center) {
10102
+ const rad = angleRad;
10067
10103
  const [ax, ay, az] = normalizeAxis(axis);
10068
10104
  const c = Math.cos(rad);
10069
10105
  const s = Math.sin(rad);
@@ -10859,10 +10895,22 @@ function rotationMinimizingFrames(path, seed) {
10859
10895
  }
10860
10896
  //#endregion
10861
10897
  //#region src/kernel/manifold/profileOps.ts
10862
- /** Segments used to approximate a full circle; arcs scale by angle span. */
10898
+ /** Fallback full-circle segment count when the kernel exposes no quality fn. */
10863
10899
  var FULL_CIRCLE_SEGMENTS = 24;
10864
10900
  /** Bezier sampling segments per edge. */
10865
10901
  var BEZIER_SEGMENTS = 24;
10902
+ /**
10903
+ * Full-circle segment count, following the Manifold global quality setting
10904
+ * (`getCircularSegments`) when available so profile-curve fidelity scales with
10905
+ * the kernel's tessellation quality — fine for accuracy-sensitive callers,
10906
+ * coarse for fast preview — instead of a hardcoded constant. Set by
10907
+ * {@link makeProfileBuilders}.
10908
+ */
10909
+ var circularSegmentsFor = null;
10910
+ function fullCircleSegments(radius) {
10911
+ const n = circularSegmentsFor ? circularSegmentsFor(Math.max(Math.abs(radius), 1e-6)) : FULL_CIRCLE_SEGMENTS;
10912
+ return Math.max(FULL_CIRCLE_SEGMENTS, n);
10913
+ }
10866
10914
  var ZERO3 = [
10867
10915
  0,
10868
10916
  0,
@@ -10876,8 +10924,8 @@ var PLACEHOLDER = {
10876
10924
  function at3(pts, i) {
10877
10925
  return pts[i] ?? ZERO3;
10878
10926
  }
10879
- function arcSegments(angleSpan) {
10880
- return Math.max(2, Math.ceil(Math.abs(angleSpan) / (2 * Math.PI) * FULL_CIRCLE_SEGMENTS));
10927
+ function arcSegments(angleSpan, radius = 1) {
10928
+ return Math.max(2, Math.ceil(Math.abs(angleSpan) / (2 * Math.PI) * fullCircleSegments(radius)));
10881
10929
  }
10882
10930
  function pickPerp(n) {
10883
10931
  return normalize3(cross(n, Math.abs(n[0]) < .9 ? [
@@ -10896,7 +10944,7 @@ function sampleArc(center, normal, radius, startAngle, endAngle, xDir) {
10896
10944
  const x = xDir ? normalize3(xDir) : pickPerp(n);
10897
10945
  const y = normalize3(cross(n, x));
10898
10946
  const span = endAngle - startAngle;
10899
- const segs = arcSegments(span);
10947
+ const segs = arcSegments(span, radius);
10900
10948
  const pts = [];
10901
10949
  for (let i = 0; i <= segs; i++) {
10902
10950
  const a = startAngle + span * i / segs;
@@ -11032,7 +11080,9 @@ function sampleOcctEdge(occt, edge) {
11032
11080
  function discretizeOcctWire(occt, wire) {
11033
11081
  return chainEdges(occt.iterShapes(wire, "edge").map((e) => sampleOcctEdge(occt, e)));
11034
11082
  }
11035
- function makeProfileBuilders(_module) {
11083
+ function makeProfileBuilders(module) {
11084
+ const getSegs = module.getCircularSegments;
11085
+ if (typeof getSegs === "function") circularSegmentsFor = (r) => getSegs(r);
11036
11086
  function edge(pts, curve) {
11037
11087
  return wrap(PLACEHOLDER, makeNode("profileEdge", curve ? {
11038
11088
  pts,
@@ -11165,8 +11215,9 @@ function makeProfileBuilders(_module) {
11165
11215
  const x = xDir ? normalize3(xDir) : pickPerp(n);
11166
11216
  const y = normalize3(cross(n, x));
11167
11217
  const pts = [];
11168
- for (let i = 0; i <= FULL_CIRCLE_SEGMENTS; i++) {
11169
- const a = 2 * Math.PI * i / FULL_CIRCLE_SEGMENTS;
11218
+ const segs = fullCircleSegments(Math.max(majorRadius, minorRadius));
11219
+ for (let i = 0; i <= segs; i++) {
11220
+ const a = 2 * Math.PI * i / segs;
11170
11221
  pts.push(add(center, add(scaleVec(x, majorRadius * Math.cos(a)), scaleVec(y, minorRadius * Math.sin(a)))));
11171
11222
  }
11172
11223
  return pts;
@@ -13405,8 +13456,7 @@ function hashCode(shape, upperBound) {
13405
13456
  function isNull(shape) {
13406
13457
  const s = asManifoldShape(shape);
13407
13458
  if (!s) return true;
13408
- const solid = unwrap(s);
13409
- return !solid || typeof solid.isEmpty === "function" && solid.isEmpty();
13459
+ return !unwrap(s);
13410
13460
  }
13411
13461
  function iterShapes(shape, type) {
13412
13462
  const s = asManifoldShape(shape);
@@ -14959,9 +15009,32 @@ function makeCoreOps(_module) {
14959
15009
  discardCheckpoint: () => notImplemented("discardCheckpoint")
14960
15010
  };
14961
15011
  }
15012
+ /** Manifold min circular angle (degrees) per quality level: finer ⇒ smaller angle ⇒ more segments. */
15013
+ var MIN_CIRCULAR_ANGLE_DEG = {
15014
+ draft: 30,
15015
+ standard: 10,
15016
+ fine: 3
15017
+ };
14962
15018
  var ManifoldAdapter = class {
14963
15019
  oc;
14964
15020
  kernelId = "manifold";
15021
+ capabilities = {
15022
+ exact: false,
15023
+ brepExport: false,
15024
+ exactMeasurement: false,
15025
+ tessellationModel: "build-time"
15026
+ };
15027
+ /**
15028
+ * Map a quality level to Manifold's global tessellation. Clearing the segment
15029
+ * count and driving by an angle bound makes it radius-adaptive (a small sphere
15030
+ * still gets enough facets).
15031
+ */
15032
+ setQuality(level) {
15033
+ const m = this.oc;
15034
+ m.setCircularSegments?.(0);
15035
+ m.setMinCircularEdgeLength?.(0);
15036
+ m.setMinCircularAngle?.(MIN_CIRCULAR_ANGLE_DEG[level]);
15037
+ }
14965
15038
  constructor(module) {
14966
15039
  this.oc = module;
14967
15040
  Object.assign(this, makePrimitiveOps(module), makeBooleanOps(module), makeTransformOps(module), makeBuilderOps(module), makeSweepOps(module), makeModifierOps(module), makeMeshOps(module), makeMeasureOps(module), makeTopologyOps(module), makeIoOps(module), makeGeometryOps(module), makeEvolutionOps(module), makeRepairOps(module), makeKernel2DOps(module), makeConstraintSketchOps(module), makeProjectionOps(module), makeCoreOps(module));
@@ -15043,6 +15116,53 @@ function withKernel(id, fn) {
15043
15116
  _cachedDefault = prev ? _kernels.get(prev) ?? null : null;
15044
15117
  }
15045
15118
  }
15119
+ /** Capabilities of a kernel (defaults to the active kernel). */
15120
+ function getKernelCapabilities(id) {
15121
+ return getKernel(id).capabilities;
15122
+ }
15123
+ /**
15124
+ * Run `fn` at a tessellation quality level. For `build-time` kernels (Manifold)
15125
+ * the level is pushed to the kernel's global setting on enter and restored on
15126
+ * exit; for `extract-time` kernels (OCCT) it becomes the default deflection at
15127
+ * `mesh()`/export inside `fn`. Synchronous only (mirrors {@link withKernel}).
15128
+ */
15129
+ function withQuality(level, fn) {
15130
+ const prevLevel = currentQuality();
15131
+ try {
15132
+ setQualityState(level);
15133
+ getKernel().setQuality?.(level);
15134
+ const result = fn();
15135
+ if (result instanceof Promise) throw new Error("withQuality() callback returned a Promise. Async code must read currentQuality()/getKernel() directly.");
15136
+ return result;
15137
+ } finally {
15138
+ setQualityState(prevLevel);
15139
+ getKernel().setQuality?.(prevLevel);
15140
+ }
15141
+ }
15142
+ var _tiers = /* @__PURE__ */ new Map();
15143
+ /**
15144
+ * Bind a named tier to a (kernel, quality) pair — e.g. a `'preview'` tier on a
15145
+ * fast mesh kernel at `'draft'` quality, and an `'exact'` tier on an OCCT
15146
+ * kernel at `'fine'`. Lets call sites express intent (`withTier('preview', …)`)
15147
+ * instead of hard-coding a kernel id + quality knob.
15148
+ */
15149
+ function registerKernelTier(name, tier) {
15150
+ _tiers.set(name, tier);
15151
+ }
15152
+ /** The (kernel, quality) a tier resolves to, or undefined if unregistered. */
15153
+ function getKernelTier(name) {
15154
+ return _tiers.get(name);
15155
+ }
15156
+ /**
15157
+ * Run `fn` under a registered tier: switches to the tier's kernel and applies
15158
+ * its quality (both restored on exit). Composes {@link withKernel} and
15159
+ * {@link withQuality}. Throws if the tier is unregistered.
15160
+ */
15161
+ function withTier(name, fn) {
15162
+ const tier = _tiers.get(name);
15163
+ if (!tier) throw new Error(`withTier: no tier registered for "${name}". Call registerKernelTier("${name}", { kernel, quality }) first.`);
15164
+ return withKernel(tier.kernel, () => withQuality(tier.quality, fn));
15165
+ }
15046
15166
  /** Initialise the brepjs kernel from a loaded WASM instance. */
15047
15167
  function initFromOC(oc) {
15048
15168
  resetMeasureDetectionCache();
@@ -15703,4 +15823,4 @@ function castShapeWithKnownType(ocShape, knownType, dim) {
15703
15823
  return createCompound(dc, dim);
15704
15824
  }
15705
15825
  //#endregion
15706
- export { init as $, planarWire as A, createKernelHandle as B, isOrientedFace as C, manifoldShell as D, isValidSolid as E, as3D as F, unregisterFromCleanup as G, isLive as H, is2D as I, withScopeResultAsync as J, withScope as K, is3D as L, getShapeKind as M, getOrQueryType as N, orientedFace as O, as2D as P, getKernel2D as Q, DisposalScope as R, isManifoldShell as S, isPlanarWire as T, registerForCleanup as U, getDisposalStats as V, resetDisposalStats as W, getActiveKernelId as X, _usingCtx as Y, getKernel as Z, isSolid as _, createEdge as a, supportsConstraintSketch as at, closedWire as b, createSolid as c, getPerformanceStats as ct, isCompound as d, initFromManifold as et, isEdge as f, isShell as g, isShape3D as h, createCompound as i, withKernel as it, validSolid as j, planarFace as k, createVertex as l, resetPerformanceStats as lt, isShape1D as m, castShape3D as n, prewarm as nt, createFace as o, supportsProjection as ot, isFace as p, withScopeResult as q, castShapeWithKnownType as r, registerKernel as rt, createShell as s, BrepkitAdapter as st, castShape as t, initFromOC as tt, createWire as u, isVertex as v, isPlanarFace as w, isClosedWire as x, isWire as y, createHandle as z };
15826
+ export { getKernelCapabilities as $, planarWire as A, createKernelHandle as B, isOrientedFace as C, manifoldShell as D, isValidSolid as E, as3D as F, unregisterFromCleanup as G, isLive as H, is2D as I, withScopeResultAsync as J, withScope as K, is3D as L, getShapeKind as M, getOrQueryType as N, orientedFace as O, as2D as P, getKernel2D as Q, DisposalScope as R, isManifoldShell as S, isPlanarWire as T, registerForCleanup as U, getDisposalStats as V, resetDisposalStats as W, getActiveKernelId as X, _usingCtx as Y, getKernel as Z, isSolid as _, createEdge as a, registerKernel as at, closedWire as b, createSolid as c, withQuality as ct, isCompound as d, supportsProjection as dt, getKernelTier as et, isEdge as f, BrepkitAdapter as ft, isShell as g, qualityDeflection as gt, isShape3D as h, currentQuality as ht, createCompound as i, prewarm as it, validSolid as j, planarFace as k, createVertex as l, withTier as lt, isShape1D as m, resetPerformanceStats as mt, castShape3D as n, initFromManifold as nt, createFace as o, registerKernelTier as ot, isFace as p, getPerformanceStats as pt, withScopeResult as q, castShapeWithKnownType as r, initFromOC as rt, createShell as s, withKernel as st, castShape as t, init as tt, createWire as u, supportsConstraintSketch as ut, isVertex as v, isPlanarFace as w, isClosedWire as x, isWire as y, createHandle as z };
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_textBlueprints = require("./textBlueprints-Dl-qQ5Hm.cjs");
3
- const require_blueprintSketcher = require("./blueprintSketcher-J9bAQDhD.cjs");
4
- const require_drawFns = require("./drawFns-B4BFzsPq.cjs");
2
+ const require_textBlueprints = require("./textBlueprints-BROqnpya.cjs");
3
+ const require_blueprintSketcher = require("./blueprintSketcher-Bj39XtSt.cjs");
4
+ const require_drawFns = require("./drawFns-CluLvJOJ.cjs");
5
5
  //#region src/sketching.ts
6
6
  /**
7
7
  * brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.
package/dist/sketching.js CHANGED
@@ -1,6 +1,6 @@
1
- import { n as BaseSketcher2d, t as BlueprintSketcher } from "./blueprintSketcher-BmCyc7s1.js";
2
- import { A as sketchEllipse, C as DrawingPen, 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, T as Drawing, _ 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-0ojbwK2X.js";
3
- import { a as Sketch, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, o as compoundSketchExtrude, p as sketchRevolve, s as compoundSketchFace, u as sketchExtrude, v as CompoundSketch } from "./textBlueprints-BPi0wGxq.js";
1
+ import { n as BaseSketcher2d, t as BlueprintSketcher } from "./blueprintSketcher-nuOhijiI.js";
2
+ import { A as sketchEllipse, C as DrawingPen, 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, T as Drawing, _ 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-CNOti33I.js";
3
+ import { a as Sketch, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, o as compoundSketchExtrude, p as sketchRevolve, s as compoundSketchFace, u as sketchExtrude, v as CompoundSketch } from "./textBlueprints-k0trqpEg.js";
4
4
  //#region src/sketching.ts
5
5
  /**
6
6
  * brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.
@@ -1,6 +1,6 @@
1
- import { Z as getKernel, _ as isSolid, c as createSolid, g as isShell, h as isShape3D, i as createCompound, l as createVertex } from "./shapeTypes-B2tufXyI.js";
1
+ import { Z as getKernel, _ as isSolid, c as createSolid, g as isShell, h as isShape3D, i as createCompound, l as createVertex } from "./shapeTypes-KIrwDkmg.js";
2
2
  import { A as ok, R as unwrap, b as err, l as typeCastError, v as andThen } from "./errors-DNWJsfVU.js";
3
- import { _ as downcast, g as cast } from "./faceFns-DFbEW9oz.js";
3
+ import { _ as downcast, g as cast } from "./faceFns-Bd3zdzrq.js";
4
4
  //#region src/topology/shapeUtils.ts
5
5
  /**
6
6
  * Shape assembly utilities — welding and sewing operations.
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-0gU7DOBf.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-C6gF9fGL.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_faceFns = require("./faceFns-FVl-7nu7.cjs");
3
+ const require_faceFns = require("./faceFns-7g1e493t.cjs");
4
4
  //#region src/topology/shapeUtils.ts
5
5
  /**
6
6
  * Shape assembly utilities — welding and sewing operations.
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-0gU7DOBf.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-C6gF9fGL.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_faceFns = require("./faceFns-FVl-7nu7.cjs");
3
+ const require_faceFns = require("./faceFns-7g1e493t.cjs");
4
4
  //#region src/utils/range.ts
5
5
  /** Generate an array of integers `[0, 1, …, len - 1]`. */
6
6
  function range(len) {
@@ -1,6 +1,6 @@
1
- import { Z as getKernel, a as createEdge, o as createFace, p as isFace, u as createWire, w as isPlanarFace } from "./shapeTypes-B2tufXyI.js";
1
+ import { Z as getKernel, a as createEdge, o as createFace, p as isFace, u as createWire, w as isPlanarFace } from "./shapeTypes-KIrwDkmg.js";
2
2
  import { A as ok, b as err, d as validationError, i as kernelError, v as andThen } from "./errors-DNWJsfVU.js";
3
- import { g as cast, l as outerWire } from "./faceFns-DFbEW9oz.js";
3
+ import { g as cast, l as outerWire } from "./faceFns-Bd3zdzrq.js";
4
4
  //#region src/utils/range.ts
5
5
  /** Generate an array of integers `[0, 1, …, len - 1]`. */
6
6
  function range(len) {
package/dist/text.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_textBlueprints = require("./textBlueprints-Dl-qQ5Hm.cjs");
3
- const require_textMetrics = require("./textMetrics-CDEnxSK0.cjs");
2
+ const require_textBlueprints = require("./textBlueprints-BROqnpya.cjs");
3
+ const require_textMetrics = require("./textMetrics-dS4ldSza.cjs");
4
4
  exports.fontMetrics = require_textMetrics.fontMetrics;
5
5
  exports.getFont = require_textBlueprints.getFont;
6
6
  exports.loadFont = require_textBlueprints.loadFont;
package/dist/text.js CHANGED
@@ -1,3 +1,3 @@
1
- import { n as getFont, r as loadFont, t as textBlueprints } from "./textBlueprints-BPi0wGxq.js";
2
- import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-yWTfUPqx.js";
1
+ import { n as getFont, r as loadFont, t as textBlueprints } from "./textBlueprints-k0trqpEg.js";
2
+ import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-DnOTH1ld.js";
3
3
  export { fontMetrics, getFont, loadFont, sketchText, textBlueprints, textMetrics };
@@ -29,18 +29,18 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
29
29
  enumerable: true
30
30
  }) : target, mod));
31
31
  //#endregion
32
- const require_shapeTypes = require("./shapeTypes-0gU7DOBf.cjs");
32
+ const require_shapeTypes = require("./shapeTypes-C6gF9fGL.cjs");
33
33
  const require_errors = require("./errors-CXJtc4I7.cjs");
34
34
  const require_types = require("./types-KjA8tY4Y.cjs");
35
35
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
36
36
  const require_planeOps = require("./planeOps-BA4HfgQu.cjs");
37
- const require_faceFns = require("./faceFns-FVl-7nu7.cjs");
38
- const require_curveFns = require("./curveFns-DOW3Rs1A.cjs");
37
+ const require_faceFns = require("./faceFns-7g1e493t.cjs");
38
+ const require_curveFns = require("./curveFns-BlfkX_gl.cjs");
39
39
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
40
- const require_surfaceBuilders = require("./surfaceBuilders-BjiUI8f_.cjs");
41
- const require_blueprintSketcher = require("./blueprintSketcher-J9bAQDhD.cjs");
42
- const require_solidBuilders = require("./solidBuilders-CdWC9FZI.cjs");
43
- const require_extrudeFns = require("./extrudeFns-D0IrXWsB.cjs");
40
+ const require_surfaceBuilders = require("./surfaceBuilders-DSgKSrN-.cjs");
41
+ const require_blueprintSketcher = require("./blueprintSketcher-Bj39XtSt.cjs");
42
+ const require_solidBuilders = require("./solidBuilders-Ii8I669S.cjs");
43
+ const require_extrudeFns = require("./extrudeFns-DYn4rntp.cjs");
44
44
  let opentype_js = require("opentype.js");
45
45
  opentype_js = __toESM(opentype_js, 1);
46
46
  //#region src/operations/loftFns.ts
@@ -1,15 +1,15 @@
1
- import { Z as getKernel, h as isShape3D, o as createFace, p as isFace, t as castShape, u as createWire } from "./shapeTypes-B2tufXyI.js";
1
+ import { Z as getKernel, h as isShape3D, o as createFace, p as isFace, t as castShape, u as createWire } from "./shapeTypes-KIrwDkmg.js";
2
2
  import { A as ok, R as unwrap, T as isOk, b as err, d as validationError, h as bug, i as kernelError, l as typeCastError, r as ioError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
3
3
  import { r as toVec3 } from "./types-D24Y27N0.js";
4
4
  import { d as vecNormalize, h as vecScale, r as vecCross } from "./vecOps-SKPRvPH-.js";
5
5
  import { n as createPlane } from "./planeOps-DSjjtrjg.js";
6
- import { _ as downcast, g as cast } from "./faceFns-DFbEW9oz.js";
7
- import { c as curveStartPoint, l as curveTangentAt } from "./curveFns-BcS0DZLj.js";
6
+ import { _ as downcast, g as cast } from "./faceFns-Bd3zdzrq.js";
7
+ import { c as curveStartPoint, l as curveTangentAt } from "./curveFns-BIj3b16T.js";
8
8
  import { n as getAtOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
9
- import { i as makeNewFaceWithinFace, r as makeFace, t as addHolesInFace } from "./surfaceBuilders-BZOjOk6T.js";
10
- import { r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-BmCyc7s1.js";
11
- import { o as makeSolid, t as makeCompound } from "./solidBuilders-3Is-YjEI.js";
12
- import { c as sweep, i as complexExtrude, l as twistExtrude, r as revolve, t as extrude } from "./extrudeFns-CrTb7bjb.js";
9
+ import { i as makeNewFaceWithinFace, r as makeFace, t as addHolesInFace } from "./surfaceBuilders-VOedQa9z.js";
10
+ import { r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-nuOhijiI.js";
11
+ import { o as makeSolid, t as makeCompound } from "./solidBuilders-CN91DyTF.js";
12
+ import { c as sweep, i as complexExtrude, l as twistExtrude, r as revolve, t as extrude } from "./extrudeFns-CaBzNeiI.js";
13
13
  import opentype from "opentype.js";
14
14
  //#region src/operations/loftFns.ts
15
15
  /**
@@ -1,5 +1,5 @@
1
1
  import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
2
- import { g as wrapSketchData, i as Sketches, n as getFont, t as textBlueprints, v as CompoundSketch } from "./textBlueprints-BPi0wGxq.js";
2
+ import { g as wrapSketchData, i as Sketches, n as getFont, t as textBlueprints, v as CompoundSketch } from "./textBlueprints-k0trqpEg.js";
3
3
  //#region src/text/sketchText.ts
4
4
  /**
5
5
  * Render text as 3D sketch outlines on a plane.
@@ -1,4 +1,4 @@
1
- const require_textBlueprints = require("./textBlueprints-Dl-qQ5Hm.cjs");
1
+ const require_textBlueprints = require("./textBlueprints-BROqnpya.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
3
  //#region src/text/sketchText.ts
4
4
  /**
@@ -31,9 +31,9 @@ export interface EdgeMesh {
31
31
  }
32
32
  /** Shared options for meshing operations. */
33
33
  export interface MeshOptions {
34
- /** Linear deflection tolerance (default 1e-3). Smaller = finer mesh. */
34
+ /** Linear deflection tolerance. Smaller = finer mesh. Defaults to the active quality level. */
35
35
  tolerance?: number;
36
- /** Angular deflection tolerance in radians (default 0.1). Smaller = finer mesh on curved surfaces. */
36
+ /** Angular deflection tolerance in radians. Smaller = finer mesh on curved surfaces. Defaults to the active quality level. */
37
37
  angularTolerance?: number;
38
38
  /** Abort signal to cancel mesh generation between face iterations. */
39
39
  signal?: AbortSignal;
@@ -47,7 +47,7 @@ export interface MeshOptions {
47
47
  * @returns A ShapeMesh containing typed arrays ready for GPU upload.
48
48
  * @see toBufferGeometryData — convert to Three.js BufferGeometry format
49
49
  */
50
- export declare function mesh(shape: AnyShape<Dimension>, { tolerance, angularTolerance, skipNormals, includeUVs, cache, signal, }?: MeshOptions & {
50
+ export declare function mesh(shape: AnyShape<Dimension>, opts?: MeshOptions & {
51
51
  skipNormals?: boolean;
52
52
  includeUVs?: boolean;
53
53
  cache?: boolean;
@@ -60,7 +60,7 @@ export declare function mesh(shape: AnyShape<Dimension>, { tolerance, angularTol
60
60
  * @returns An EdgeMesh containing line vertex positions and per-edge groups.
61
61
  * @see toLineGeometryData — convert to Three.js LineSegments format
62
62
  */
63
- export declare function meshEdges(shape: AnyShape<Dimension>, { tolerance, angularTolerance, cache }?: MeshOptions & {
63
+ export declare function meshEdges(shape: AnyShape<Dimension>, opts?: MeshOptions & {
64
64
  cache?: boolean;
65
65
  }): EdgeMesh;
66
66
  export declare function exportSTEP(shape: AnyShape<Dimension>): Result<Blob>;
@@ -69,7 +69,7 @@ export declare function exportSTEP(shape: AnyShape<Dimension>): Result<Blob>;
69
69
  *
70
70
  * @returns Ok with a Blob (MIME type `application/sla`), or Err on failure.
71
71
  */
72
- export declare function exportSTL(shape: AnyShape<Dimension>, { tolerance, angularTolerance, binary, }?: MeshOptions & {
72
+ export declare function exportSTL(shape: AnyShape<Dimension>, opts?: MeshOptions & {
73
73
  binary?: boolean;
74
74
  }): Result<Blob>;
75
75
  /**
package/dist/topology.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_topologyQueryFns = require("./topologyQueryFns-CI4gmFyi.cjs");
3
- const require_faceFns = require("./faceFns-FVl-7nu7.cjs");
4
- const require_shapeFns = require("./shapeFns-Uplvk1Jx.cjs");
5
- const require_curveFns = require("./curveFns-DOW3Rs1A.cjs");
6
- const require_meshFns = require("./meshFns-D2rcmVr_.cjs");
7
- const require_booleanFns = require("./booleanFns-9qTQX1iM.cjs");
8
- const require_primitiveFns = require("./primitiveFns-B7BJjuHU.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-CseKGFog.cjs");
3
+ const require_faceFns = require("./faceFns-7g1e493t.cjs");
4
+ const require_shapeFns = require("./shapeFns-B15j-oke.cjs");
5
+ const require_curveFns = require("./curveFns-BlfkX_gl.cjs");
6
+ const require_meshFns = require("./meshFns-0wmojo6X.cjs");
7
+ const require_booleanFns = require("./booleanFns-D-wTRioN.cjs");
8
+ const require_primitiveFns = require("./primitiveFns-BVpOZIFy.cjs");
9
9
  exports.addHoles = require_primitiveFns.addHoles;
10
10
  exports.adjacentFaces = require_primitiveFns.adjacentFaces;
11
11
  exports.approximateCurve = require_curveFns.approximateCurve;
package/dist/topology.js CHANGED
@@ -1,8 +1,8 @@
1
- import { S as vertexPosition, _ as iterFaces, b as iterVertices, c as getFaces, f as getVertices, g as iterEdges, m as invalidateShapeCache, n as getBounds, p as getWires, s as getEdges, x as iterWires } from "./topologyQueryFns-CxPWWuGB.js";
2
- import { _ as downcast, a as flipFaceOrientation, b as iterTopo, c as normalAt, d as projectPointOnFace, 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-DFbEW9oz.js";
3
- import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-Cu8myB5f.js";
4
- 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-BcS0DZLj.js";
5
- import { c as createMeshCache, n as exportSTEP, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-DZA-Hsya.js";
6
- import { a as fuseAll, r as cutAll } from "./booleanFns-4_KnvEil.js";
7
- import { $ as fuseAllBisect, A as fixShape, C as threePointArc, D as wireLoop, E as wire, G as chamferWithEvolution, I as solidFromShell, J as fuseWithEvolution, K as cutWithEvolution, M as healFace, N as healSolid, O as autoHeal, P as healWire, Q as cutAllBisect, S as tangentArc, T as vertex, U as variableFillet, 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, et as getNurbsCurveData, f as face, ft as toLineGeometryData, g as offsetFace, h as line, i as bsplineApprox, it as facesOfEdge, 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 } from "./primitiveFns-_A-uhxX7.js";
1
+ import { S as vertexPosition, _ as iterFaces, b as iterVertices, c as getFaces, f as getVertices, g as iterEdges, m as invalidateShapeCache, n as getBounds, p as getWires, s as getEdges, x as iterWires } from "./topologyQueryFns-Bkr82t7v.js";
2
+ import { _ as downcast, a as flipFaceOrientation, b as iterTopo, c as normalAt, d as projectPointOnFace, 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-Bd3zdzrq.js";
3
+ import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-Bf3fSMLC.js";
4
+ 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-BIj3b16T.js";
5
+ import { c as createMeshCache, n as exportSTEP, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-BYLqZcfo.js";
6
+ import { a as fuseAll, r as cutAll } from "./booleanFns-CN5sVkm6.js";
7
+ import { $ as fuseAllBisect, A as fixShape, C as threePointArc, D as wireLoop, E as wire, G as chamferWithEvolution, I as solidFromShell, J as fuseWithEvolution, K as cutWithEvolution, M as healFace, N as healSolid, O as autoHeal, P as healWire, Q as cutAllBisect, S as tangentArc, T as vertex, U as variableFillet, 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, et as getNurbsCurveData, f as face, ft as toLineGeometryData, g as offsetFace, h as line, i as bsplineApprox, it as facesOfEdge, 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 } from "./primitiveFns-BJ5PwAOM.js";
8
8
  export { addHoles, adjacentFaces, approximateCurve, asTopo, autoHeal, bezier, box, bsplineApprox, cast, chamferDistAngle as chamferDistAngleShape, chamferWithEvolution, checkBoolean, circle, classifyPointOnFace, clearMeshCache, compound, cone, createMeshCache, curveEndPoint, curveIsClosed, curveIsPeriodic, curveLength, curvePeriod, curvePointAt, curveStartPoint, curveTangentAt, cutAll, cutAllBisect, cutWithEvolution, cylinder, fromBREP as deserializeShape, downcast, edgesOfFace, ellipse, ellipseArc, ellipsoid, exportIGES, exportSTEP, exportSTL, face, faceCenter, faceGeomType, faceOrientation, facesOfEdge, filledFace, filletWithEvolution, fixSelfIntersection, fixShape, flipFaceOrientation, flipOrientation, fuseAll, fuseAllBisect, fuseWithEvolution, getBounds, getCurveType, getEdges, getFaces, getHashCode, getNurbsCurveData, getNurbsSurfaceData, getOrientation, getSurfaceType, getVertices, getWires, healFace, healSolid, healWire, helix, innerWires, interpolateCurve, intersectWithEvolution, invalidateShapeCache, isCompSolid, isEqualShape, isSameShape, iterEdges, iterFaces, iterTopo, iterVertices, iterWires, line, normalAt, offsetFace, offsetWire2D, outerWire, pointOnSurface, polygon, positionOnCurve, projectPointOnFace, sewShells, shapeType, sharedEdges, shellWithEvolution, solid, solidFromShell, sphere, subFace, tangentArc, threePointArc, toBufferGeometryData, toGroupedBufferGeometryData, toLineGeometryData, torus, uvBounds, uvCoordinates, variableFillet, vertex, vertexPosition, verticesOfEdge, wire, wireLoop, wiresOfFace };
@@ -1,4 +1,4 @@
1
- import { N as getOrQueryType, R as DisposalScope, Y as _usingCtx, Z as getKernel, r as castShapeWithKnownType, t as castShape } from "./shapeTypes-B2tufXyI.js";
1
+ import { N as getOrQueryType, R as DisposalScope, Y as _usingCtx, Z as getKernel, r as castShapeWithKnownType, t as castShape } from "./shapeTypes-KIrwDkmg.js";
2
2
  import { A as ok, b as err, f as getSuggestionForCode, p as translateKernelError } from "./errors-DNWJsfVU.js";
3
3
  //#region src/core/kernelCall.ts
4
4
  function buildError(kind, code, message, cause, suggestion) {
@@ -1,4 +1,4 @@
1
- const require_shapeTypes = require("./shapeTypes-0gU7DOBf.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-C6gF9fGL.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
3
  //#region src/core/kernelCall.ts
4
4
  function buildError(kind, code, message, cause, suggestion) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brepjs",
3
- "version": "18.64.0",
3
+ "version": "18.66.0",
4
4
  "description": "Web CAD library with pluggable geometry kernel",
5
5
  "keywords": [
6
6
  "cad",