brepjs 18.82.7 → 18.83.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 (82) hide show
  1. package/dist/2d.cjs +6 -6
  2. package/dist/2d.js +6 -6
  3. package/dist/{blueprint-DmvnSTKs.js → blueprint-BQ2ae6In.js} +5 -5
  4. package/dist/{blueprint-lbpshPPC.cjs → blueprint-thvQM865.cjs} +5 -5
  5. package/dist/{blueprintFns-Nl1hnrJX.cjs → blueprintFns-BA5AS3Gs.cjs} +2 -2
  6. package/dist/{blueprintFns-Bhmqz0_E.js → blueprintFns-DB-Uu1v1.js} +2 -2
  7. package/dist/{blueprintSketcher-DzCTWt_f.js → blueprintSketcher-C9PqxvlX.js} +3 -3
  8. package/dist/{blueprintSketcher-NDZKJGYh.cjs → blueprintSketcher-DyZBno71.cjs} +3 -3
  9. package/dist/{boolean2D-DGtpfl2g.js → boolean2D-BKCmJjFc.js} +4 -4
  10. package/dist/{boolean2D-Dzs9Vkjv.cjs → boolean2D-BRtq8bzq.cjs} +4 -4
  11. package/dist/brepjs.cjs +25 -25
  12. package/dist/brepjs.js +25 -25
  13. package/dist/{cameraFns-B2WR42Tm.js → cameraFns-1T8_l0NS.js} +2 -2
  14. package/dist/{cameraFns-p4G3cFuC.cjs → cameraFns-BJyYRJWK.cjs} +2 -2
  15. package/dist/core.cjs +1 -1
  16. package/dist/core.js +1 -1
  17. package/dist/{cornerFinder-KoakXQze.js → cornerFinder-CpUNW1LJ.js} +1 -1
  18. package/dist/{cornerFinder-B_SuHSBj.cjs → cornerFinder-DvQLHay1.cjs} +1 -1
  19. package/dist/{curveFns-XRM_FMU4.js → curveFns-BEALkKQE.js} +1 -1
  20. package/dist/{curveFns-CJWxgcHu.cjs → curveFns-BooeJhnp.cjs} +1 -1
  21. package/dist/{drawFns-D7q8qpEI.js → drawFns-DW3HdqAa.js} +12 -12
  22. package/dist/{drawFns-7qn35uWm.cjs → drawFns-XbmE6iHl.cjs} +12 -12
  23. package/dist/{faceFns-hGTQhRXB.js → faceFns-BcFi4Lt8.js} +2 -2
  24. package/dist/{faceFns-B3bYfnGX.cjs → faceFns-DsZnSpkR.cjs} +2 -2
  25. package/dist/{healingFns-BpFs-Puf.cjs → healingFns-CPb0h4_M.cjs} +5 -5
  26. package/dist/{healingFns-CUn6v5p4.js → healingFns-DaOxBDuv.js} +5 -5
  27. package/dist/{helpers-DOE4GlZ0.js → helpers-B4bgQUFj.js} +6 -6
  28. package/dist/{helpers-D6yNdVOO.cjs → helpers-CLDPogSo.cjs} +6 -6
  29. package/dist/{importFns-BQTQKGbi.cjs → importFns-ChArqUTr.cjs} +2 -2
  30. package/dist/{importFns-CPZWa8WK.js → importFns-D6jCzNen.js} +2 -2
  31. package/dist/io.cjs +2 -2
  32. package/dist/io.js +2 -2
  33. package/dist/kernel/brepkit/brepkitWasmTypes.d.ts +26 -31
  34. package/dist/kernel/brepkit/geometryOps.d.ts +1 -1
  35. package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
  36. package/dist/kernel/occtWasm/occtWasmAdapter.d.ts +1 -1
  37. package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -1
  38. package/dist/{loftFns-B8UzGtwS.cjs → loftFns-DcLv7Zhd.cjs} +1 -1
  39. package/dist/{loftFns-DusJd7Qq.js → loftFns-DhPSvEU-.js} +1 -1
  40. package/dist/{measureFns-Bka10mrS.js → measureFns-Cj2QdvaY.js} +3 -3
  41. package/dist/{measureFns-DwHd423H.cjs → measureFns-CtVe9Fc3.cjs} +3 -3
  42. package/dist/measurement.cjs +1 -1
  43. package/dist/measurement.js +1 -1
  44. package/dist/{meshFns-B2k02WJJ.cjs → meshFns-DOCAtH6z.cjs} +3 -3
  45. package/dist/{meshFns-CNfOU3D1.js → meshFns-upfFyuHn.js} +3 -3
  46. package/dist/operations.cjs +2 -2
  47. package/dist/operations.js +2 -2
  48. package/dist/{primitiveFns-C-kQixz1.js → primitiveFns-C5wHxJ9Y.js} +4 -4
  49. package/dist/{primitiveFns-D3y2t4FS.cjs → primitiveFns-Ce-zySnP.cjs} +4 -4
  50. package/dist/projection.cjs +1 -1
  51. package/dist/projection.js +1 -1
  52. package/dist/query.cjs +2 -2
  53. package/dist/query.js +2 -2
  54. package/dist/{shapeFns-kVgikxkG.js → shapeFns-D6v5B_z6.js} +2 -2
  55. package/dist/{shapeFns-BPvq4QYa.cjs → shapeFns-bcNTE5P6.cjs} +2 -2
  56. package/dist/shapeRef.cjs +1 -1
  57. package/dist/shapeRef.js +1 -1
  58. package/dist/{shapeRefFns-CxB7OXOc.cjs → shapeRefFns-BsieWpks.cjs} +4 -4
  59. package/dist/{shapeRefFns-CXWVzhbm.js → shapeRefFns-DNl2Yvil.js} +4 -4
  60. package/dist/{shapeTypes-DpDcMU0a.cjs → shapeTypes-CKhUM29E.cjs} +54 -10
  61. package/dist/{shapeTypes-Caa9T1VR.js → shapeTypes-CgOy0EJH.js} +54 -10
  62. package/dist/sketching.cjs +3 -3
  63. package/dist/sketching.js +3 -3
  64. package/dist/{solidBuilders-Cve7yf13.cjs → solidBuilders-CqeLyEt7.cjs} +5 -5
  65. package/dist/{solidBuilders-BHRL7010.js → solidBuilders-Dr28x66f.js} +5 -5
  66. package/dist/{surfaceBuilders-BDEc8WSE.js → surfaceBuilders-CNlnjAei.js} +2 -2
  67. package/dist/{surfaceBuilders-5hLC_QeE.cjs → surfaceBuilders-DDk5xABR.cjs} +2 -2
  68. package/dist/text.cjs +2 -2
  69. package/dist/text.js +2 -2
  70. package/dist/{textBlueprints-bMa5164s.cjs → textBlueprints-DIQwcQxF.cjs} +7 -7
  71. package/dist/{textBlueprints-Cl5P2MkE.js → textBlueprints-Dz9CYlAC.js} +7 -7
  72. package/dist/{textMetrics-BDr82S48.cjs → textMetrics-CJJ1sBVI.cjs} +1 -1
  73. package/dist/{textMetrics-DBEv2A2N.js → textMetrics-CkOfTO8W.js} +1 -1
  74. package/dist/{threadFns-74sXf2tN.js → threadFns-BJpsXw07.js} +6 -6
  75. package/dist/{threadFns-Cw1TzGd2.cjs → threadFns-Bi0Qfuca.cjs} +6 -6
  76. package/dist/topology.cjs +8 -8
  77. package/dist/topology.js +8 -8
  78. package/dist/{topologyQueryFns-imRz9gK2.cjs → topologyQueryFns-CTy1eBEW.cjs} +1 -1
  79. package/dist/{topologyQueryFns-CR7zQvDK.js → topologyQueryFns-DYEJDzjq.js} +1 -1
  80. package/package.json +3 -2
  81. package/dist/{occtWasmAdapter-BK6h0nKd.js → occtWasmAdapter-B76LgEfN.js} +3 -3
  82. package/dist/{occtWasmAdapter-Bfz5Zfmk.cjs → occtWasmAdapter-DQ4QncJq.cjs} +3 -3
@@ -1,8 +1,8 @@
1
- import { Z as getKernel, t as castShape } from "./shapeTypes-Caa9T1VR.js";
1
+ import { Z as getKernel, t as castShape } from "./shapeTypes-CgOy0EJH.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-DmvnSTKs.js";
5
+ import { f as make2dSegmentCurve, m as make2dThreePointArc, s as make2dBezierCurve, t as Blueprint } from "./blueprint-BQ2ae6In.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-B2k02WJJ.cjs");
3
- const require_importFns = require("./importFns-BQTQKGbi.cjs");
2
+ const require_meshFns = require("./meshFns-DOCAtH6z.cjs");
3
+ const require_importFns = require("./importFns-ChArqUTr.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-CNfOU3D1.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-CPZWa8WK.js";
1
+ import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-upfFyuHn.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-D6jCzNen.js";
3
3
  export { blueprintToDXF, exportDXF, exportGlb, exportGltf, exportIGES, exportOBJ, exportSTEP, exportSTEPConfigured, exportSTL, exportThreeMF, importIGES, importSTEP, importSTL, importSVG, importSVGPathD };
@@ -2,7 +2,7 @@
2
2
  * Type-safe interface for the brepkit WASM kernel (`BrepKernel`).
3
3
  *
4
4
  * AUTO-GENERATED by `npm run sync:brepkit-types`.
5
- * Synced against `brepkit-wasm@2.104.1`.
5
+ * Synced against `brepkit-wasm@2.111.1`.
6
6
  *
7
7
  * Methods not yet referenced in the adapter layer are tagged `@unwired`.
8
8
  *
@@ -23,14 +23,16 @@ export interface BrepkitMesh {
23
23
  /** All mesh data in a single packed buffer for efficient FFI transfer. */
24
24
  packedBuffer(): Uint8Array;
25
25
  }
26
- /**
27
- * Per-face-grouped mesh returned by `tessellateSolidGroupedBinary` (packed).
28
- *
29
- * Hand-added forward-declaration: the binary binding ships in a brepkit-wasm
30
- * release newer than the one this file is synced against. Once the dependency
31
- * is bumped, `npm run sync:brepkit-types` regenerates this from the upstream
32
- * `.d.ts` (the method is already in the sync script's Tessellation list).
33
- */
26
+ /** Edge polylines returned by `meshEdges`. */
27
+ export interface BrepkitEdgeLines {
28
+ /** Flattened vertex positions `[x, y, z, ...]`. */
29
+ readonly positions: Float64Array;
30
+ /** Start index into positions for each edge polyline (already ×3). */
31
+ readonly offsets: Uint32Array;
32
+ /** Number of edges. */
33
+ readonly edgeCount: number;
34
+ }
35
+ /** Per-face-grouped mesh returned by `tessellateSolidGroupedBinary` (packed typed arrays). */
34
36
  export interface BrepkitGroupedMesh {
35
37
  /** Flattened vertex positions `[x, y, z, ...]`. */
36
38
  readonly positions: Float32Array;
@@ -41,15 +43,6 @@ export interface BrepkitGroupedMesh {
41
43
  /** Per-face start offsets into `indices`; last element equals `indices.length`. */
42
44
  readonly faceOffsets: Uint32Array;
43
45
  }
44
- /** Edge polylines returned by `meshEdges`. */
45
- export interface BrepkitEdgeLines {
46
- /** Flattened vertex positions `[x, y, z, ...]`. */
47
- readonly positions: Float64Array;
48
- /** Start index into positions for each edge polyline (already ×3). */
49
- readonly offsets: Uint32Array;
50
- /** Number of edges. */
51
- readonly edgeCount: number;
52
- }
53
46
  /**
54
47
  * Type-safe view of brepkit's WASM `BrepKernel` class.
55
48
  *
@@ -225,13 +218,7 @@ export interface BrepkitKernel {
225
218
  /** @unwired */
226
219
  tessellateSolid(solid: number, deflection: number, angularTolerance?: number | null): BrepkitMesh;
227
220
  tessellateSolidGrouped(solid: number, deflection: number, angularTolerance?: number | null): string;
228
- /**
229
- * Binary counterpart of `tessellateSolidGrouped` — packed typed arrays, no JSON.
230
- *
231
- * Optional (and hand-added) so the adapter's `typeof`-based feature detection
232
- * typechecks while the pinned brepkit-wasm release may not yet expose it.
233
- */
234
- tessellateSolidGroupedBinary?(solid: number, deflection: number, angularTolerance?: number | null): BrepkitGroupedMesh;
221
+ tessellateSolidGroupedBinary(solid: number, deflection: number, angularTolerance?: number | null): BrepkitGroupedMesh;
235
222
  tessellateSolidUV(solid: number, deflection: number, angularTolerance?: number | null): string;
236
223
  /** @unwired */
237
224
  tessellateEdge(edge: number, numPoints: number): Float64Array;
@@ -309,33 +296,41 @@ export interface BrepkitKernel {
309
296
  copyFace(face: number): number;
310
297
  /** @unwired */
311
298
  detectCoincidentFaces(a: number, b: number): string;
299
+ /** @unwired */
300
+ filletWithEvolution(solid: number, edgeHandles: Uint32Array | number[], radius: number): string;
312
301
  getNurbsCurveData(edge: number): string;
313
302
  /** @unwired */
314
303
  getNurbsSurfaceData(face: number): string;
315
304
  getNurbsSurfaceDataParity(face: number): string;
316
- /** @unwired */
317
305
  getSolidShells(solid: number): Uint32Array;
306
+ /** @unwired */
307
+ guidedSweep(face: number, spineDegree: number, spineKnots: Float64Array | number[], spineControlPoints: Float64Array | number[], spineWeights: Float64Array | number[], auxDegree: number, auxKnots: Float64Array | number[], auxControlPoints: Float64Array | number[], auxWeights: Float64Array | number[]): number;
318
308
  makeCircleEdge(cx: number, cy: number, cz: number, nx: number, ny: number, nz: number, radius: number): number;
319
309
  /** @unwired */
320
310
  makeCircleEdgeWithRef(cx: number, cy: number, cz: number, nx: number, ny: number, nz: number, radius: number, rx: number, ry: number, rz: number): number;
321
311
  makeEllipseEdge(cx: number, cy: number, cz: number, nx: number, ny: number, nz: number, semiMajor: number, semiMinor: number): number;
322
312
  makeEllipseEdgeWithRef(cx: number, cy: number, cz: number, nx: number, ny: number, nz: number, semiMajor: number, semiMinor: number, rx: number, ry: number, rz: number): number;
323
313
  makePlanarFaceFromWire(wire: number): number;
314
+ /** @unwired */
315
+ minkowskiSum(solidA: number, solidB: number): number;
316
+ /** @unwired */
317
+ multiSectionSweep(faceHandles: Uint32Array | number[], params: Float64Array | number[], spineDegree: number, spineKnots: Float64Array | number[], spineControlPoints: Float64Array | number[], spineWeights: Float64Array | number[], ruled: boolean): number;
324
318
  offsetWire2DWithJoin(wire: number, distance: number, joinType: string): number;
319
+ projectEdges(solid: number, originX: number, originY: number, originZ: number, dirX: number, dirY: number, dirZ: number, xAxisX: number, xAxisY: number, xAxisZ: number, hiddenLines: boolean, deflection: number): string;
325
320
  /** @unwired */
326
321
  sketchAddCircle(sketch: number, centerIdx: number, radius: number): number;
327
322
  /** @unwired */
328
323
  toBrepJson(solid: number): string;
329
324
  transformFace(face: number, matrix: Float64Array | number[]): void;
330
- /** @future Not in brepkit-wasm 2.104.1. Referenced with feature detection in adapter. */
325
+ /** @future Not in brepkit-wasm 2.111.1. Referenced with feature detection in adapter. */
331
326
  chamferAsymmetric?(solid: number, edgeHandles: Uint32Array | number[], d1: number, d2: number): number;
332
- /** @future Not in brepkit-wasm 2.104.1. Referenced with feature detection in adapter. */
327
+ /** @future Not in brepkit-wasm 2.111.1. Referenced with feature detection in adapter. */
333
328
  compoundFuse?(solidIds: Uint32Array | number[]): number;
334
- /** @future Not in brepkit-wasm 2.104.1. Referenced with feature detection in adapter. */
329
+ /** @future Not in brepkit-wasm 2.111.1. Referenced with feature detection in adapter. */
335
330
  copyEdge?(edge: number): number;
336
- /** @future Not in brepkit-wasm 2.104.1. Referenced with feature detection in adapter. */
331
+ /** @future Not in brepkit-wasm 2.111.1. Referenced with feature detection in adapter. */
337
332
  transformEdge?(edge: number, matrix: Float64Array | number[]): void;
338
- /** @future Not in brepkit-wasm 2.104.1. Referenced with feature detection in adapter. */
333
+ /** @future Not in brepkit-wasm 2.111.1. Referenced with feature detection in adapter. */
339
334
  validateSolidDetails?(solid: number): string;
340
335
  /** Release the entire arena. */
341
336
  free(): void;
@@ -45,7 +45,7 @@ export declare function classifyPointRobust(bk: BrepkitKernel, shape: KernelShap
45
45
  export declare function classifyPointWinding(bk: BrepkitKernel, shape: KernelShape, point: [number, number, number], tolerance: number): string;
46
46
  export declare function detectSmallFeatures(bk: BrepkitKernel, shape: KernelShape, areaThreshold: number, tolerance: number): KernelShape[];
47
47
  export declare function recognizeFeatures(bk: BrepkitKernel, shape: KernelShape, tolerance: number): string;
48
- export declare function projectEdges(bk: BrepkitKernel, shape: KernelShape, _cameraOrigin: [number, number, number], _cameraDirection: [number, number, number], _cameraXAxis?: [number, number, number]): {
48
+ export declare function projectEdges(bk: BrepkitKernel, shape: KernelShape, cameraOrigin: [number, number, number], cameraDirection: [number, number, number], cameraXAxis?: [number, number, number]): {
49
49
  visible: {
50
50
  outline: KernelShape;
51
51
  smooth: KernelShape;
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_occtWasmAdapter = require("../../occtWasmAdapter-Bfz5Zfmk.cjs");
2
+ const require_occtWasmAdapter = require("../../occtWasmAdapter-DQ4QncJq.cjs");
3
3
  exports.OcctWasmAdapter = require_occtWasmAdapter.OcctWasmAdapter;
@@ -297,8 +297,8 @@ export declare class OcctWasmAdapter implements KernelAdapter {
297
297
  curveKnotInsert(_edge: KernelShape, _knot: number, _times: number): KernelShape;
298
298
  curveKnotRemove(_edge: KernelShape, _knot: number, _tolerance: number): KernelShape;
299
299
  curveSplit(_edge: KernelShape, _param: number): [KernelShape, KernelShape];
300
- createCurveAdaptor(_shape: KernelShape): KernelType;
301
300
  getBezierPenultimatePole(_edge: KernelShape): [number, number, number] | null;
301
+ createCurveAdaptor(_shape: KernelShape): KernelType;
302
302
  vertexPosition(vertex: KernelShape): [number, number, number];
303
303
  surfaceType(face: KernelShape): SurfaceType;
304
304
  uvBounds(face: KernelShape): {
@@ -1,2 +1,2 @@
1
- import { t as OcctWasmAdapter } from "../../occtWasmAdapter-BK6h0nKd.js";
1
+ import { t as OcctWasmAdapter } from "../../occtWasmAdapter-B76LgEfN.js";
2
2
  export { OcctWasmAdapter };
@@ -1,4 +1,4 @@
1
- const require_shapeTypes = require("./shapeTypes-DpDcMU0a.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-CKhUM29E.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
3
  const require_types = require("./types-KjA8tY4Y.cjs");
4
4
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
@@ -1,4 +1,4 @@
1
- import { Z as getKernel, c as createSolid, h as isShape3D, t as castShape, y as isWire } from "./shapeTypes-Caa9T1VR.js";
1
+ import { Z as getKernel, c as createSolid, h as isShape3D, t as castShape, y as isWire } from "./shapeTypes-CgOy0EJH.js";
2
2
  import { A as ok, b as err, d as validationError, i as kernelError, l as typeCastError, t as BrepErrorCode, w as isErr } from "./errors-DNWJsfVU.js";
3
3
  import { r as toVec3 } from "./types-D24Y27N0.js";
4
4
  import { c as vecLength, d as vecNormalize, t as vecAdd } from "./vecOps-SKPRvPH-.js";
@@ -1,7 +1,7 @@
1
- import { Z as getKernel } from "./shapeTypes-Caa9T1VR.js";
1
+ import { Z as getKernel } from "./shapeTypes-CgOy0EJH.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-CR7zQvDK.js";
4
- import { m as uvBounds } from "./faceFns-hGTQhRXB.js";
3
+ import { w as kernelCallRaw } from "./topologyQueryFns-DYEJDzjq.js";
4
+ import { m as uvBounds } from "./faceFns-BcFi4Lt8.js";
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
- const require_shapeTypes = require("./shapeTypes-DpDcMU0a.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-CKhUM29E.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-imRz9gK2.cjs");
4
- const require_faceFns = require("./faceFns-B3bYfnGX.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-CTy1eBEW.cjs");
4
+ const require_faceFns = require("./faceFns-DsZnSpkR.cjs");
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-DwHd423H.cjs");
2
+ const require_measureFns = require("./measureFns-CtVe9Fc3.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-Bka10mrS.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-Cj2QdvaY.js";
2
2
  export { createDistanceQuery, measureArea, measureDistance, measureDistanceProps, measureLength, measureLinearProps, measureSurfaceProps, measureVolume, measureVolumeProps };
@@ -1,7 +1,7 @@
1
- const require_shapeTypes = require("./shapeTypes-DpDcMU0a.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-CKhUM29E.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-imRz9gK2.cjs");
4
- const require_shapeFns = require("./shapeFns-BPvq4QYa.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-CTy1eBEW.cjs");
4
+ const require_shapeFns = require("./shapeFns-bcNTE5P6.cjs");
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
- import { Z as getKernel, gt as qualityDeflection } from "./shapeTypes-Caa9T1VR.js";
1
+ import { Z as getKernel, gt as qualityDeflection } from "./shapeTypes-CgOy0EJH.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-CR7zQvDK.js";
4
- import { O as getFaceOrigins } from "./shapeFns-kVgikxkG.js";
3
+ import { d as getSolids, n as getBounds } from "./topologyQueryFns-DYEJDzjq.js";
4
+ import { O as getFaceOrigins } from "./shapeFns-D6v5B_z6.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,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_threadFns = require("./threadFns-Cw1TzGd2.cjs");
3
- const require_loftFns = require("./loftFns-B8UzGtwS.cjs");
2
+ const require_threadFns = require("./threadFns-Bi0Qfuca.cjs");
3
+ const require_loftFns = require("./loftFns-DcLv7Zhd.cjs");
4
4
  exports.addChild = require_threadFns.addChild;
5
5
  exports.addJoint = require_threadFns.addJoint;
6
6
  exports.addStep = require_threadFns.addStep;
@@ -1,3 +1,3 @@
1
- import { A as setJointValue, B as findNode, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, G as gridPattern, H as updateNode, I as addChild, J as createAssembly, K as linearPattern, L as collectShapes, M as sphericalJoint, O as prismaticJoint, R as countNodes, S as addJoint, T as jointTransform, U as walkAssembly, V as removeChild, W as circularPattern, _ as exportURDF, b as inverseKinematics, c as modifyStep, d as replayFrom, f as replayHistory, g as undoLast, h as stepsFrom, i as createRegistry, j as setJointValues, k as revoluteJoint, l as registerOperation, m as stepCount, n as addStep, o as findStep, q as exportAssemblySTEP, r as createHistory, s as getShape, t as thread, u as registerShape, v as importURDF, w as forwardKinematics, x as jointTrajectory, y as jointsFromDH, z as createAssemblyNode } from "./threadFns-74sXf2tN.js";
2
- import { d as twistExtrude, l as supportExtrude, o as complexExtrude, u as sweep } from "./loftFns-DusJd7Qq.js";
1
+ import { A as setJointValue, B as findNode, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, G as gridPattern, H as updateNode, I as addChild, J as createAssembly, K as linearPattern, L as collectShapes, M as sphericalJoint, O as prismaticJoint, R as countNodes, S as addJoint, T as jointTransform, U as walkAssembly, V as removeChild, W as circularPattern, _ as exportURDF, b as inverseKinematics, c as modifyStep, d as replayFrom, f as replayHistory, g as undoLast, h as stepsFrom, i as createRegistry, j as setJointValues, k as revoluteJoint, l as registerOperation, m as stepCount, n as addStep, o as findStep, q as exportAssemblySTEP, r as createHistory, s as getShape, t as thread, u as registerShape, v as importURDF, w as forwardKinematics, x as jointTrajectory, y as jointsFromDH, z as createAssemblyNode } from "./threadFns-BJpsXw07.js";
2
+ import { d as twistExtrude, l as supportExtrude, o as complexExtrude, u as sweep } from "./loftFns-DhPSvEU-.js";
3
3
  export { addChild, addJoint, addStep, circularPattern, collectShapes, complexExtrude, countNodes, createAssembly, createAssemblyNode, createHistory, createRegistry, cylindricalJoint, exportAssemblySTEP, exportURDF, findNode, findStep, forwardKinematics, getShape as getHistoryShape, gridPattern, importURDF, inverseKinematics, jointTrajectory, jointTransform, jointsFromDH, linearPattern, mechanismDOF, modifyStep, planarJoint, prismaticJoint, registerOperation, registerShape, removeChild, replayFrom, replayHistory, revoluteJoint, setJointValue, setJointValues, sphericalJoint, stepCount, stepsFrom, supportExtrude, sweep, thread, twistExtrude, undoLast, updateNode, walkAssembly };
@@ -1,9 +1,9 @@
1
- import { Z as getKernel, c as createSolid, x as isClosedWire } from "./shapeTypes-Caa9T1VR.js";
1
+ import { Z as getKernel, c as createSolid, x as isClosedWire } from "./shapeTypes-CgOy0EJH.js";
2
2
  import { A as ok, b as err, d as validationError, v as andThen } from "./errors-DNWJsfVU.js";
3
3
  import { t as DEG2RAD } from "./constants-ITRzCnCp.js";
4
- import { h as translate } from "./shapeFns-kVgikxkG.js";
5
- 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-BDEc8WSE.js";
6
- 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-BHRL7010.js";
4
+ import { h as translate } from "./shapeFns-D6v5B_z6.js";
5
+ 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-CNlnjAei.js";
6
+ 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-Dr28x66f.js";
7
7
  //#region src/topology/primitiveFns.ts
8
8
  /**
9
9
  * Create a box with the given dimensions.
@@ -1,9 +1,9 @@
1
- const require_shapeTypes = require("./shapeTypes-DpDcMU0a.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-CKhUM29E.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
3
  const require_constants = require("./constants-BOVyEYGH.cjs");
4
- const require_shapeFns = require("./shapeFns-BPvq4QYa.cjs");
5
- const require_surfaceBuilders = require("./surfaceBuilders-5hLC_QeE.cjs");
6
- const require_solidBuilders = require("./solidBuilders-Cve7yf13.cjs");
4
+ const require_shapeFns = require("./shapeFns-bcNTE5P6.cjs");
5
+ const require_surfaceBuilders = require("./surfaceBuilders-DDk5xABR.cjs");
6
+ const require_solidBuilders = require("./solidBuilders-CqeLyEt7.cjs");
7
7
  //#region src/topology/primitiveFns.ts
8
8
  /**
9
9
  * Create a box with the given dimensions.
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_cameraFns = require("./cameraFns-p4G3cFuC.cjs");
2
+ const require_cameraFns = require("./cameraFns-BJyYRJWK.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-B2WR42Tm.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-1T8_l0NS.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-D6yNdVOO.cjs");
3
- const require_cornerFinder = require("./cornerFinder-B_SuHSBj.cjs");
2
+ const require_helpers = require("./helpers-CLDPogSo.cjs");
3
+ const require_cornerFinder = require("./cornerFinder-DvQLHay1.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-DOE4GlZ0.js";
2
- import { t as cornerFinder } from "./cornerFinder-KoakXQze.js";
1
+ import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-B4bgQUFj.js";
2
+ import { t as cornerFinder } from "./cornerFinder-CpUNW1LJ.js";
3
3
  export { cornerFinder, edgeFinder, faceFinder, getSingleFace };
@@ -1,6 +1,6 @@
1
- import { Z as getKernel, t as castShape } from "./shapeTypes-Caa9T1VR.js";
1
+ import { Z as getKernel, t as castShape } from "./shapeTypes-CgOy0EJH.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-CR7zQvDK.js";
3
+ import { C as kernelCall, c as getFaces, l as getOrCreateCache, r as getCacheEntry, w as kernelCallRaw } from "./topologyQueryFns-DYEJDzjq.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-DpDcMU0a.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-CKhUM29E.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-imRz9gK2.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-CTy1eBEW.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-CxB7OXOc.cjs");
2
+ const require_shapeRefFns = require("./shapeRefFns-BsieWpks.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-CXWVzhbm.js";
1
+ import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-DNl2Yvil.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-imRz9gK2.cjs");
3
- const require_faceFns = require("./faceFns-B3bYfnGX.cjs");
4
- const require_shapeFns = require("./shapeFns-BPvq4QYa.cjs");
5
- const require_measureFns = require("./measureFns-DwHd423H.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-CTy1eBEW.cjs");
3
+ const require_faceFns = require("./faceFns-DsZnSpkR.cjs");
4
+ const require_shapeFns = require("./shapeFns-bcNTE5P6.cjs");
5
+ const require_measureFns = require("./measureFns-CtVe9Fc3.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-CR7zQvDK.js";
3
- import { i as faceGeomType, l as normalAt, r as faceCenter } from "./faceFns-hGTQhRXB.js";
4
- import { n as getHashCode } from "./shapeFns-kVgikxkG.js";
5
- import { n as measureArea } from "./measureFns-Bka10mrS.js";
2
+ import { c as getFaces } from "./topologyQueryFns-DYEJDzjq.js";
3
+ import { i as faceGeomType, l as normalAt, r as faceCenter } from "./faceFns-BcFi4Lt8.js";
4
+ import { n as getHashCode } from "./shapeFns-D6v5B_z6.js";
5
+ import { n as measureArea } from "./measureFns-Cj2QdvaY.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-Bfz5Zfmk.cjs");
1
+ const require_occtWasmAdapter = require("./occtWasmAdapter-DQ4QncJq.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
@@ -6100,19 +6100,63 @@ function recognizeFeatures(bk, shape, tolerance) {
6100
6100
  const solidId = unwrapSolidOrThrow(shape, "recognizeFeatures");
6101
6101
  return bk.recognizeFeatures(solidId, tolerance);
6102
6102
  }
6103
- function projectEdges(bk, shape, _cameraOrigin, _cameraDirection, _cameraXAxis) {
6104
- const edges = iterShapes$1(bk, shape, "edge");
6105
- const emptyCompound = edges.length > 0 ? edges[0] : shape;
6103
+ function projectEdges(bk, shape, cameraOrigin, cameraDirection, cameraXAxis) {
6104
+ const solidId = unwrap$1(shape);
6105
+ const [ox, oy, oz] = cameraOrigin;
6106
+ const [dx, dy, dz] = cameraDirection;
6107
+ const [xx, xy, xz] = cameraXAxis ?? [
6108
+ 1,
6109
+ 0,
6110
+ 0
6111
+ ];
6112
+ let deflection = .1;
6113
+ try {
6114
+ const bb = bk.boundingBox(solidId);
6115
+ const [minX, minY, minZ] = require_vec3.vec3At(bb, 0);
6116
+ const [maxX, maxY, maxZ] = require_vec3.vec3At(bb, 3);
6117
+ const diag = dist3(minX, minY, minZ, maxX, maxY, maxZ);
6118
+ if (diag > 0) deflection = Math.max(diag * .001, 1e-6);
6119
+ } catch {}
6120
+ const json = bk.projectEdges(solidId, ox, oy, oz, dx, dy, dz, xx, xy, xz, true, deflection);
6121
+ let parsed;
6122
+ try {
6123
+ parsed = JSON.parse(json);
6124
+ } catch {
6125
+ parsed = {
6126
+ visible: [],
6127
+ hidden: []
6128
+ };
6129
+ }
6130
+ const polylinesToCompound = (polylines) => {
6131
+ const edges = [];
6132
+ for (const poly of polylines) for (let i = 0; i + 3 < poly.length; i += 2) {
6133
+ const x1 = poly[i];
6134
+ const y1 = poly[i + 1];
6135
+ const x2 = poly[i + 2];
6136
+ const y2 = poly[i + 3];
6137
+ if (x1 === void 0 || y1 === void 0 || x2 === void 0 || y2 === void 0) continue;
6138
+ if (x1 === x2 && y1 === y2) continue;
6139
+ edges.push(edgeHandle(bk.makeLineEdge(x1, y1, 0, x2, y2, 0)));
6140
+ }
6141
+ const id = nextSyntheticId();
6142
+ syntheticCompounds.set(id, edges);
6143
+ return compoundHandle(id);
6144
+ };
6145
+ const emptyCompound = () => {
6146
+ const id = nextSyntheticId();
6147
+ syntheticCompounds.set(id, []);
6148
+ return compoundHandle(id);
6149
+ };
6106
6150
  return {
6107
6151
  visible: {
6108
- outline: emptyCompound,
6109
- smooth: emptyCompound,
6110
- sharp: emptyCompound
6152
+ outline: polylinesToCompound(parsed.visible),
6153
+ smooth: emptyCompound(),
6154
+ sharp: emptyCompound()
6111
6155
  },
6112
6156
  hidden: {
6113
- outline: emptyCompound,
6114
- smooth: emptyCompound,
6115
- sharp: emptyCompound
6157
+ outline: polylinesToCompound(parsed.hidden),
6158
+ smooth: emptyCompound(),
6159
+ sharp: emptyCompound()
6116
6160
  }
6117
6161
  };
6118
6162
  }
@@ -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-BK6h0nKd.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-B76LgEfN.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
@@ -6096,19 +6096,63 @@ function recognizeFeatures(bk, shape, tolerance) {
6096
6096
  const solidId = unwrapSolidOrThrow(shape, "recognizeFeatures");
6097
6097
  return bk.recognizeFeatures(solidId, tolerance);
6098
6098
  }
6099
- function projectEdges(bk, shape, _cameraOrigin, _cameraDirection, _cameraXAxis) {
6100
- const edges = iterShapes$1(bk, shape, "edge");
6101
- const emptyCompound = edges.length > 0 ? edges[0] : shape;
6099
+ function projectEdges(bk, shape, cameraOrigin, cameraDirection, cameraXAxis) {
6100
+ const solidId = unwrap$1(shape);
6101
+ const [ox, oy, oz] = cameraOrigin;
6102
+ const [dx, dy, dz] = cameraDirection;
6103
+ const [xx, xy, xz] = cameraXAxis ?? [
6104
+ 1,
6105
+ 0,
6106
+ 0
6107
+ ];
6108
+ let deflection = .1;
6109
+ try {
6110
+ const bb = bk.boundingBox(solidId);
6111
+ const [minX, minY, minZ] = vec3At(bb, 0);
6112
+ const [maxX, maxY, maxZ] = vec3At(bb, 3);
6113
+ const diag = dist3(minX, minY, minZ, maxX, maxY, maxZ);
6114
+ if (diag > 0) deflection = Math.max(diag * .001, 1e-6);
6115
+ } catch {}
6116
+ const json = bk.projectEdges(solidId, ox, oy, oz, dx, dy, dz, xx, xy, xz, true, deflection);
6117
+ let parsed;
6118
+ try {
6119
+ parsed = JSON.parse(json);
6120
+ } catch {
6121
+ parsed = {
6122
+ visible: [],
6123
+ hidden: []
6124
+ };
6125
+ }
6126
+ const polylinesToCompound = (polylines) => {
6127
+ const edges = [];
6128
+ for (const poly of polylines) for (let i = 0; i + 3 < poly.length; i += 2) {
6129
+ const x1 = poly[i];
6130
+ const y1 = poly[i + 1];
6131
+ const x2 = poly[i + 2];
6132
+ const y2 = poly[i + 3];
6133
+ if (x1 === void 0 || y1 === void 0 || x2 === void 0 || y2 === void 0) continue;
6134
+ if (x1 === x2 && y1 === y2) continue;
6135
+ edges.push(edgeHandle(bk.makeLineEdge(x1, y1, 0, x2, y2, 0)));
6136
+ }
6137
+ const id = nextSyntheticId();
6138
+ syntheticCompounds.set(id, edges);
6139
+ return compoundHandle(id);
6140
+ };
6141
+ const emptyCompound = () => {
6142
+ const id = nextSyntheticId();
6143
+ syntheticCompounds.set(id, []);
6144
+ return compoundHandle(id);
6145
+ };
6102
6146
  return {
6103
6147
  visible: {
6104
- outline: emptyCompound,
6105
- smooth: emptyCompound,
6106
- sharp: emptyCompound
6148
+ outline: polylinesToCompound(parsed.visible),
6149
+ smooth: emptyCompound(),
6150
+ sharp: emptyCompound()
6107
6151
  },
6108
6152
  hidden: {
6109
- outline: emptyCompound,
6110
- smooth: emptyCompound,
6111
- sharp: emptyCompound
6153
+ outline: polylinesToCompound(parsed.hidden),
6154
+ smooth: emptyCompound(),
6155
+ sharp: emptyCompound()
6112
6156
  }
6113
6157
  };
6114
6158
  }
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_textBlueprints = require("./textBlueprints-bMa5164s.cjs");
3
- const require_blueprintSketcher = require("./blueprintSketcher-NDZKJGYh.cjs");
4
- const require_drawFns = require("./drawFns-7qn35uWm.cjs");
2
+ const require_textBlueprints = require("./textBlueprints-DIQwcQxF.cjs");
3
+ const require_blueprintSketcher = require("./blueprintSketcher-DyZBno71.cjs");
4
+ const require_drawFns = require("./drawFns-XbmE6iHl.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-DzCTWt_f.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-D7q8qpEI.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-Cl5P2MkE.js";
1
+ import { n as BaseSketcher2d, t as BlueprintSketcher } from "./blueprintSketcher-C9PqxvlX.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-DW3HdqAa.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-Dz9CYlAC.js";
4
4
  //#region src/sketching.ts
5
5
  /**
6
6
  * brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.
@@ -1,13 +1,13 @@
1
- const require_shapeTypes = require("./shapeTypes-DpDcMU0a.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-CKhUM29E.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-imRz9gK2.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-CTy1eBEW.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
6
6
  const require_planeOps = require("./planeOps-BA4HfgQu.cjs");
7
- const require_faceFns = require("./faceFns-B3bYfnGX.cjs");
8
- const require_shapeFns = require("./shapeFns-BPvq4QYa.cjs");
7
+ const require_faceFns = require("./faceFns-DsZnSpkR.cjs");
8
+ const require_shapeFns = require("./shapeFns-bcNTE5P6.cjs");
9
9
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
10
- const require_surfaceBuilders = require("./surfaceBuilders-5hLC_QeE.cjs");
10
+ const require_surfaceBuilders = require("./surfaceBuilders-DDk5xABR.cjs");
11
11
  //#region src/topology/booleanFns.ts
12
12
  /**
13
13
  * Boolean and compound operations — functional replacements for _3DShape boolean methods.