brepjs 18.74.1 → 18.75.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 (81) hide show
  1. package/dist/2d.cjs +6 -6
  2. package/dist/2d.js +6 -6
  3. package/dist/{blueprint-DihpXYMK.cjs → blueprint-DiaBfB57.cjs} +5 -5
  4. package/dist/{blueprint-6PeP6v2f.js → blueprint-OgMkiq7a.js} +5 -5
  5. package/dist/{blueprintFns-Cs-W4h4M.js → blueprintFns-C3EQ12Ix.js} +2 -2
  6. package/dist/{blueprintFns-Cy7lDEbD.cjs → blueprintFns-uYr43qo4.cjs} +2 -2
  7. package/dist/{blueprintSketcher-DcdEGIqB.js → blueprintSketcher-Bp3oMzVW.js} +3 -3
  8. package/dist/{blueprintSketcher-BDYo5dt-.cjs → blueprintSketcher-CZqT7_gf.cjs} +3 -3
  9. package/dist/{boolean2D-DaVXVhSh.cjs → boolean2D-4fXjKx5f.cjs} +4 -4
  10. package/dist/{boolean2D-DjrMcnMs.js → boolean2D-DXti_c7k.js} +4 -4
  11. package/dist/{booleanFns-DIeeeOaS.js → booleanFns-Cu-J1THp.js} +4 -4
  12. package/dist/{booleanFns-DCXqDGPd.cjs → booleanFns-DxnTjP19.cjs} +4 -4
  13. package/dist/brepjs.cjs +25 -25
  14. package/dist/brepjs.js +25 -25
  15. package/dist/{cameraFns-DmpsjoqQ.js → cameraFns-Ctxe8ev-.js} +2 -2
  16. package/dist/{cameraFns-CJzh4iuj.cjs → cameraFns-G2lc5c9M.cjs} +2 -2
  17. package/dist/core.cjs +1 -1
  18. package/dist/core.js +1 -1
  19. package/dist/{cornerFinder-jqX0KG9s.cjs → cornerFinder-CAoT1uIs.cjs} +1 -1
  20. package/dist/{cornerFinder-DVuSb6-g.js → cornerFinder-CmXx269_.js} +1 -1
  21. package/dist/{curveFns--XMHTocr.js → curveFns-C7t4yHtQ.js} +1 -1
  22. package/dist/{curveFns-DtfPCynP.cjs → curveFns-DQlllRhs.cjs} +1 -1
  23. package/dist/{drawFns-yqaxPXGG.js → drawFns-B7l3h4FX.js} +12 -12
  24. package/dist/{drawFns-BxdX6Gni.cjs → drawFns-SddAG_uY.cjs} +12 -12
  25. package/dist/{extrudeFns-x8e57uyS.cjs → extrudeFns-b7JHaMsv.cjs} +1 -1
  26. package/dist/{extrudeFns-XHmvD7Dx.js → extrudeFns-msxcCUm2.js} +1 -1
  27. package/dist/{faceFns-MKPUk9C5.js → faceFns-BJ0mbRh5.js} +2 -2
  28. package/dist/{faceFns-SVDlKPRF.cjs → faceFns-CZvemlPW.cjs} +2 -2
  29. package/dist/{helpers-Ca8WmwCj.cjs → helpers-CRBTGZO7.cjs} +6 -6
  30. package/dist/{helpers-Cric5loB.js → helpers-CYSAsvRe.js} +6 -6
  31. package/dist/{historyFns-BMMInQRI.js → historyFns-BV5sQxft.js} +4 -4
  32. package/dist/{historyFns-hN8uoEfF.cjs → historyFns-xUNAdUYV.cjs} +4 -4
  33. package/dist/{importFns-Cbmw3sxF.cjs → importFns-BY0rgGAN.cjs} +2 -2
  34. package/dist/{importFns-BgoGUk2z.js → importFns-eHSyuIJF.js} +2 -2
  35. package/dist/io.cjs +2 -2
  36. package/dist/io.js +2 -2
  37. package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
  38. package/dist/kernel/occtWasm/occtWasmAdapter.d.ts +1 -1
  39. package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -1
  40. package/dist/kernel/occtWasm/surfaceOps.d.ts +6 -11
  41. package/dist/{measureFns-BopOdCy3.cjs → measureFns-CRS3U8gj.cjs} +3 -3
  42. package/dist/{measureFns-BR4QEtEp.js → measureFns-DYeTPyHr.js} +3 -3
  43. package/dist/measurement.cjs +1 -1
  44. package/dist/measurement.js +1 -1
  45. package/dist/{meshFns-BmkPoN2B.js → meshFns-CLQL2D95.js} +3 -3
  46. package/dist/{meshFns-L5c_j5M9.cjs → meshFns-CvmTzMPL.cjs} +3 -3
  47. package/dist/{occtWasmAdapter-Crs07qIe.cjs → occtWasmAdapter-DdghAlnN.cjs} +49 -27
  48. package/dist/{occtWasmAdapter-D0MtWZYO.js → occtWasmAdapter-m4Nua92H.js} +49 -27
  49. package/dist/operations.cjs +2 -2
  50. package/dist/operations.js +2 -2
  51. package/dist/{primitiveFns-B-9QhDl7.js → primitiveFns-B6Q6lx9-.js} +7 -7
  52. package/dist/{primitiveFns-qpPE5R8j.cjs → primitiveFns-FudrSXrp.cjs} +7 -7
  53. package/dist/projection.cjs +1 -1
  54. package/dist/projection.js +1 -1
  55. package/dist/query.cjs +2 -2
  56. package/dist/query.js +2 -2
  57. package/dist/{shapeFns-gKgMm-64.js → shapeFns-CQRGTifg.js} +2 -2
  58. package/dist/{shapeFns-D4BQn_zI.cjs → shapeFns-CQmd2W5F.cjs} +2 -2
  59. package/dist/shapeRef.cjs +1 -1
  60. package/dist/shapeRef.js +1 -1
  61. package/dist/{shapeRefFns-5fCvQBSB.cjs → shapeRefFns-DoPplxoN.cjs} +4 -4
  62. package/dist/{shapeRefFns-B1UpIhDY.js → shapeRefFns-DvIvS0do.js} +4 -4
  63. package/dist/{shapeTypes-D-rrSLH2.cjs → shapeTypes-C4cMKLoj.cjs} +1 -1
  64. package/dist/{shapeTypes-BWeil_Mz.js → shapeTypes-VCBsDI43.js} +1 -1
  65. package/dist/sketching.cjs +3 -3
  66. package/dist/sketching.js +3 -3
  67. package/dist/{solidBuilders-Cq942r9s.cjs → solidBuilders-B0Hzin8a.cjs} +2 -2
  68. package/dist/{solidBuilders-BaRC8vgR.js → solidBuilders-DBsHetmI.js} +2 -2
  69. package/dist/{surfaceBuilders-0SwRwnZg.js → surfaceBuilders-DllH3kXs.js} +2 -2
  70. package/dist/{surfaceBuilders-Cu7NNqHH.cjs → surfaceBuilders-QK_Cnn_u.cjs} +2 -2
  71. package/dist/text.cjs +2 -2
  72. package/dist/text.js +2 -2
  73. package/dist/{textBlueprints-DTyg8Yvq.cjs → textBlueprints-BxbCj29U.cjs} +7 -7
  74. package/dist/{textBlueprints-CQCf61Vk.js → textBlueprints-C9ne8G24.js} +7 -7
  75. package/dist/{textMetrics-Kiit-Ku7.cjs → textMetrics-DRfvY1yT.cjs} +1 -1
  76. package/dist/{textMetrics-CYNIS7TM.js → textMetrics-Ddpxhy0z.js} +1 -1
  77. package/dist/topology.cjs +7 -7
  78. package/dist/topology.js +7 -7
  79. package/dist/{topologyQueryFns-BFg1T8YA.cjs → topologyQueryFns-Bj5wpC75.cjs} +1 -1
  80. package/dist/{topologyQueryFns-CtwjrlEc.js → topologyQueryFns-BtfhAVY2.js} +1 -1
  81. package/package.json +1 -1
@@ -1,9 +1,9 @@
1
- import { B as createKernelHandle, Z as getKernel, t as castShape } from "./shapeTypes-BWeil_Mz.js";
1
+ import { B as createKernelHandle, Z as getKernel, t as castShape } from "./shapeTypes-VCBsDI43.js";
2
2
  import { A as ok, b as err, d as validationError, n as computationError, r as ioError } from "./errors-DNWJsfVU.js";
3
3
  import { d as vecNormalize, s as vecIsZero } from "./vecOps-SKPRvPH-.js";
4
- import { y as fromBREP } from "./faceFns-MKPUk9C5.js";
5
- import { s as toBREP } from "./shapeFns-gKgMm-64.js";
6
- import { a as fuseAll } from "./booleanFns-DIeeeOaS.js";
4
+ import { y as fromBREP } from "./faceFns-BJ0mbRh5.js";
5
+ import { s as toBREP } from "./shapeFns-CQRGTifg.js";
6
+ import { a as fuseAll } from "./booleanFns-Cu-J1THp.js";
7
7
  //#region src/utils/uuid.ts
8
8
  /** Generate a v4-style UUID string using `crypto.getRandomValues`. */
9
9
  function uuidv() {
@@ -1,9 +1,9 @@
1
- const require_shapeTypes = require("./shapeTypes-D-rrSLH2.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-C4cMKLoj.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
3
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
4
- const require_faceFns = require("./faceFns-SVDlKPRF.cjs");
5
- const require_shapeFns = require("./shapeFns-D4BQn_zI.cjs");
6
- const require_booleanFns = require("./booleanFns-DCXqDGPd.cjs");
4
+ const require_faceFns = require("./faceFns-CZvemlPW.cjs");
5
+ const require_shapeFns = require("./shapeFns-CQmd2W5F.cjs");
6
+ const require_booleanFns = require("./booleanFns-DxnTjP19.cjs");
7
7
  //#region src/utils/uuid.ts
8
8
  /** Generate a v4-style UUID string using `crypto.getRandomValues`. */
9
9
  function uuidv() {
@@ -1,8 +1,8 @@
1
- const require_shapeTypes = require("./shapeTypes-D-rrSLH2.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-C4cMKLoj.cjs");
2
2
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
3
3
  const require_errors = require("./errors-CXJtc4I7.cjs");
4
4
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
5
- const require_blueprint = require("./blueprint-DihpXYMK.cjs");
5
+ const require_blueprint = require("./blueprint-DiaBfB57.cjs");
6
6
  //#region src/io/objExportFns.ts
7
7
  /** Read a vec3 from a typed array at the given vertex index. */
8
8
  function vec3At(arr, i) {
@@ -1,8 +1,8 @@
1
- import { Z as getKernel, t as castShape } from "./shapeTypes-BWeil_Mz.js";
1
+ import { Z as getKernel, t as castShape } from "./shapeTypes-VCBsDI43.js";
2
2
  import { n as wasmIndex, t as vec3At$1 } from "./vec3-Dpha8d5k.js";
3
3
  import { A as ok, b as err, r as ioError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
4
4
  import { n as getAtOrThrow } from "./arrayAccess-DrUGPADn.js";
5
- import { f as make2dSegmentCurve, m as make2dThreePointArc, s as make2dBezierCurve, t as Blueprint } from "./blueprint-6PeP6v2f.js";
5
+ import { f as make2dSegmentCurve, m as make2dThreePointArc, s as make2dBezierCurve, t as Blueprint } from "./blueprint-OgMkiq7a.js";
6
6
  //#region src/io/objExportFns.ts
7
7
  /** Read a vec3 from a typed array at the given vertex index. */
8
8
  function vec3At(arr, i) {
package/dist/io.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_meshFns = require("./meshFns-L5c_j5M9.cjs");
3
- const require_importFns = require("./importFns-Cbmw3sxF.cjs");
2
+ const require_meshFns = require("./meshFns-CvmTzMPL.cjs");
3
+ const require_importFns = require("./importFns-BY0rgGAN.cjs");
4
4
  exports.blueprintToDXF = require_importFns.blueprintToDXF;
5
5
  exports.exportDXF = require_importFns.exportDXF;
6
6
  exports.exportGlb = require_importFns.exportGlb;
package/dist/io.js CHANGED
@@ -1,3 +1,3 @@
1
- import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-BmkPoN2B.js";
2
- 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-BgoGUk2z.js";
1
+ import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-CLQL2D95.js";
2
+ 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-eHSyuIJF.js";
3
3
  export { blueprintToDXF, exportDXF, exportGlb, exportGltf, exportIGES, exportOBJ, exportSTEP, exportSTEPConfigured, exportSTL, exportThreeMF, importIGES, importSTEP, importSTL, importSVG, importSVGPathD };
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_occtWasmAdapter = require("../../occtWasmAdapter-Crs07qIe.cjs");
2
+ const require_occtWasmAdapter = require("../../occtWasmAdapter-DdghAlnN.cjs");
3
3
  exports.OcctWasmAdapter = require_occtWasmAdapter.OcctWasmAdapter;
@@ -317,7 +317,7 @@ export declare class OcctWasmAdapter implements KernelAdapter {
317
317
  classifyPointWinding(_shape: KernelShape, _point: [number, number, number], _tolerance: number): string;
318
318
  approximateSurfaceLspia(_coords: number[], _rows: number, _cols: number, _degreeU: number, _degreeV: number, _numCpsU: number, _numCpsV: number, _tolerance: number, _maxIterations: number): KernelShape;
319
319
  untrimFace(_face: KernelShape, _samplesPerCurve: number, _interiorSamples: number): KernelShape;
320
- getSurfaceCylinderData(_surface: KernelType): {
320
+ getSurfaceCylinderData(surface: KernelType): {
321
321
  radius: number;
322
322
  isDirect: boolean;
323
323
  } | null;
@@ -1,2 +1,2 @@
1
- import { t as OcctWasmAdapter } from "../../occtWasmAdapter-D0MtWZYO.js";
1
+ import { t as OcctWasmAdapter } from "../../occtWasmAdapter-m4Nua92H.js";
2
2
  export { OcctWasmAdapter };
@@ -12,21 +12,16 @@ export declare function outerWire(k: OcctKernelWasm, face: KernelShape): KernelS
12
12
  export declare function surfaceNormal(k: OcctKernelWasm, face: KernelShape, u: number, v: number): [number, number, number];
13
13
  export declare function pointOnSurface(k: OcctKernelWasm, face: KernelShape, u: number, v: number): [number, number, number];
14
14
  type V3 = [number, number, number];
15
- /**
16
- * Derive a cylindrical face's axis (point on axis + unit direction) from the
17
- * primitives occt-wasm exposes — it has no analytic `gp_Cylinder` accessor.
18
- *
19
- * Two surface samples at the same height v give radial normals n1,n2 (lying in
20
- * the plane perpendicular to the axis), so `n1 x n2` is parallel to the axis.
21
- * The points satisfy `p1 - p2 = ±r(n1 - n2)`, giving the radius
22
- * `r = |p1-p2| / |n1-n2|`; the axis point is then `p - r·n` with the normal's
23
- * sign chosen so both samples agree. Exact for full and partial cylinders.
24
- * Returns null for non-cylinders.
25
- */
15
+ /** Cylindrical face axis (point on axis + unit direction). Null for non-cylinders. */
26
16
  export declare function getSurfaceAxis(k: OcctKernelWasm, face: KernelShape): {
27
17
  origin: V3;
28
18
  direction: V3;
29
19
  } | null;
20
+ /** Cylinder radius + handedness for a cylindrical surface. Null for non-cylinders. */
21
+ export declare function getSurfaceCylinderData(k: OcctKernelWasm, surface: KernelShape): {
22
+ radius: number;
23
+ isDirect: boolean;
24
+ } | null;
30
25
  export declare function uvFromPoint(k: OcctKernelWasm, face: KernelShape, point: [number, number, number]): [number, number] | null;
31
26
  export declare function projectPointOnFace(k: OcctKernelWasm, face: KernelShape, point: [number, number, number]): [number, number, number];
32
27
  export declare function classifyPointOnFace(k: OcctKernelWasm, face: KernelShape, u: number, v: number, _tolerance?: number): 'in' | 'on' | 'out';
@@ -1,7 +1,7 @@
1
- const require_shapeTypes = require("./shapeTypes-D-rrSLH2.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-C4cMKLoj.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-BFg1T8YA.cjs");
4
- const require_faceFns = require("./faceFns-SVDlKPRF.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-Bj5wpC75.cjs");
4
+ const require_faceFns = require("./faceFns-CZvemlPW.cjs");
5
5
  //#region src/measurement/measureCache.ts
6
6
  var cache = /* @__PURE__ */ new WeakMap();
7
7
  function getCachedMeasurement(shape, key) {
@@ -1,7 +1,7 @@
1
- import { Z as getKernel } from "./shapeTypes-BWeil_Mz.js";
1
+ import { Z as getKernel } from "./shapeTypes-VCBsDI43.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-CtwjrlEc.js";
4
- import { m as uvBounds } from "./faceFns-MKPUk9C5.js";
3
+ import { w as kernelCallRaw } from "./topologyQueryFns-BtfhAVY2.js";
4
+ import { m as uvBounds } from "./faceFns-BJ0mbRh5.js";
5
5
  //#region src/measurement/measureCache.ts
6
6
  var cache = /* @__PURE__ */ new WeakMap();
7
7
  function getCachedMeasurement(shape, key) {
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_measureFns = require("./measureFns-BopOdCy3.cjs");
2
+ const require_measureFns = require("./measureFns-CRS3U8gj.cjs");
3
3
  exports.createDistanceQuery = require_measureFns.createDistanceQuery;
4
4
  exports.measureArea = require_measureFns.measureArea;
5
5
  exports.measureDistance = require_measureFns.measureDistance;
@@ -1,2 +1,2 @@
1
- import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-BR4QEtEp.js";
1
+ import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-DYeTPyHr.js";
2
2
  export { createDistanceQuery, measureArea, measureDistance, measureDistanceProps, measureLength, measureLinearProps, measureSurfaceProps, measureVolume, measureVolumeProps };
@@ -1,7 +1,7 @@
1
- import { Z as getKernel, gt as qualityDeflection } from "./shapeTypes-BWeil_Mz.js";
1
+ import { Z as getKernel, gt as qualityDeflection } from "./shapeTypes-VCBsDI43.js";
2
2
  import { A as ok, b as err, r as ioError } from "./errors-DNWJsfVU.js";
3
- import { d as getSolids, n as getBounds } from "./topologyQueryFns-CtwjrlEc.js";
4
- import { O as getFaceOrigins } from "./shapeFns-gKgMm-64.js";
3
+ import { d as getSolids, n as getBounds } from "./topologyQueryFns-BtfhAVY2.js";
4
+ import { O as getFaceOrigins } from "./shapeFns-CQRGTifg.js";
5
5
  //#region src/topology/meshCache.ts
6
6
  /**
7
7
  * Build a parameter key for the inner cache map (excludes shape identity).
@@ -1,7 +1,7 @@
1
- const require_shapeTypes = require("./shapeTypes-D-rrSLH2.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-C4cMKLoj.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-BFg1T8YA.cjs");
4
- const require_shapeFns = require("./shapeFns-D4BQn_zI.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-Bj5wpC75.cjs");
4
+ const require_shapeFns = require("./shapeFns-CQmd2W5F.cjs");
5
5
  //#region src/topology/meshCache.ts
6
6
  /**
7
7
  * Build a parameter key for the inner cache map (excludes shape identity).
@@ -1777,6 +1777,7 @@ var subV = (a, b) => [
1777
1777
  a[1] - b[1],
1778
1778
  a[2] - b[2]
1779
1779
  ];
1780
+ var dotV = (a, b) => a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
1780
1781
  var lenV = (a) => Math.hypot(a[0], a[1], a[2]);
1781
1782
  var crossV = (a, b) => [
1782
1783
  a[1] * b[2] - a[2] * b[1],
@@ -1784,17 +1785,23 @@ var crossV = (a, b) => [
1784
1785
  a[0] * b[1] - a[1] * b[0]
1785
1786
  ];
1786
1787
  /**
1787
- * Derive a cylindrical face's axis (point on axis + unit direction) from the
1788
- * primitives occt-wasm exposes — it has no analytic `gp_Cylinder` accessor.
1788
+ * Derive a cylindrical face's analytic parameters from the primitives occt-wasm
1789
+ * exposes — it has no `gp_Cylinder` accessor.
1789
1790
  *
1790
- * Two surface samples at the same height v give radial normals n1,n2 (lying in
1791
- * the plane perpendicular to the axis), so `n1 x n2` is parallel to the axis.
1791
+ * Two surface samples at the same height v give radial unit normals n1,n2 (lying
1792
+ * in the plane perpendicular to the axis), so `n1 x n2` is parallel to the axis.
1792
1793
  * The points satisfy `p1 - p2 = ±r(n1 - n2)`, giving the radius
1793
1794
  * `r = |p1-p2| / |n1-n2|`; the axis point is then `p - r·n` with the normal's
1794
- * sign chosen so both samples agree. Exact for full and partial cylinders.
1795
- * Returns null for non-cylinders.
1795
+ * sign chosen so both samples agree.
1796
+ *
1797
+ * `isDirect` mirrors OCCT's `gp_Cylinder::Direct()` — the handedness of the
1798
+ * cylinder's coordinate system, independent of face orientation. occt-wasm's
1799
+ * `surfaceNormal` is orientation-aware (a REVERSED face reports an inward
1800
+ * normal), so we undo the face orientation before the outward test; otherwise an
1801
+ * inner bore (a reversed face on an otherwise-direct cylinder) would wrongly
1802
+ * report `isDirect: false`. Exact for full and partial cylinders; null otherwise.
1796
1803
  */
1797
- function getSurfaceAxis(k, face) {
1804
+ function deriveCylinder(k, face) {
1798
1805
  if (surfaceType(k, face) !== "cylinder") return null;
1799
1806
  const b = uvBounds(k, face);
1800
1807
  const vMid = .5 * (b.vMin + b.vMax);
@@ -1813,29 +1820,44 @@ function getSurfaceAxis(k, face) {
1813
1820
  axis[1] / axisLen,
1814
1821
  axis[2] / axisLen
1815
1822
  ];
1816
- const r = lenV(subV(p1, p2)) / dnLen;
1823
+ const radius = lenV(subV(p1, p2)) / dnLen;
1817
1824
  const minus1 = [
1818
- p1[0] - r * n1[0],
1819
- p1[1] - r * n1[1],
1820
- p1[2] - r * n1[2]
1825
+ p1[0] - radius * n1[0],
1826
+ p1[1] - radius * n1[1],
1827
+ p1[2] - radius * n1[2]
1828
+ ];
1829
+ const origin = lenV(subV(minus1, [
1830
+ p2[0] - radius * n2[0],
1831
+ p2[1] - radius * n2[1],
1832
+ p2[2] - radius * n2[2]
1833
+ ])) < 1e-6 ? minus1 : [
1834
+ p1[0] + radius * n1[0],
1835
+ p1[1] + radius * n1[1],
1836
+ p1[2] + radius * n1[2]
1821
1837
  ];
1822
- if (lenV(subV(minus1, [
1823
- p2[0] - r * n2[0],
1824
- p2[1] - r * n2[1],
1825
- p2[2] - r * n2[2]
1826
- ])) < 1e-6) return {
1827
- origin: minus1,
1828
- direction
1829
- };
1830
1838
  return {
1831
- origin: [
1832
- p1[0] + r * n1[0],
1833
- p1[1] + r * n1[1],
1834
- p1[2] + r * n1[2]
1835
- ],
1836
- direction
1839
+ origin,
1840
+ direction,
1841
+ radius,
1842
+ isDirect: (shapeOrientation(k, face) === "reversed" ? -1 : 1) * dotV(n1, subV(p1, origin)) > 0
1837
1843
  };
1838
1844
  }
1845
+ /** Cylindrical face axis (point on axis + unit direction). Null for non-cylinders. */
1846
+ function getSurfaceAxis(k, face) {
1847
+ const cyl = deriveCylinder(k, face);
1848
+ return cyl ? {
1849
+ origin: cyl.origin,
1850
+ direction: cyl.direction
1851
+ } : null;
1852
+ }
1853
+ /** Cylinder radius + handedness for a cylindrical surface. Null for non-cylinders. */
1854
+ function getSurfaceCylinderData(k, surface) {
1855
+ const cyl = deriveCylinder(k, surface);
1856
+ return cyl ? {
1857
+ radius: cyl.radius,
1858
+ isDirect: cyl.isDirect
1859
+ } : null;
1860
+ }
1839
1861
  function uvFromPoint(k, face, point) {
1840
1862
  const vec = k.uvFromPoint(unwrap(face), point[0], point[1], point[2]);
1841
1863
  try {
@@ -4838,8 +4860,8 @@ var OcctWasmAdapter = class OcctWasmAdapter {
4838
4860
  untrimFace(_face, _samplesPerCurve, _interiorSamples) {
4839
4861
  notImplemented("untrimFace");
4840
4862
  }
4841
- getSurfaceCylinderData(_surface) {
4842
- notImplemented("getSurfaceCylinderData");
4863
+ getSurfaceCylinderData(surface) {
4864
+ return getSurfaceCylinderData(this.k, surface);
4843
4865
  }
4844
4866
  getSurfaceAxis(face) {
4845
4867
  return getSurfaceAxis(this.k, face);
@@ -1777,6 +1777,7 @@ var subV = (a, b) => [
1777
1777
  a[1] - b[1],
1778
1778
  a[2] - b[2]
1779
1779
  ];
1780
+ var dotV = (a, b) => a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
1780
1781
  var lenV = (a) => Math.hypot(a[0], a[1], a[2]);
1781
1782
  var crossV = (a, b) => [
1782
1783
  a[1] * b[2] - a[2] * b[1],
@@ -1784,17 +1785,23 @@ var crossV = (a, b) => [
1784
1785
  a[0] * b[1] - a[1] * b[0]
1785
1786
  ];
1786
1787
  /**
1787
- * Derive a cylindrical face's axis (point on axis + unit direction) from the
1788
- * primitives occt-wasm exposes — it has no analytic `gp_Cylinder` accessor.
1788
+ * Derive a cylindrical face's analytic parameters from the primitives occt-wasm
1789
+ * exposes — it has no `gp_Cylinder` accessor.
1789
1790
  *
1790
- * Two surface samples at the same height v give radial normals n1,n2 (lying in
1791
- * the plane perpendicular to the axis), so `n1 x n2` is parallel to the axis.
1791
+ * Two surface samples at the same height v give radial unit normals n1,n2 (lying
1792
+ * in the plane perpendicular to the axis), so `n1 x n2` is parallel to the axis.
1792
1793
  * The points satisfy `p1 - p2 = ±r(n1 - n2)`, giving the radius
1793
1794
  * `r = |p1-p2| / |n1-n2|`; the axis point is then `p - r·n` with the normal's
1794
- * sign chosen so both samples agree. Exact for full and partial cylinders.
1795
- * Returns null for non-cylinders.
1795
+ * sign chosen so both samples agree.
1796
+ *
1797
+ * `isDirect` mirrors OCCT's `gp_Cylinder::Direct()` — the handedness of the
1798
+ * cylinder's coordinate system, independent of face orientation. occt-wasm's
1799
+ * `surfaceNormal` is orientation-aware (a REVERSED face reports an inward
1800
+ * normal), so we undo the face orientation before the outward test; otherwise an
1801
+ * inner bore (a reversed face on an otherwise-direct cylinder) would wrongly
1802
+ * report `isDirect: false`. Exact for full and partial cylinders; null otherwise.
1796
1803
  */
1797
- function getSurfaceAxis(k, face) {
1804
+ function deriveCylinder(k, face) {
1798
1805
  if (surfaceType(k, face) !== "cylinder") return null;
1799
1806
  const b = uvBounds(k, face);
1800
1807
  const vMid = .5 * (b.vMin + b.vMax);
@@ -1813,29 +1820,44 @@ function getSurfaceAxis(k, face) {
1813
1820
  axis[1] / axisLen,
1814
1821
  axis[2] / axisLen
1815
1822
  ];
1816
- const r = lenV(subV(p1, p2)) / dnLen;
1823
+ const radius = lenV(subV(p1, p2)) / dnLen;
1817
1824
  const minus1 = [
1818
- p1[0] - r * n1[0],
1819
- p1[1] - r * n1[1],
1820
- p1[2] - r * n1[2]
1825
+ p1[0] - radius * n1[0],
1826
+ p1[1] - radius * n1[1],
1827
+ p1[2] - radius * n1[2]
1828
+ ];
1829
+ const origin = lenV(subV(minus1, [
1830
+ p2[0] - radius * n2[0],
1831
+ p2[1] - radius * n2[1],
1832
+ p2[2] - radius * n2[2]
1833
+ ])) < 1e-6 ? minus1 : [
1834
+ p1[0] + radius * n1[0],
1835
+ p1[1] + radius * n1[1],
1836
+ p1[2] + radius * n1[2]
1821
1837
  ];
1822
- if (lenV(subV(minus1, [
1823
- p2[0] - r * n2[0],
1824
- p2[1] - r * n2[1],
1825
- p2[2] - r * n2[2]
1826
- ])) < 1e-6) return {
1827
- origin: minus1,
1828
- direction
1829
- };
1830
1838
  return {
1831
- origin: [
1832
- p1[0] + r * n1[0],
1833
- p1[1] + r * n1[1],
1834
- p1[2] + r * n1[2]
1835
- ],
1836
- direction
1839
+ origin,
1840
+ direction,
1841
+ radius,
1842
+ isDirect: (shapeOrientation(k, face) === "reversed" ? -1 : 1) * dotV(n1, subV(p1, origin)) > 0
1837
1843
  };
1838
1844
  }
1845
+ /** Cylindrical face axis (point on axis + unit direction). Null for non-cylinders. */
1846
+ function getSurfaceAxis(k, face) {
1847
+ const cyl = deriveCylinder(k, face);
1848
+ return cyl ? {
1849
+ origin: cyl.origin,
1850
+ direction: cyl.direction
1851
+ } : null;
1852
+ }
1853
+ /** Cylinder radius + handedness for a cylindrical surface. Null for non-cylinders. */
1854
+ function getSurfaceCylinderData(k, surface) {
1855
+ const cyl = deriveCylinder(k, surface);
1856
+ return cyl ? {
1857
+ radius: cyl.radius,
1858
+ isDirect: cyl.isDirect
1859
+ } : null;
1860
+ }
1839
1861
  function uvFromPoint(k, face, point) {
1840
1862
  const vec = k.uvFromPoint(unwrap(face), point[0], point[1], point[2]);
1841
1863
  try {
@@ -4838,8 +4860,8 @@ var OcctWasmAdapter = class OcctWasmAdapter {
4838
4860
  untrimFace(_face, _samplesPerCurve, _interiorSamples) {
4839
4861
  notImplemented("untrimFace");
4840
4862
  }
4841
- getSurfaceCylinderData(_surface) {
4842
- notImplemented("getSurfaceCylinderData");
4863
+ getSurfaceCylinderData(surface) {
4864
+ return getSurfaceCylinderData(this.k, surface);
4843
4865
  }
4844
4866
  getSurfaceAxis(face) {
4845
4867
  return getSurfaceAxis(this.k, face);
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_historyFns = require("./historyFns-hN8uoEfF.cjs");
3
- const require_extrudeFns = require("./extrudeFns-x8e57uyS.cjs");
2
+ const require_historyFns = require("./historyFns-xUNAdUYV.cjs");
3
+ const require_extrudeFns = require("./extrudeFns-b7JHaMsv.cjs");
4
4
  exports.addChild = require_historyFns.addChild;
5
5
  exports.addStep = require_historyFns.addStep;
6
6
  exports.circularPattern = require_historyFns.circularPattern;
@@ -1,3 +1,3 @@
1
- import { C as walkAssembly, D as exportAssemblySTEP, E as linearPattern, O as createAssembly, S as updateNode, T as gridPattern, _ as collectShapes, a as findStep, b as findNode, c as registerOperation, d as replayHistory, g as addChild, h as undoLast, 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-BMMInQRI.js";
2
- import { c as sweep, i as complexExtrude, l as twistExtrude, s as supportExtrude } from "./extrudeFns-XHmvD7Dx.js";
1
+ import { C as walkAssembly, D as exportAssemblySTEP, E as linearPattern, O as createAssembly, S as updateNode, T as gridPattern, _ as collectShapes, a as findStep, b as findNode, c as registerOperation, d as replayHistory, g as addChild, h as undoLast, 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-BV5sQxft.js";
2
+ import { c as sweep, i as complexExtrude, l as twistExtrude, s as supportExtrude } from "./extrudeFns-msxcCUm2.js";
3
3
  export { addChild, addStep, circularPattern, collectShapes, complexExtrude, countNodes, createAssembly, createAssemblyNode, createHistory, createRegistry, exportAssemblySTEP, findNode, findStep, getShape as getHistoryShape, gridPattern, linearPattern, modifyStep, registerOperation, registerShape, removeChild, replayFrom, replayHistory, stepCount, stepsFrom, supportExtrude, sweep, twistExtrude, undoLast, updateNode, walkAssembly };
@@ -1,13 +1,13 @@
1
- import { Z as getKernel, _ as isSolid, c as createSolid, h as isShape3D, p as isFace, r as castShapeWithKnownType, t as castShape, x as isClosedWire, y as isWire } from "./shapeTypes-BWeil_Mz.js";
1
+ import { Z as getKernel, _ as isSolid, c as createSolid, h as isShape3D, p as isFace, r as castShapeWithKnownType, t as castShape, x as isClosedWire, y as isWire } from "./shapeTypes-VCBsDI43.js";
2
2
  import { A as ok, T as isOk, b as err, d as validationError, i as kernelError, l as typeCastError, t as BrepErrorCode, v as andThen, w as isErr } from "./errors-DNWJsfVU.js";
3
- import { c as getFaces, i as getCachedIsValid, l as getOrCreateCache, m as invalidateShapeCache, p as getWires, s as getEdges } from "./topologyQueryFns-CtwjrlEc.js";
3
+ import { c as getFaces, i as getCachedIsValid, l as getOrCreateCache, m as invalidateShapeCache, p as getWires, s as getEdges } from "./topologyQueryFns-BtfhAVY2.js";
4
4
  import { n as HASH_CODE_MAX, t as DEG2RAD } from "./constants-ITRzCnCp.js";
5
- import { v as downcast } from "./faceFns-MKPUk9C5.js";
6
- import { _ as propagateAllMetadata, g as collectInputFaceHashes, h as translate } from "./shapeFns-gKgMm-64.js";
5
+ import { v as downcast } from "./faceFns-BJ0mbRh5.js";
6
+ import { _ as propagateAllMetadata, g as collectInputFaceHashes, h as translate } from "./shapeFns-CQRGTifg.js";
7
7
  import { t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
8
- import { _ as makeThreePointArc, a as makeNonPlanarFace, c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, g as makeTangentArc, h as makeLine, i as makeNewFaceWithinFace, m as makeHelix, o as makePolygon, p as makeEllipseArc, r as makeFace, s as assembleWire, t as addHolesInFace, u as makeBezierCurve } from "./surfaceBuilders-0SwRwnZg.js";
9
- import { a as fuseAll, i as fuse, n as cut, r as cutAll } from "./booleanFns-DIeeeOaS.js";
10
- import { a as makeOffset, c as makeTorus, i as makeEllipsoid, l as makeVertex, n as makeCone, o as makeSolid, r as makeCylinder, s as makeSphere, t as makeCompound, u as weldShellsAndFaces } from "./solidBuilders-BaRC8vgR.js";
8
+ import { _ as makeThreePointArc, a as makeNonPlanarFace, c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, g as makeTangentArc, h as makeLine, i as makeNewFaceWithinFace, m as makeHelix, o as makePolygon, p as makeEllipseArc, r as makeFace, s as assembleWire, t as addHolesInFace, u as makeBezierCurve } from "./surfaceBuilders-DllH3kXs.js";
9
+ import { a as fuseAll, i as fuse, n as cut, r as cutAll } from "./booleanFns-Cu-J1THp.js";
10
+ import { a as makeOffset, c as makeTorus, i as makeEllipsoid, l as makeVertex, n as makeCone, o as makeSolid, r as makeCylinder, s as makeSphere, t as makeCompound, u as weldShellsAndFaces } from "./solidBuilders-DBsHetmI.js";
11
11
  //#region src/topology/threeHelpers.ts
12
12
  /**
13
13
  * Convert a ShapeMesh into BufferGeometry-compatible typed arrays.
@@ -1,13 +1,13 @@
1
- const require_shapeTypes = require("./shapeTypes-D-rrSLH2.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-C4cMKLoj.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-BFg1T8YA.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-Bj5wpC75.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
- const require_faceFns = require("./faceFns-SVDlKPRF.cjs");
6
- const require_shapeFns = require("./shapeFns-D4BQn_zI.cjs");
5
+ const require_faceFns = require("./faceFns-CZvemlPW.cjs");
6
+ const require_shapeFns = require("./shapeFns-CQmd2W5F.cjs");
7
7
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
8
- const require_surfaceBuilders = require("./surfaceBuilders-Cu7NNqHH.cjs");
9
- const require_booleanFns = require("./booleanFns-DCXqDGPd.cjs");
10
- const require_solidBuilders = require("./solidBuilders-Cq942r9s.cjs");
8
+ const require_surfaceBuilders = require("./surfaceBuilders-QK_Cnn_u.cjs");
9
+ const require_booleanFns = require("./booleanFns-DxnTjP19.cjs");
10
+ const require_solidBuilders = require("./solidBuilders-B0Hzin8a.cjs");
11
11
  //#region src/topology/threeHelpers.ts
12
12
  /**
13
13
  * Convert a ShapeMesh into BufferGeometry-compatible typed arrays.
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_cameraFns = require("./cameraFns-CJzh4iuj.cjs");
2
+ const require_cameraFns = require("./cameraFns-G2lc5c9M.cjs");
3
3
  exports.PROJECTION_PLANES = require_cameraFns.PROJECTION_PLANES;
4
4
  exports.cameraFromPlane = require_cameraFns.cameraFromPlane;
5
5
  exports.cameraLookAt = require_cameraFns.cameraLookAt;
@@ -1,2 +1,2 @@
1
- import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, o as PROJECTION_PLANES, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-DmpsjoqQ.js";
1
+ import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, o as PROJECTION_PLANES, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-Ctxe8ev-.js";
2
2
  export { PROJECTION_PLANES, cameraFromPlane, cameraLookAt, createCamera, isProjectionPlane, makeProjectedEdges, projectEdges };
package/dist/query.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_helpers = require("./helpers-Ca8WmwCj.cjs");
3
- const require_cornerFinder = require("./cornerFinder-jqX0KG9s.cjs");
2
+ const require_helpers = require("./helpers-CRBTGZO7.cjs");
3
+ const require_cornerFinder = require("./cornerFinder-CAoT1uIs.cjs");
4
4
  exports.cornerFinder = require_cornerFinder.cornerFinder;
5
5
  exports.edgeFinder = require_helpers.edgeFinder;
6
6
  exports.faceFinder = require_helpers.faceFinder;
package/dist/query.js CHANGED
@@ -1,3 +1,3 @@
1
- import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-Cric5loB.js";
2
- import { t as cornerFinder } from "./cornerFinder-DVuSb6-g.js";
1
+ import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-CYSAsvRe.js";
2
+ import { t as cornerFinder } from "./cornerFinder-CmXx269_.js";
3
3
  export { cornerFinder, edgeFinder, faceFinder, getSingleFace };
@@ -1,6 +1,6 @@
1
- import { Z as getKernel, t as castShape } from "./shapeTypes-BWeil_Mz.js";
1
+ import { Z as getKernel, t as castShape } from "./shapeTypes-VCBsDI43.js";
2
2
  import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
3
- import { C as kernelCall, c as getFaces, l as getOrCreateCache, r as getCacheEntry, w as kernelCallRaw } from "./topologyQueryFns-CtwjrlEc.js";
3
+ import { C as kernelCall, c as getFaces, l as getOrCreateCache, r as getCacheEntry, w as kernelCallRaw } from "./topologyQueryFns-BtfhAVY2.js";
4
4
  import { n as HASH_CODE_MAX, t as DEG2RAD } from "./constants-ITRzCnCp.js";
5
5
  //#region src/topology/metadata/originTrackingFns.ts
6
6
  /**
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-D-rrSLH2.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-C4cMKLoj.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-BFg1T8YA.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-Bj5wpC75.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  //#region src/topology/metadata/originTrackingFns.ts
6
6
  /**
package/dist/shapeRef.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_shapeRefFns = require("./shapeRefFns-5fCvQBSB.cjs");
2
+ const require_shapeRefFns = require("./shapeRefFns-DoPplxoN.cjs");
3
3
  exports.assignRoles = require_shapeRefFns.assignRoles;
4
4
  exports.captureHint = require_shapeRefFns.captureHint;
5
5
  exports.createRef = require_shapeRefFns.createRef;
package/dist/shapeRef.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-B1UpIhDY.js";
1
+ import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-DvIvS0do.js";
2
2
  export { assignRoles, captureHint, createRef, defaultScorer, resolveRef, updateRoles };
@@ -1,8 +1,8 @@
1
1
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
2
- const require_topologyQueryFns = require("./topologyQueryFns-BFg1T8YA.cjs");
3
- const require_faceFns = require("./faceFns-SVDlKPRF.cjs");
4
- const require_shapeFns = require("./shapeFns-D4BQn_zI.cjs");
5
- const require_measureFns = require("./measureFns-BopOdCy3.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-Bj5wpC75.cjs");
3
+ const require_faceFns = require("./faceFns-CZvemlPW.cjs");
4
+ const require_shapeFns = require("./shapeFns-CQmd2W5F.cjs");
5
+ const require_measureFns = require("./measureFns-CRS3U8gj.cjs");
6
6
  //#region src/topology/shapeRef/scoring.ts
7
7
  /**
8
8
  * Default face scorer combining surface type, normal alignment, centroid proximity,
@@ -1,8 +1,8 @@
1
1
  import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
2
- import { c as getFaces } from "./topologyQueryFns-CtwjrlEc.js";
3
- import { i as faceGeomType, l as normalAt, r as faceCenter } from "./faceFns-MKPUk9C5.js";
4
- import { n as getHashCode } from "./shapeFns-gKgMm-64.js";
5
- import { n as measureArea } from "./measureFns-BR4QEtEp.js";
2
+ import { c as getFaces } from "./topologyQueryFns-BtfhAVY2.js";
3
+ import { i as faceGeomType, l as normalAt, r as faceCenter } from "./faceFns-BJ0mbRh5.js";
4
+ import { n as getHashCode } from "./shapeFns-CQRGTifg.js";
5
+ import { n as measureArea } from "./measureFns-DYeTPyHr.js";
6
6
  //#region src/topology/shapeRef/scoring.ts
7
7
  /**
8
8
  * Default face scorer combining surface type, normal alignment, centroid proximity,
@@ -1,4 +1,4 @@
1
- const require_occtWasmAdapter = require("./occtWasmAdapter-Crs07qIe.cjs");
1
+ const require_occtWasmAdapter = require("./occtWasmAdapter-DdghAlnN.cjs");
2
2
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
3
3
  const require_errors = require("./errors-CXJtc4I7.cjs");
4
4
  //#region src/kernel/quality.ts
@@ -1,4 +1,4 @@
1
- import { C as translateCurve2d$2, E as EXACT_BREP_CAPABILITIES, S as tangentCurve2d, _ as mirrorAcrossAxis, a as buildBinarySTL, b as scaleCurve2d$2, c as curveBounds, d as evaluateCurve2d$2, f as intersectCurves2dFn, g as makeLine2d$2, h as makeEllipse2d$2, i as buildAsciiSTL, l as curveTypeName, m as makeCircle2d$2, n as DEFAULT_STL_ANGULAR_TOLERANCE, o as addCurveToBBox, p as makeBezier2d$2, r as DEFAULT_STL_TOLERANCE, s as createBBox2d, t as OcctWasmAdapter, u as deserializeCurve2d$2, v as mirrorAtPoint, w as quickHull, x as serializeCurve2d$2, y as rotateCurve2d$2 } from "./occtWasmAdapter-D0MtWZYO.js";
1
+ import { C as translateCurve2d$2, E as EXACT_BREP_CAPABILITIES, S as tangentCurve2d, _ as mirrorAcrossAxis, a as buildBinarySTL, b as scaleCurve2d$2, c as curveBounds, d as evaluateCurve2d$2, f as intersectCurves2dFn, g as makeLine2d$2, h as makeEllipse2d$2, i as buildAsciiSTL, l as curveTypeName, m as makeCircle2d$2, n as DEFAULT_STL_ANGULAR_TOLERANCE, o as addCurveToBBox, p as makeBezier2d$2, r as DEFAULT_STL_TOLERANCE, s as createBBox2d, t as OcctWasmAdapter, u as deserializeCurve2d$2, v as mirrorAtPoint, w as quickHull, x as serializeCurve2d$2, y as rotateCurve2d$2 } from "./occtWasmAdapter-m4Nua92H.js";
2
2
  import { n as wasmIndex, t as vec3At } from "./vec3-Dpha8d5k.js";
3
3
  import { A as ok, b as err } from "./errors-DNWJsfVU.js";
4
4
  //#region src/kernel/quality.ts
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_textBlueprints = require("./textBlueprints-DTyg8Yvq.cjs");
3
- const require_blueprintSketcher = require("./blueprintSketcher-BDYo5dt-.cjs");
4
- const require_drawFns = require("./drawFns-BxdX6Gni.cjs");
2
+ const require_textBlueprints = require("./textBlueprints-BxbCj29U.cjs");
3
+ const require_blueprintSketcher = require("./blueprintSketcher-CZqT7_gf.cjs");
4
+ const require_drawFns = require("./drawFns-SddAG_uY.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-DcdEGIqB.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-yqaxPXGG.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-CQCf61Vk.js";
1
+ import { n as BaseSketcher2d, t as BlueprintSketcher } from "./blueprintSketcher-Bp3oMzVW.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-B7l3h4FX.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-C9ne8G24.js";
4
4
  //#region src/sketching.ts
5
5
  /**
6
6
  * brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.