brepjs 20.12.8 → 20.12.10

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 (96) hide show
  1. package/dist/2d.cjs +6 -6
  2. package/dist/2d.js +6 -6
  3. package/dist/{adjacencyFns-BfgFo-Rh.cjs → adjacencyFns-CxdCl5WP.cjs} +3 -3
  4. package/dist/{adjacencyFns-Bl109A3Z.js → adjacencyFns-D5HrKCrU.js} +3 -3
  5. package/dist/{blueprint-RqemOtg5.js → blueprint-BX9jLBWa.js} +5 -5
  6. package/dist/{blueprint-DTDSztfd.cjs → blueprint-D_T-AYNd.cjs} +5 -5
  7. package/dist/{blueprintFns-C7E5R89N.cjs → blueprintFns-COoax_Qd.cjs} +2 -2
  8. package/dist/{blueprintFns-B9_PhTr8.js → blueprintFns-DD_cM248.js} +2 -2
  9. package/dist/{blueprintSketcher-B15522Kr.js → blueprintSketcher-DtjZEmgc.js} +3 -3
  10. package/dist/{blueprintSketcher-Brj4lXjj.cjs → blueprintSketcher-wvZPUAlC.cjs} +3 -3
  11. package/dist/{boolean2D-_eiIiNw1.js → boolean2D-Bpy4N2Gn.js} +4 -4
  12. package/dist/{boolean2D-DZ8aJbI-.cjs → boolean2D-DX0exPxi.cjs} +4 -4
  13. package/dist/{booleanFns-cNfXGqMX.js → booleanFns-BfHFIGG2.js} +4 -4
  14. package/dist/{booleanFns-D5nQ1nWS.cjs → booleanFns-CJFWBMrz.cjs} +4 -4
  15. package/dist/brepjs.cjs +72 -55
  16. package/dist/brepjs.js +72 -55
  17. package/dist/{cameraFns-YhB7A_Zc.js → cameraFns-CQr0Z3FY.js} +3 -3
  18. package/dist/{cameraFns-6Er2lhp5.cjs → cameraFns-slop0dGo.cjs} +3 -3
  19. package/dist/core.cjs +2 -2
  20. package/dist/core.js +2 -2
  21. package/dist/{cornerFinder-D9Wx3DWu.cjs → cornerFinder-B-odGaqU.cjs} +1 -1
  22. package/dist/{cornerFinder-G1WkSkVl.js → cornerFinder-BGktSDIJ.js} +1 -1
  23. package/dist/{curveFns-B5_N-gMj.cjs → curveFns-B1ZGAua6.cjs} +1 -1
  24. package/dist/{curveFns-C4CqthJp.js → curveFns-DpAho4sY.js} +1 -1
  25. package/dist/{drawFns-UPbO2heB.cjs → drawFns-BaX0T4YH.cjs} +12 -12
  26. package/dist/{drawFns-DU5fewKl.js → drawFns-HPK4VIr4.js} +12 -12
  27. package/dist/{faceFns-BgRNa5vx.js → faceFns-DvnSVq5k.js} +2 -2
  28. package/dist/{faceFns-C4NOGZBg.cjs → faceFns-mca5oNNe.cjs} +2 -2
  29. package/dist/{healingFns-i5gV3BMG.cjs → healingFns-BY_IdHbC.cjs} +91 -22
  30. package/dist/{healingFns-BzOo0yyz.js → healingFns-DYtkECby.js} +85 -22
  31. package/dist/{helpers-DJQeDf_5.cjs → helpers-6DyPwHPE.cjs} +6 -6
  32. package/dist/{helpers-DPHQt2Kr.js → helpers-WdI_vPa4.js} +6 -6
  33. package/dist/{importFns-CwrJsNvg.js → importFns-D7KuHlJx.js} +5 -5
  34. package/dist/{importFns-BiRpt227.cjs → importFns-DN5oxh4I.cjs} +5 -5
  35. package/dist/io.cjs +2 -2
  36. package/dist/io.js +2 -2
  37. package/dist/kernel/interfaces/modifierOps.d.ts +12 -0
  38. package/dist/kernel/occtWasm/evolutionOps.d.ts +4 -3
  39. package/dist/kernel/occtWasm/helpers.d.ts +14 -3
  40. package/dist/kernel/occtWasm/ioOps.d.ts +13 -13
  41. package/dist/kernel/occtWasm/modifierOps.d.ts +13 -3
  42. package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
  43. package/dist/kernel/occtWasm/occtWasmAdapter.d.ts +6 -1
  44. package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -1
  45. package/dist/kernel/occtWasm/occtWasmTypes.d.ts +33 -0
  46. package/dist/{loftFns-lwzTh1fI.js → loftFns-DE21800M.js} +1 -1
  47. package/dist/{loftFns-DgkK4Kj_.cjs → loftFns-Udobz6tm.cjs} +1 -1
  48. package/dist/{measureFns-Q3K25IfN.js → measureFns-DmL9FRQC.js} +3 -3
  49. package/dist/{measureFns-D_RRjCZg.cjs → measureFns-JNQma34N.cjs} +3 -3
  50. package/dist/measurement.cjs +2 -2
  51. package/dist/measurement.js +2 -2
  52. package/dist/{meshFns-BGoJU6_P.js → meshFns-CqLLizwL.js} +4 -4
  53. package/dist/{meshFns-Djbb4PUC.cjs → meshFns-CsMwXvw3.cjs} +4 -4
  54. package/dist/{occtWasmAdapter-UcYZRi-w.cjs → occtWasmAdapter-DTEpwXuT.cjs} +316 -81
  55. package/dist/{occtWasmAdapter-BCCwaYkq.js → occtWasmAdapter-Dr70YU4m.js} +316 -81
  56. package/dist/operations.cjs +2 -2
  57. package/dist/operations.js +2 -2
  58. package/dist/{primitiveFns-CfSnex9P.cjs → primitiveFns-CE8IsnCc.cjs} +5 -5
  59. package/dist/{primitiveFns-D-aYcwt2.js → primitiveFns-DnzKWigX.js} +5 -5
  60. package/dist/{principalBoxFns-IY8FfPVj.cjs → principalBoxFns-D_SbLz4g.cjs} +3 -3
  61. package/dist/{principalBoxFns-Dcp9gg5e.js → principalBoxFns-wy3yRjqt.js} +3 -3
  62. package/dist/projection.cjs +1 -1
  63. package/dist/projection.js +1 -1
  64. package/dist/query.cjs +2 -2
  65. package/dist/query.js +2 -2
  66. package/dist/{refResolveFns-gZQ1o5XK.cjs → refResolveFns-Bi9CTJ3m.cjs} +6 -6
  67. package/dist/{refResolveFns-BPge7T5w.js → refResolveFns-Cd_CuhaX.js} +6 -6
  68. package/dist/{shapeFns-Bs92VrZh.cjs → shapeFns-DCiFtMCX.cjs} +2 -2
  69. package/dist/{shapeFns-TWdr4Dv4.js → shapeFns-pMt-Oz0f.js} +2 -2
  70. package/dist/shapeRef.cjs +1 -1
  71. package/dist/shapeRef.js +1 -1
  72. package/dist/{shapeTypes-DmThK_oa.cjs → shapeTypes-B9ACN7a8.cjs} +1 -1
  73. package/dist/{shapeTypes-CIH-8d_a.js → shapeTypes-Ccp9iVna.js} +1 -1
  74. package/dist/sketching.cjs +3 -3
  75. package/dist/sketching.js +3 -3
  76. package/dist/{solidBuilders-q_hwYsdo.js → solidBuilders-BltNQKqZ.js} +3 -3
  77. package/dist/{solidBuilders-DGskMugU.cjs → solidBuilders-DwqlsNW1.cjs} +3 -3
  78. package/dist/{surfaceBuilders-DeSLKg73.cjs → surfaceBuilders-CYuQfMQj.cjs} +3 -3
  79. package/dist/{surfaceBuilders-DXo4N7wQ.js → surfaceBuilders-CiNyRrC4.js} +3 -3
  80. package/dist/text.cjs +2 -2
  81. package/dist/text.js +2 -2
  82. package/dist/{textBlueprints-BYWZho_c.js → textBlueprints-CHXueg05.js} +8 -8
  83. package/dist/{textBlueprints-Dz6wNgve.cjs → textBlueprints-DiYY758O.cjs} +8 -8
  84. package/dist/{textMetrics-k_rGqib2.js → textMetrics-C0rVJZVh.js} +1 -1
  85. package/dist/{textMetrics-bKoFTj3m.cjs → textMetrics-DJIhwIPL.cjs} +1 -1
  86. package/dist/{threadFns-BeB8s0tA.js → threadFns-B9uxy9ud.js} +7 -7
  87. package/dist/{threadFns-CoGAFHHt.cjs → threadFns-ChWU9CVV.cjs} +7 -7
  88. package/dist/topology/apiTypes.d.ts +6 -2
  89. package/dist/topology/chamferAngleFns.d.ts +24 -0
  90. package/dist/topology.cjs +9 -9
  91. package/dist/topology.js +9 -9
  92. package/dist/{topologyQueryFns-Cp0yekBh.js → topologyQueryFns-D7j1fl0n.js} +1 -1
  93. package/dist/{topologyQueryFns-CXbCFaU2.cjs → topologyQueryFns-DEax1nqt.cjs} +1 -1
  94. package/dist/{validityTypes-DlrWkrSR.js → validityTypes-6AePqp-3.js} +1 -1
  95. package/dist/{validityTypes-m6eLRTYE.cjs → validityTypes-BolqrAZa.cjs} +1 -1
  96. package/package.json +2 -2
@@ -1,4 +1,5 @@
1
1
  import { KernelShape, ShapeEvolution, ShapeType } from '../types.js';
2
+ import { UnsupportedKernelOperationError } from '../unsupported.js';
2
3
  import { EmEvolutionData, OcctWasmHandle, OcctWasmModule, OcctKernelWasm, EmVectorUint32, EmVectorInt, EmVectorDouble } from './occtWasmTypes.js';
3
4
  export declare const noop: () => void;
4
5
  /** Build an opaque kernel handle for an arena-allocated WASM shape. */
@@ -24,11 +25,20 @@ export declare function readVecInt(vec: EmVectorInt): number[];
24
25
  * and any other transform-stack composition.
25
26
  */
26
27
  export declare function multiplyMatrices4x4(a: number[], b: number[]): number[];
28
+ /** A fillet's start and end radius, or a chamfer's two setbacks. A number is both. */
29
+ type EdgeValue = number | [number, number];
30
+ export type EdgeValueSpec = EdgeValue | ((edge: KernelShape) => EdgeValue);
27
31
  /**
28
- * Resolve a callback-style radius/distance to a uniform number.
29
- * occt-wasm's fillet/chamfer take a single radius — uniform per call.
32
+ * Run a fillet or chamfer over `edges`, naming the edges it fails on. Edges
33
+ * that all take one value go to `uniform`, the single-value entry point every
34
+ * occt-wasm build has; otherwise `perEdge` gets each edge's pair as `first`
35
+ * and `second`.
30
36
  */
31
- export declare function resolveUniformRadius(edges: KernelShape[], radius: number | [number, number] | ((edge: KernelShape) => number | [number, number])): number;
37
+ export declare function runEdgeTreatment<T>(Module: OcctWasmModule, edges: KernelShape[], value: EdgeValueSpec, uniform: (edgeVec: EmVectorUint32, value: number) => T, perEdge: (edgeVec: EmVectorUint32, first: EmVectorDouble, second: EmVectorDouble) => T): T;
38
+ /** Each face's draft angle, in radians. */
39
+ export declare function draftAnglesRad(faces: readonly KernelShape[], angleDeg: number | ((face: KernelShape) => number)): number[];
40
+ /** The peer range still admits older builds, which lack the per-edge and unit entry points. */
41
+ export declare function needsOcctWasm59(what: string): UnsupportedKernelOperationError;
32
42
  /**
33
43
  * Rotate a shape from the kernel's default Z-axis to an arbitrary direction.
34
44
  * Used by primitives whose creation API only takes a Z-aligned form.
@@ -39,3 +49,4 @@ export declare function parseEvolution(evo: EmEvolutionData): {
39
49
  id: number;
40
50
  evolution: ShapeEvolution;
41
51
  };
52
+ export {};
@@ -17,13 +17,17 @@ type MeshFn = (shape: KernelShape, options: {
17
17
  faceHash: number;
18
18
  }>;
19
19
  };
20
+ interface StepUnitOptions {
21
+ unit?: string | undefined;
22
+ modelUnit?: string | undefined;
23
+ }
20
24
  export declare function exportSTEP(k: OcctKernelWasm, makeCompound: CompoundFn, shapes: KernelShape[]): string;
21
25
  export declare function exportSTL(mesh: MeshFn, shape: KernelShape, binary?: boolean, tolerance?: number, angularTolerance?: number): string | ArrayBuffer;
22
26
  export declare function importSTEP(k: OcctKernelWasm, data: string | ArrayBuffer): KernelShape[];
23
27
  export declare function importSTL(k: OcctKernelWasm, Module: OcctWasmModule, data: string | ArrayBuffer): KernelShape;
24
28
  export declare function exportIGES(k: OcctKernelWasm, makeCompound: CompoundFn, shapes: KernelShape[]): string;
25
29
  export declare function importIGES(k: OcctKernelWasm, data: string | ArrayBuffer): KernelShape[];
26
- export declare function exportSTEPAssembly(k: OcctKernelWasm, Module: OcctWasmModule, parts: StepAssemblyPart[], _options?: {
30
+ export declare function exportSTEPAssembly(k: OcctKernelWasm, parts: StepAssemblyPart[], options?: {
27
31
  unit?: string;
28
32
  }): string;
29
33
  export declare function exportGLB(mesh: MeshFn, shape: KernelShape, tolerance: number): ArrayBuffer;
@@ -31,22 +35,18 @@ export declare function exportOBJ(mesh: MeshFn, shape: KernelShape, tolerance: n
31
35
  export declare function exportPLY(mesh: MeshFn, shape: KernelShape, tolerance: number): ArrayBuffer;
32
36
  export declare function toBREP(k: OcctKernelWasm, shape: KernelShape): string;
33
37
  export declare function fromBREP(k: OcctKernelWasm, data: string): KernelShape;
34
- export declare function createXCAFDocument(k: OcctKernelWasm, _Module: OcctWasmModule, shapes: Array<{
38
+ interface XcafPart {
39
+ readonly shape: KernelShape;
40
+ readonly name?: string | undefined;
41
+ readonly color?: [number, number, number, number] | undefined;
42
+ }
43
+ export declare function createXCAFDocument(k: OcctKernelWasm, makeCompound: CompoundFn, shapes: Array<{
35
44
  shape: KernelShape;
36
45
  name: string;
37
46
  color?: [number, number, number, number] | undefined;
38
47
  }>): KernelType;
39
- export declare function writeXCAFToSTEP(k: OcctKernelWasm, doc: KernelType, _options?: {
40
- unit?: string | undefined;
41
- modelUnit?: string | undefined;
42
- }): string;
43
- export declare function exportSTEPConfigured(k: OcctKernelWasm, Module: OcctWasmModule, shapes: Array<{
44
- shape: KernelShape;
45
- name?: string | undefined;
46
- color?: [number, number, number, number] | undefined;
47
- }>, _options?: {
48
- unit?: string | undefined;
49
- modelUnit?: string | undefined;
48
+ export declare function writeXCAFToSTEP(k: OcctKernelWasm, doc: KernelType, options?: StepUnitOptions): string;
49
+ export declare function exportSTEPConfigured(k: OcctKernelWasm, makeCompound: CompoundFn, shapes: XcafPart[], options?: StepUnitOptions & {
50
50
  schema?: number | undefined;
51
51
  }): string;
52
52
  export {};
@@ -1,14 +1,24 @@
1
1
  import { KernelShape } from '../types.js';
2
2
  import { OcctKernelWasm, OcctWasmModule } from './occtWasmTypes.js';
3
- export declare function fillet(k: OcctKernelWasm, Module: OcctWasmModule, shape: KernelShape, edges: KernelShape[], radius: number | [number, number] | ((edge: KernelShape) => number | [number, number])): KernelShape;
4
- export declare function chamfer(k: OcctKernelWasm, Module: OcctWasmModule, shape: KernelShape, edges: KernelShape[], distance: number | [number, number] | ((edge: KernelShape) => number | [number, number])): KernelShape;
3
+ import { EdgeValueSpec } from './helpers.js';
4
+ export declare function fillet(k: OcctKernelWasm, Module: OcctWasmModule, shape: KernelShape, edges: KernelShape[], radius: EdgeValueSpec): KernelShape;
5
+ export declare function chamfer(k: OcctKernelWasm, Module: OcctWasmModule, shape: KernelShape, edges: KernelShape[], distance: EdgeValueSpec): KernelShape;
6
+ interface DistAngle {
7
+ readonly distance: number;
8
+ readonly angleDeg: number;
9
+ }
5
10
  export declare function chamferDistAngle(k: OcctKernelWasm, Module: OcctWasmModule, shape: KernelShape, edges: KernelShape[], distance: number, angleDeg: number): KernelShape;
11
+ export declare function chamferDistAngles(k: OcctKernelWasm, Module: OcctWasmModule, shape: KernelShape, entries: ReadonlyArray<{
12
+ edge: KernelShape;
13
+ } & DistAngle>): KernelShape;
6
14
  export declare function shell(k: OcctKernelWasm, Module: OcctWasmModule, shape: KernelShape, faces: KernelShape[], thickness: number, tolerance?: number): KernelShape;
7
15
  export declare function thicken(k: OcctKernelWasm, shape: KernelShape, thickness: number): KernelShape;
8
16
  export declare function offset(k: OcctKernelWasm, shape: KernelShape, distance: number, tolerance?: number): KernelShape;
9
17
  export declare function filletVariable(k: OcctKernelWasm, shape: KernelShape, spec: string): KernelShape;
10
- export declare function draft(k: OcctKernelWasm, shape: KernelShape, faces: KernelShape[], pullDirection: [number, number, number], _neutralPlane: [number, number, number], angleDeg: number | ((face: KernelShape) => number)): KernelShape;
18
+ /** Draft every face in one operation about the plane through `neutralPlane` normal to the pull. */
19
+ export declare function draft(k: OcctKernelWasm, Module: OcctWasmModule, shape: KernelShape, faces: KernelShape[], pullDirection: [number, number, number], neutralPlane: [number, number, number], angleDeg: number | ((face: KernelShape) => number)): KernelShape;
11
20
  export declare function defeature(k: OcctKernelWasm, Module: OcctWasmModule, shape: KernelShape, faces: KernelShape[]): KernelShape;
12
21
  export declare function offsetWire2D(k: OcctKernelWasm, wire: KernelShape, offset: number, joinType?: number | 'arc' | 'intersection' | 'tangent'): KernelShape;
13
22
  export declare function simplify(k: OcctKernelWasm, shape: KernelShape): KernelShape;
14
23
  export declare function reverseShape(k: OcctKernelWasm, shape: KernelShape): KernelShape;
24
+ export {};
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_occtWasmAdapter = require("../../occtWasmAdapter-UcYZRi-w.cjs");
2
+ const require_occtWasmAdapter = require("../../occtWasmAdapter-DTEpwXuT.cjs");
3
3
  exports.OcctWasmAdapter = require_occtWasmAdapter.OcctWasmAdapter;
@@ -166,6 +166,11 @@ export declare class OcctWasmAdapter implements KernelAdapter {
166
166
  fillet(shape: KernelShape, edges: KernelShape[], radius: number | [number, number] | ((edge: KernelShape) => number | [number, number])): KernelShape;
167
167
  chamfer(shape: KernelShape, edges: KernelShape[], distance: number | [number, number] | ((edge: KernelShape) => number | [number, number])): KernelShape;
168
168
  chamferDistAngle(shape: KernelShape, edges: KernelShape[], distance: number, angleDeg: number): KernelShape;
169
+ chamferDistAngles(shape: KernelShape, edges: ReadonlyArray<{
170
+ edge: KernelShape;
171
+ distance: number;
172
+ angleDeg: number;
173
+ }>): KernelShape;
169
174
  shell(shape: KernelShape, faces: KernelShape[], thickness: number, tolerance?: number): KernelShape;
170
175
  thicken(shape: KernelShape, thickness: number): KernelShape;
171
176
  offset(shape: KernelShape, distance: number, tolerance?: number): KernelShape;
@@ -214,7 +219,7 @@ export declare class OcctWasmAdapter implements KernelAdapter {
214
219
  shellWithHistory(shape: KernelShape, faces: KernelShape[], thickness: number, inputFaceHashes: number[], hashUpperBound: number, tolerance?: number): OperationResult;
215
220
  thickenWithHistory(shape: KernelShape, thickness: number, inputFaceHashes: number[], hashUpperBound: number): OperationResult;
216
221
  offsetWithHistory(shape: KernelShape, distance: number, inputFaceHashes: number[], hashUpperBound: number, tolerance?: number): OperationResult;
217
- draftWithHistory(shape: KernelShape, faces: KernelShape[], pullDirection: [number, number, number], _neutralPlane: [number, number, number], angleDeg: number | ((face: KernelShape) => number), _inputFaceHashes: number[], _hashUpperBound: number): OperationResult;
222
+ draftWithHistory(shape: KernelShape, faces: KernelShape[], pullDirection: [number, number, number], neutralPlane: [number, number, number], angleDeg: number | ((face: KernelShape) => number), inputFaceHashes: number[], hashUpperBound: number): OperationResult;
218
223
  applyComposedTransformWithHistory(shape: KernelShape, transformHandle: KernelType, inputFaceHashes: number[], hashUpperBound: number): OperationResult;
219
224
  mesh(shape: KernelShape, options: MeshOptions): KernelMeshResult;
220
225
  meshEdges(shape: KernelShape, tolerance: number, angularTolerance: number): KernelEdgeMeshResult;
@@ -1 +1 @@
1
- export { t as OcctWasmAdapter } from "../../occtWasmAdapter-BCCwaYkq.js";
1
+ export { t as OcctWasmAdapter } from "../../occtWasmAdapter-Dr70YU4m.js";
@@ -144,9 +144,29 @@ export interface OcctKernelWasm {
144
144
  fillet(solidId: number, edgeIds: EmVectorUint32, radius: number): number;
145
145
  chamfer(solidId: number, edgeIds: EmVectorUint32, distance: number): number;
146
146
  chamferDistAngle(solidId: number, edgeIds: EmVectorUint32, distance: number, angleDeg: number): number;
147
+ /**
148
+ * occt-wasm >= 5.9.0: one radius pair per edge, constant where start equals
149
+ * end, else a linear taper from the edge's first vertex to its last.
150
+ */
151
+ filletRadii?(solidId: number, edgeIds: EmVectorUint32, startRadii: EmVectorDouble, endRadii: EmVectorDouble): number;
152
+ /**
153
+ * occt-wasm >= 5.9.0: one distance pair per edge, `distances1` set back on the
154
+ * reference face. `referenceFaceIds` is empty or one per edge; 0 (or empty)
155
+ * picks the edge's first adjacent face.
156
+ */
157
+ chamferDistances?(solidId: number, edgeIds: EmVectorUint32, distances1: EmVectorDouble, distances2: EmVectorDouble, referenceFaceIds: EmVectorUint32): number;
158
+ /** occt-wasm >= 5.9.0: per-edge distance-angle chamfer; reference faces as in `chamferDistances`. */
159
+ chamferDistAngles?(solidId: number, edgeIds: EmVectorUint32, distances: EmVectorDouble, anglesDeg: EmVectorDouble, referenceFaceIds: EmVectorUint32): number;
147
160
  shell(solidId: number, faceIds: EmVectorUint32, thickness: number, tolerance: number): number;
148
161
  offset(solidId: number, distance: number, tolerance: number): number;
162
+ /** Drafts about the XY plane through the origin, whatever the caller's neutral plane. */
149
163
  draft(shapeId: number, faceId: number, angleRad: number, dx: number, dy: number, dz: number): number;
164
+ /**
165
+ * occt-wasm >= 5.9.0: draft every face in one operation, face i by
166
+ * `anglesRad[i]`, pulling along (dx, dy, dz) about the plane through
167
+ * (px, py, pz) with normal (nx, ny, nz).
168
+ */
169
+ draftFaces?(shapeId: number, faceIds: EmVectorUint32, anglesRad: EmVectorDouble, dx: number, dy: number, dz: number, px: number, py: number, pz: number, nx: number, ny: number, nz: number): number;
150
170
  pipe(profileId: number, spineId: number): number;
151
171
  simplePipe(profileId: number, spineId: number): number;
152
172
  loft(wireIds: EmVectorUint32, isSolid: boolean, ruled: boolean): number;
@@ -228,6 +248,11 @@ export interface OcctKernelWasm {
228
248
  meshShape(id: number, linearDeflection: number, angularDeflection: number): EmMeshData;
229
249
  importStep(data: string): number;
230
250
  exportStep(id: number): string;
251
+ /**
252
+ * occt-wasm >= 5.9.0: STEP with lengths written in `unit` (mm, cm, m, km,
253
+ * inch, ft, mi, mil, um, uin). Geometry is read as millimeters.
254
+ */
255
+ exportStepWithUnit?(id: number, unit: string): string;
231
256
  importStl(data: string): number;
232
257
  /** Absent from published occt-wasm builds (no IGES translator), so callers feature-detect. */
233
258
  importIges?(data: string): number;
@@ -280,6 +305,8 @@ export interface OcctKernelWasm {
280
305
  xcafSetName(docId: number, labelId: number, name: string): void;
281
306
  xcafGetRootLabels(docId: number): EmVectorInt;
282
307
  xcafExportSTEP(docId: number): string;
308
+ /** occt-wasm >= 5.9.0: units as in {@link exportStepWithUnit}. */
309
+ xcafExportSTEPWithUnit?(docId: number, unit: string): string;
283
310
  bsplineSurface(flatPoints: EmVectorDouble, rows: number, cols: number): number;
284
311
  makeFaceOnSurface(faceId: number, wireId: number): number;
285
312
  makeNullShape(): number;
@@ -298,6 +325,12 @@ export interface OcctKernelWasm {
298
325
  scaleWithHistory(id: number, cx: number, cy: number, cz: number, factor: number, inputFaceHashes: EmVectorInt, hashUpperBound: number): EmEvolutionData;
299
326
  intersectWithHistory(a: number, b: number, inputFaceHashes: EmVectorInt, hashUpperBound: number): EmEvolutionData;
300
327
  chamferWithHistory(solidId: number, edgeIds: EmVectorUint32, distance: number, inputFaceHashes: EmVectorInt, hashUpperBound: number): EmEvolutionData;
328
+ /** occt-wasm >= 5.9.0: {@link filletRadii} with face evolution. */
329
+ filletRadiiWithHistory?(solidId: number, edgeIds: EmVectorUint32, startRadii: EmVectorDouble, endRadii: EmVectorDouble, inputFaceHashes: EmVectorInt, hashUpperBound: number): EmEvolutionData;
330
+ /** occt-wasm >= 5.9.0: {@link chamferDistances} with face evolution. */
331
+ chamferDistancesWithHistory?(solidId: number, edgeIds: EmVectorUint32, distances1: EmVectorDouble, distances2: EmVectorDouble, referenceFaceIds: EmVectorUint32, inputFaceHashes: EmVectorInt, hashUpperBound: number): EmEvolutionData;
332
+ /** occt-wasm >= 5.9.0 (npm build): {@link draftFaces} with face evolution. */
333
+ draftFacesWithHistory?(shapeId: number, faceIds: EmVectorUint32, anglesRad: EmVectorDouble, dx: number, dy: number, dz: number, px: number, py: number, pz: number, nx: number, ny: number, nz: number, inputFaceHashes: EmVectorInt, hashUpperBound: number): EmEvolutionData;
301
334
  shellWithHistory(solidId: number, faceIds: EmVectorUint32, thickness: number, tolerance: number, inputFaceHashes: EmVectorInt, hashUpperBound: number): EmEvolutionData;
302
335
  offsetWithHistory(solidId: number, distance: number, tolerance: number, inputFaceHashes: EmVectorInt, hashUpperBound: number): EmEvolutionData;
303
336
  thickenWithHistory(shapeId: number, thickness: number, tolerance: number, inputFaceHashes: EmVectorInt, hashUpperBound: number): EmEvolutionData;
@@ -1,4 +1,4 @@
1
- import { G as _usingCtx, T as isWire, h as disposeResultShape, n as castResultShape, q as getKernel, x as isShape3D } from "./shapeTypes-CIH-8d_a.js";
1
+ import { G as _usingCtx, T as isWire, h as disposeResultShape, n as castResultShape, q as getKernel, x as isShape3D } from "./shapeTypes-Ccp9iVna.js";
2
2
  import { E as ok, b as isErr, d as validationError, g as err, i as kernelError, l as typeCastError, t as BrepErrorCode } from "./errors-BTccWbtE.js";
3
3
  import { r as toVec3 } from "./types-CKXsIm9-.js";
4
4
  import { c as vecLength, t as vecAdd } from "./vecOps-S-m9H_fe.js";
@@ -1,4 +1,4 @@
1
- const require_shapeTypes = require("./shapeTypes-DmThK_oa.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-B9ACN7a8.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
3
  const require_types = require("./types-CjF9Rofr.cjs");
4
4
  const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
@@ -1,7 +1,7 @@
1
- import { q as getKernel } from "./shapeTypes-CIH-8d_a.js";
1
+ import { q as getKernel } from "./shapeTypes-Ccp9iVna.js";
2
2
  import { E as ok, d as validationError, g as err, t as BrepErrorCode } from "./errors-BTccWbtE.js";
3
- import { E as kernelCallRaw } from "./topologyQueryFns-Cp0yekBh.js";
4
- import { m as uvBounds } from "./faceFns-BgRNa5vx.js";
3
+ import { E as kernelCallRaw } from "./topologyQueryFns-D7j1fl0n.js";
4
+ import { m as uvBounds } from "./faceFns-DvnSVq5k.js";
5
5
  // 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-DmThK_oa.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-B9ACN7a8.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-CXbCFaU2.cjs");
4
- const require_faceFns = require("./faceFns-C4NOGZBg.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-DEax1nqt.cjs");
4
+ const require_faceFns = require("./faceFns-mca5oNNe.cjs");
5
5
  // src/measurement/measureCache.ts
6
6
  var cache = /* @__PURE__ */ new WeakMap();
7
7
  function getCachedMeasurement(shape, key) {
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_measureFns = require("./measureFns-D_RRjCZg.cjs");
3
- const require_principalBoxFns = require("./principalBoxFns-IY8FfPVj.cjs");
2
+ const require_measureFns = require("./measureFns-JNQma34N.cjs");
3
+ const require_principalBoxFns = require("./principalBoxFns-D_SbLz4g.cjs");
4
4
  exports.createDistanceQuery = require_measureFns.createDistanceQuery;
5
5
  exports.measureArea = require_measureFns.measureArea;
6
6
  exports.measureDistance = require_measureFns.measureDistance;
@@ -1,3 +1,3 @@
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-Q3K25IfN.js";
2
- import { t as principalBoundingBox } from "./principalBoxFns-Dcp9gg5e.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-DmL9FRQC.js";
2
+ import { t as principalBoundingBox } from "./principalBoxFns-wy3yRjqt.js";
3
3
  export { createDistanceQuery, measureArea, measureDistance, measureDistanceProps, measureLength, measureLinearProps, measureSurfaceProps, measureVolume, measureVolumeProps, principalBoundingBox };
@@ -1,8 +1,8 @@
1
- import { q as getKernel, ut as qualityDeflection } from "./shapeTypes-CIH-8d_a.js";
2
- import { j as isUnsupportedKernelOperationError } from "./occtWasmAdapter-BCCwaYkq.js";
1
+ import { q as getKernel, ut as qualityDeflection } from "./shapeTypes-Ccp9iVna.js";
2
+ import { j as isUnsupportedKernelOperationError } from "./occtWasmAdapter-Dr70YU4m.js";
3
3
  import { E as ok, g as err, r as ioError, t as BrepErrorCode, u as unsupportedError } from "./errors-BTccWbtE.js";
4
- import { d as getSolids, n as getBounds } from "./topologyQueryFns-Cp0yekBh.js";
5
- import { d as getFaceOrigins } from "./solidBuilders-q_hwYsdo.js";
4
+ import { d as getSolids, n as getBounds } from "./topologyQueryFns-D7j1fl0n.js";
5
+ import { d as getFaceOrigins } from "./solidBuilders-BltNQKqZ.js";
6
6
  // src/topology/meshCache.ts
7
7
  /**
8
8
  * Build a parameter key for the inner cache map (excludes shape identity).
@@ -1,8 +1,8 @@
1
- const require_shapeTypes = require("./shapeTypes-DmThK_oa.cjs");
2
- const require_occtWasmAdapter = require("./occtWasmAdapter-UcYZRi-w.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-B9ACN7a8.cjs");
2
+ const require_occtWasmAdapter = require("./occtWasmAdapter-DTEpwXuT.cjs");
3
3
  const require_errors = require("./errors-O_blYTWT.cjs");
4
- const require_topologyQueryFns = require("./topologyQueryFns-CXbCFaU2.cjs");
5
- const require_solidBuilders = require("./solidBuilders-DGskMugU.cjs");
4
+ const require_topologyQueryFns = require("./topologyQueryFns-DEax1nqt.cjs");
5
+ const require_solidBuilders = require("./solidBuilders-DwqlsNW1.cjs");
6
6
  // src/topology/meshCache.ts
7
7
  /**
8
8
  * Build a parameter key for the inner cache map (excludes shape identity).