brepjs 12.8.2 → 12.9.1
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.
- package/dist/2d/lib/svgPath.d.ts.map +1 -1
- package/dist/2d/lib/vectorOperations.d.ts +4 -1
- package/dist/2d/lib/vectorOperations.d.ts.map +1 -1
- package/dist/2d.cjs +2 -2
- package/dist/2d.js +5 -5
- package/dist/{Blueprint-DbVaf6k7.js → Blueprint-1HGbugaC.js} +33 -63
- package/dist/{Blueprint-CQ28WJhz.cjs → Blueprint-CUyXM6CV.cjs} +15 -45
- package/dist/{boolean2D-0blbVtJ8.cjs → boolean2D-9OnbotKT.cjs} +9 -9
- package/dist/{boolean2D-y3E92F0u.js → boolean2D-CR4efa35.js} +11 -11
- package/dist/{booleanFns-gmsX3Cv2.cjs → booleanFns-BBd2oTvv.cjs} +43 -40
- package/dist/{booleanFns-BCTjYZAg.js → booleanFns-Br2KdGJq.js} +53 -50
- package/dist/brepjs.cjs +379 -284
- package/dist/brepjs.js +1437 -1341
- package/dist/core/definitionMaps.d.ts +2 -7
- package/dist/core/definitionMaps.d.ts.map +1 -1
- package/dist/core/dimensionTypes.d.ts +52 -0
- package/dist/core/dimensionTypes.d.ts.map +1 -0
- package/dist/core/disposal.d.ts +18 -0
- package/dist/core/disposal.d.ts.map +1 -1
- package/dist/core/errors.d.ts +1 -8
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/kernelErrorTranslation.d.ts +15 -0
- package/dist/core/kernelErrorTranslation.d.ts.map +1 -0
- package/dist/core/planeOps.d.ts +14 -0
- package/dist/core/planeOps.d.ts.map +1 -1
- package/dist/core/result.d.ts +4 -0
- package/dist/core/result.d.ts.map +1 -1
- package/dist/core/shapeTypes.d.ts +14 -146
- package/dist/core/shapeTypes.d.ts.map +1 -1
- package/dist/core/typeDiscriminants.d.ts +14 -0
- package/dist/core/typeDiscriminants.d.ts.map +1 -0
- package/dist/core/validityTypes.d.ts +100 -0
- package/dist/core/validityTypes.d.ts.map +1 -0
- package/dist/core.cjs +52 -11
- package/dist/core.d.ts +1 -1
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +118 -75
- package/dist/{curveFns-mROFhiuG.js → curveFns-1u0oZ0u0.js} +14 -14
- package/dist/{curveFns-BZngcnQ1.cjs → curveFns-BwLvO_Ia.cjs} +2 -2
- package/dist/{drawFns-Bwakrq7w.js → drawFns-B0na6sbo.js} +16 -16
- package/dist/{drawFns-CjRc1NfQ.cjs → drawFns-CzlEePor.cjs} +18 -18
- package/dist/{faceFns-DB1Fc5gy.cjs → faceFns-BAKkZG6D.cjs} +2 -2
- package/dist/{faceFns-B8GnxjdY.js → faceFns-DGMp47Os.js} +3 -3
- package/dist/{helpers-C8NoT0Wu.cjs → helpers-DVdscQxW.cjs} +73 -8
- package/dist/{helpers-X0juxnwj.js → helpers-sJjnIXDA.js} +85 -20
- package/dist/index.d.ts +10 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/io.cjs +4 -4
- package/dist/io.js +4 -4
- package/dist/kernel/brepkit/booleanOps.d.ts +23 -0
- package/dist/kernel/brepkit/booleanOps.d.ts.map +1 -0
- package/dist/kernel/brepkit/constructionOps.d.ts +51 -0
- package/dist/kernel/brepkit/constructionOps.d.ts.map +1 -0
- package/dist/kernel/brepkit/evolutionOps.d.ts +31 -0
- package/dist/kernel/brepkit/evolutionOps.d.ts.map +1 -0
- package/dist/kernel/brepkit/geometryOps.d.ts +56 -0
- package/dist/kernel/brepkit/geometryOps.d.ts.map +1 -0
- package/dist/kernel/brepkit/helpers.d.ts +84 -0
- package/dist/kernel/brepkit/helpers.d.ts.map +1 -0
- package/dist/kernel/brepkit/internalOps.d.ts +28 -0
- package/dist/kernel/brepkit/internalOps.d.ts.map +1 -0
- package/dist/kernel/brepkit/ioOps.d.ts +43 -0
- package/dist/kernel/brepkit/ioOps.d.ts.map +1 -0
- package/dist/kernel/brepkit/measureOps.d.ts +30 -0
- package/dist/kernel/brepkit/measureOps.d.ts.map +1 -0
- package/dist/kernel/brepkit/meshOps.d.ts +7 -0
- package/dist/kernel/brepkit/meshOps.d.ts.map +1 -0
- package/dist/kernel/brepkit/modifierOps.d.ts +15 -0
- package/dist/kernel/brepkit/modifierOps.d.ts.map +1 -0
- package/dist/kernel/brepkit/repairOps.d.ts +14 -0
- package/dist/kernel/brepkit/repairOps.d.ts.map +1 -0
- package/dist/kernel/brepkit/sweepOps.d.ts +27 -0
- package/dist/kernel/brepkit/sweepOps.d.ts.map +1 -0
- package/dist/kernel/brepkit/topologyOps.d.ts +16 -0
- package/dist/kernel/brepkit/topologyOps.d.ts.map +1 -0
- package/dist/kernel/brepkit/transformOps.d.ts +14 -0
- package/dist/kernel/brepkit/transformOps.d.ts.map +1 -0
- package/dist/kernel/brepkitAdapter.d.ts +1 -1
- package/dist/kernel/brepkitAdapter.d.ts.map +1 -1
- package/dist/kernel/brepkitWasmTypes.d.ts +8 -0
- package/dist/kernel/brepkitWasmTypes.d.ts.map +1 -1
- package/dist/kernel/defaultAdapter.d.ts.map +1 -1
- package/dist/kernel/extendedConstructorOps.d.ts +9 -1
- package/dist/kernel/extendedConstructorOps.d.ts.map +1 -1
- package/dist/kernel/index.d.ts +1 -0
- package/dist/kernel/index.d.ts.map +1 -1
- package/dist/kernel/interfaces/boolean-ops.d.ts +25 -0
- package/dist/kernel/interfaces/boolean-ops.d.ts.map +1 -0
- package/dist/kernel/interfaces/construction-ops.d.ts +76 -0
- package/dist/kernel/interfaces/construction-ops.d.ts.map +1 -0
- package/dist/kernel/interfaces/core.d.ts +45 -0
- package/dist/kernel/interfaces/core.d.ts.map +1 -0
- package/dist/kernel/interfaces/evolution-ops.d.ts +19 -0
- package/dist/kernel/interfaces/evolution-ops.d.ts.map +1 -0
- package/dist/kernel/interfaces/geometry-ops.d.ts +77 -0
- package/dist/kernel/interfaces/geometry-ops.d.ts.map +1 -0
- package/dist/kernel/interfaces/index.d.ts +29 -0
- package/dist/kernel/interfaces/index.d.ts.map +1 -0
- package/dist/kernel/interfaces/io-ops.d.ts +66 -0
- package/dist/kernel/interfaces/io-ops.d.ts.map +1 -0
- package/dist/kernel/interfaces/measure-ops.d.ts +35 -0
- package/dist/kernel/interfaces/measure-ops.d.ts.map +1 -0
- package/dist/kernel/interfaces/mesh-ops.d.ts +21 -0
- package/dist/kernel/interfaces/mesh-ops.d.ts.map +1 -0
- package/dist/kernel/interfaces/modifier-ops.d.ts +22 -0
- package/dist/kernel/interfaces/modifier-ops.d.ts.map +1 -0
- package/dist/kernel/interfaces/repair-ops.d.ts +36 -0
- package/dist/kernel/interfaces/repair-ops.d.ts.map +1 -0
- package/dist/kernel/interfaces/sweep-ops.d.ts +49 -0
- package/dist/kernel/interfaces/sweep-ops.d.ts.map +1 -0
- package/dist/kernel/interfaces/topology-ops.d.ts +30 -0
- package/dist/kernel/interfaces/topology-ops.d.ts.map +1 -0
- package/dist/kernel/interfaces/transform-ops.d.ts +20 -0
- package/dist/kernel/interfaces/transform-ops.d.ts.map +1 -0
- package/dist/kernel/modifierOps.d.ts +2 -2
- package/dist/kernel/modifierOps.d.ts.map +1 -1
- package/dist/kernel/types.d.ts +2 -446
- package/dist/kernel/types.d.ts.map +1 -1
- package/dist/{loft-hp3pc1M7.cjs → loft-BNvBZzqe.cjs} +5 -5
- package/dist/{loft-Bhw-FMoL.js → loft-D0aCZRaB.js} +7 -7
- package/dist/measurement/measureFns.d.ts +2 -2
- package/dist/measurement/measureFns.d.ts.map +1 -1
- package/dist/{measurement-D8EJ694A.js → measurement-C7o5jE6G.js} +2 -2
- package/dist/{measurement-BoNTUBAp.cjs → measurement-DZcaxo1A.cjs} +2 -2
- package/dist/measurement.cjs +1 -1
- package/dist/measurement.js +1 -1
- package/dist/{meshFns-BnV0ZR8w.cjs → meshFns-7dgZgNYK.cjs} +4 -4
- package/dist/{meshFns-nQjK38EC.js → meshFns-CtUl9fGY.js} +3 -3
- package/dist/operations/compoundOpsFns.d.ts +38 -0
- package/dist/operations/compoundOpsFns.d.ts.map +1 -0
- package/dist/operations/extrude.d.ts +2 -12
- package/dist/operations/extrude.d.ts.map +1 -1
- package/dist/operations/extrudeFns.d.ts +2 -93
- package/dist/operations/extrudeFns.d.ts.map +1 -1
- package/dist/operations/guidedSweepFns.d.ts +3 -22
- package/dist/operations/guidedSweepFns.d.ts.map +1 -1
- package/dist/operations/loft.d.ts +2 -16
- package/dist/operations/loft.d.ts.map +1 -1
- package/dist/operations/multiSweepFns.d.ts +3 -29
- package/dist/operations/multiSweepFns.d.ts.map +1 -1
- package/dist/operations/roofFns.d.ts +2 -2
- package/dist/operations/roofFns.d.ts.map +1 -1
- package/dist/operations/sweepFns.d.ts +121 -0
- package/dist/operations/sweepFns.d.ts.map +1 -0
- package/dist/{operations-BfbkK6DU.js → operations-DisJ5F8s.js} +110 -57
- package/dist/{operations-CYpmLSC4.cjs → operations-DwZ-RBO1.cjs} +97 -44
- package/dist/operations.cjs +2 -2
- package/dist/operations.js +14 -14
- package/dist/originTrackingFns-NJ1dWoiF.js +137 -0
- package/dist/originTrackingFns-dhaCe8Yb.cjs +136 -0
- package/dist/query/edgeFinder.d.ts +4 -14
- package/dist/query/edgeFinder.d.ts.map +1 -1
- package/dist/query/faceFinder.d.ts +4 -14
- package/dist/query/faceFinder.d.ts.map +1 -1
- package/dist/query/finderCore.d.ts +6 -0
- package/dist/query/finderCore.d.ts.map +1 -1
- package/dist/query/shapeFinders.d.ts +32 -0
- package/dist/query/shapeFinders.d.ts.map +1 -0
- package/dist/query/wireFinder.d.ts +4 -9
- package/dist/query/wireFinder.d.ts.map +1 -1
- package/dist/query.cjs +54 -32
- package/dist/query.js +56 -34
- package/dist/{result-fAX0OZzI.cjs → result-DJAAj1yb.cjs} +8 -59
- package/dist/{result-BaSD1fqR.js → result-DtuwWSUD.js} +38 -89
- package/dist/result.cjs +1 -1
- package/dist/result.js +22 -22
- package/dist/shapeFns-BJbua5kT.js +34 -0
- package/dist/shapeFns-w9tWELHX.cjs +33 -0
- package/dist/{shapeTypes-CpSaBLDv.js → shapeTypes-CAEAyk8j.js} +233 -172
- package/dist/{shapeTypes-7xEam9Ri.cjs → shapeTypes-owrg2MNK.cjs} +421 -360
- package/dist/sketching/Sketcher.d.ts.map +1 -1
- package/dist/sketching.cjs +2 -2
- package/dist/sketching.js +2 -2
- package/dist/{solidBuilders-994_MQwB.cjs → solidBuilders-BLQ4I6Ig.cjs} +3 -3
- package/dist/{solidBuilders-DmwhTCCd.js → solidBuilders-BS-1220W.js} +3 -3
- package/dist/{surfaceBuilders-nQdJ56fe.js → surfaceBuilders-Dj6AjhOv.js} +7 -7
- package/dist/{surfaceBuilders-5VA34a3_.cjs → surfaceBuilders-KU_7OD2q.cjs} +3 -3
- package/dist/topology/booleanFns.d.ts.map +1 -1
- package/dist/topology/compoundOpsFns.d.ts +3 -35
- package/dist/topology/compoundOpsFns.d.ts.map +1 -1
- package/dist/topology/index.d.ts +0 -1
- package/dist/topology/index.d.ts.map +1 -1
- package/dist/topology/metadataPropagation.d.ts +30 -0
- package/dist/topology/metadataPropagation.d.ts.map +1 -0
- package/dist/topology/modifierFns.d.ts.map +1 -1
- package/dist/topology/originTrackingFns.d.ts +23 -0
- package/dist/topology/originTrackingFns.d.ts.map +1 -0
- package/dist/topology/shapeFns.d.ts +6 -120
- package/dist/topology/shapeFns.d.ts.map +1 -1
- package/dist/topology/topologyQueryFns.d.ts +67 -0
- package/dist/topology/topologyQueryFns.d.ts.map +1 -0
- package/dist/topology/transformFns.d.ts +49 -0
- package/dist/topology/transformFns.d.ts.map +1 -0
- package/dist/topology/wrapperFns.d.ts.map +1 -1
- package/dist/{topology-ANwCzGL8.cjs → topology-CyPHYYjV.cjs} +205 -20
- package/dist/{topology-C7x98OVn.js → topology-D6LeuhI_.js} +235 -50
- package/dist/topology.cjs +18 -17
- package/dist/topology.js +92 -91
- package/dist/topologyQueryFns-De439iBP.js +119 -0
- package/dist/topologyQueryFns-fz5kz5e1.cjs +118 -0
- package/dist/{types-CWDdqcrq.js → types-CcKqsmd0.js} +2 -2
- package/dist/utils/precisionRound.d.ts +4 -0
- package/dist/utils/precisionRound.d.ts.map +1 -1
- package/dist/utils/vec2d.d.ts +5 -0
- package/dist/utils/vec2d.d.ts.map +1 -1
- package/dist/{vecOps-ZDdZWbwT.js → vecOps-LTN--A58.js} +15 -15
- package/dist/{vectors-D_IiZx0q.cjs → vectors-C8N_QeEX.cjs} +9 -1
- package/dist/{vectors-Bx8wkNui.js → vectors-DTREgnVp.js} +15 -7
- package/dist/vectors.cjs +1 -1
- package/dist/vectors.js +23 -23
- package/package.json +3 -3
- package/dist/core/geometryHelpers.d.ts +0 -30
- package/dist/core/geometryHelpers.d.ts.map +0 -1
- package/dist/core/memory.d.ts +0 -6
- package/dist/core/memory.d.ts.map +0 -1
- package/dist/core/typeErrors.d.ts +0 -17
- package/dist/core/typeErrors.d.ts.map +0 -1
- package/dist/cornerFinder-Ckz-mPHE.js +0 -59
- package/dist/cornerFinder-ZmOyOOsh.cjs +0 -58
- package/dist/shapeFns-C2SnNvdH.cjs +0 -468
- package/dist/shapeFns-FDuKkrDR.js +0 -469
- package/dist/utils/round2.d.ts +0 -3
- package/dist/utils/round2.d.ts.map +0 -1
- package/dist/utils/round5.d.ts +0 -3
- package/dist/utils/round5.d.ts.map +0 -1
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
import { Result } from './result.js';
|
|
2
|
-
/** Discriminant for the geometric type of a 3D curve. */
|
|
3
|
-
export type CurveType = 'LINE' | 'CIRCLE' | 'ELLIPSE' | 'HYPERBOLA' | 'PARABOLA' | 'BEZIER_CURVE' | 'BSPLINE_CURVE' | 'OFFSET_CURVE' | 'OTHER_CURVE';
|
|
4
1
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* @returns `Ok<CurveType>` on success, or `Err` if the enum value is unrecognised.
|
|
2
|
+
* @deprecated Use `typeDiscriminants.ts` instead. This file is kept for backward compatibility.
|
|
8
3
|
*/
|
|
9
|
-
export
|
|
4
|
+
export { findCurveType, type CurveType } from './typeDiscriminants.js';
|
|
10
5
|
//# sourceMappingURL=definitionMaps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitionMaps.d.ts","sourceRoot":"","sources":["../../src/core/definitionMaps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"definitionMaps.d.ts","sourceRoot":"","sources":["../../src/core/definitionMaps.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { AnyShape } from './shapeTypes.js';
|
|
2
|
+
/** The geometric dimension a shape is embedded in. */
|
|
3
|
+
export type Dimension = '2D' | '3D';
|
|
4
|
+
/**
|
|
5
|
+
* Narrow an unknown-dimension shape to 3D.
|
|
6
|
+
* All shapes from the kernel default to 3D embedding.
|
|
7
|
+
* 2D shapes only exist when explicitly created via 2D API paths
|
|
8
|
+
* that set the `__is2D` runtime marker on the handle.
|
|
9
|
+
*
|
|
10
|
+
* **Note**: Currently no production code path creates 2D-marked shapes.
|
|
11
|
+
* This guard is provided for forward compatibility with future 2D API work.
|
|
12
|
+
*/
|
|
13
|
+
export declare function is3D(s: AnyShape<Dimension>): s is AnyShape<'3D'>;
|
|
14
|
+
/**
|
|
15
|
+
* Narrow an unknown-dimension shape to 2D.
|
|
16
|
+
*
|
|
17
|
+
* **Note**: Currently no production code path creates 2D-marked shapes.
|
|
18
|
+
* This guard is provided for forward compatibility with future 2D API work.
|
|
19
|
+
*/
|
|
20
|
+
export declare function is2D(s: AnyShape<Dimension>): s is AnyShape<'2D'>;
|
|
21
|
+
/**
|
|
22
|
+
* Assert a shape is 3D. Throws at runtime if wrong.
|
|
23
|
+
* Use when you know the shape is 3D but TypeScript doesn't.
|
|
24
|
+
*/
|
|
25
|
+
export declare function as3D(s: AnyShape<Dimension>): AnyShape<'3D'>;
|
|
26
|
+
/**
|
|
27
|
+
* Assert a shape is 2D. Throws at runtime if wrong.
|
|
28
|
+
* Use when you know the shape is 2D but TypeScript doesn't.
|
|
29
|
+
*/
|
|
30
|
+
export declare function as2D(s: AnyShape<Dimension>): AnyShape<'2D'>;
|
|
31
|
+
/**
|
|
32
|
+
* Compile-time error message for dimension mismatches.
|
|
33
|
+
* Resolves to a string literal type that appears in IDE diagnostics.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* // Consumer sees:
|
|
38
|
+
* // Type '"❌ fuse: expected 3D, got 2D"' is not assignable to type 'Shape3D'.
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export type DimensionError<Op extends string, Expected extends string, Got extends string> = `❌ ${Op}: expected ${Expected}, got ${Got}`;
|
|
42
|
+
/**
|
|
43
|
+
* Conditional type that resolves to T if D matches Expected,
|
|
44
|
+
* otherwise resolves to a readable error string type.
|
|
45
|
+
*/
|
|
46
|
+
export type RequireDimension<D extends Dimension, Expected extends Dimension, T, Op extends string = 'operation'> = D extends Expected ? T : DimensionError<Op, Expected, D>;
|
|
47
|
+
/**
|
|
48
|
+
* Asserts both dimensions are equal at the type level.
|
|
49
|
+
* Resolves to the shared dimension if equal, or a readable error if not.
|
|
50
|
+
*/
|
|
51
|
+
export type SameDimension<A extends Dimension, B extends Dimension, Op extends string = 'operation'> = A extends B ? A : DimensionError<Op, A, B>;
|
|
52
|
+
//# sourceMappingURL=dimensionTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dimensionTypes.d.ts","sourceRoot":"","sources":["../../src/core/dimensionTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAMhD,sDAAsD;AACtD,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;AAMpC;;;;;;;;GAQG;AAEH,wBAAgB,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAGhE;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAGhE;AAED;;;GAGG;AAEH,wBAAgB,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAG3D;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAG3D;AAMD;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,CACxB,EAAE,SAAS,MAAM,EACjB,QAAQ,SAAS,MAAM,EACvB,GAAG,SAAS,MAAM,IAChB,KAAK,EAAE,cAAc,QAAQ,SAAS,GAAG,EAAE,CAAC;AAEhD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,CAC1B,CAAC,SAAS,SAAS,EACnB,QAAQ,SAAS,SAAS,EAC1B,CAAC,EACD,EAAE,SAAS,MAAM,GAAG,WAAW,IAC7B,CAAC,SAAS,QAAQ,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AAE7D;;;GAGG;AACH,MAAM,MAAM,aAAa,CACvB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,EACnB,EAAE,SAAS,MAAM,GAAG,WAAW,IAC7B,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
package/dist/core/disposal.d.ts
CHANGED
|
@@ -5,6 +5,23 @@ import { Result } from './result.js';
|
|
|
5
5
|
export interface Deletable {
|
|
6
6
|
delete: () => void;
|
|
7
7
|
}
|
|
8
|
+
/** Statistics about WASM handle lifecycle. Zero overhead when not queried. */
|
|
9
|
+
export interface DisposalStats {
|
|
10
|
+
/** Number of handles currently alive (not disposed). */
|
|
11
|
+
liveHandles: number;
|
|
12
|
+
/** Peak number of simultaneously live handles. */
|
|
13
|
+
peakHandles: number;
|
|
14
|
+
/** Number of handles reclaimed by FinalizationRegistry (GC safety net). */
|
|
15
|
+
gcCollected: number;
|
|
16
|
+
/** Number of DisposalScope.enter() calls. */
|
|
17
|
+
scopeEnters: number;
|
|
18
|
+
/** Number of DisposalScope.dispose() calls. */
|
|
19
|
+
scopeExits: number;
|
|
20
|
+
}
|
|
21
|
+
/** Get a snapshot of current disposal statistics. */
|
|
22
|
+
export declare function getDisposalStats(): Readonly<DisposalStats>;
|
|
23
|
+
/** Reset all disposal statistics to zero. */
|
|
24
|
+
export declare function resetDisposalStats(): void;
|
|
8
25
|
/** A shape wrapper with Symbol.dispose for auto-cleanup. */
|
|
9
26
|
export interface ShapeHandle {
|
|
10
27
|
/** The raw kernel shape handle */
|
|
@@ -29,6 +46,7 @@ export declare function createKernelHandle<T extends Deletable>(ocObj: T): Kerne
|
|
|
29
46
|
/** Scope for tracking multiple disposable resources. */
|
|
30
47
|
export declare class DisposalScope implements Disposable {
|
|
31
48
|
private readonly handles;
|
|
49
|
+
constructor();
|
|
32
50
|
/** Register a resource for disposal when scope ends. */
|
|
33
51
|
register<T extends Deletable>(resource: T): T;
|
|
34
52
|
/** Register a disposable for disposal when scope ends. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disposal.d.ts","sourceRoot":"","sources":["../../src/core/disposal.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAkB1C,qFAAqF;AACrF,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"disposal.d.ts","sourceRoot":"","sources":["../../src/core/disposal.ts"],"names":[],"mappings":"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"}
|
package/dist/core/errors.d.ts
CHANGED
|
@@ -136,14 +136,7 @@ export declare function ioError(code: string, message: string, cause?: unknown,
|
|
|
136
136
|
export declare function queryError(code: string, message: string, cause?: unknown, metadata?: Record<string, unknown>, suggestion?: string): BrepError;
|
|
137
137
|
/** Create an error for a capability not supported by the current kernel (ADR-0006 Phase 4). */
|
|
138
138
|
export declare function unsupportedError(code: string, message: string, cause?: unknown, metadata?: Record<string, unknown>, suggestion?: string): BrepError;
|
|
139
|
-
|
|
140
|
-
* Translate an kernel error message into a user-friendly explanation.
|
|
141
|
-
* If no pattern matches, returns the original message.
|
|
142
|
-
*
|
|
143
|
-
* @param kernelMessage - The raw error message from kernel
|
|
144
|
-
* @returns User-friendly error message with actionable guidance
|
|
145
|
-
*/
|
|
146
|
-
export declare function translateKernelError(kernelMessage: string): string;
|
|
139
|
+
export { translateKernelError } from './kernelErrorTranslation.js';
|
|
147
140
|
/**
|
|
148
141
|
* Safe array index access that throws a descriptive {@link BrepBugError} instead
|
|
149
142
|
* of returning `undefined` when the index is out of bounds.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;AAM7B,8CAA8C;AAC9C,MAAM,MAAM,aAAa,GACrB,kBAAkB,GAClB,YAAY,GACZ,WAAW,GACX,gBAAgB,GAChB,aAAa,GACb,aAAa,GACb,IAAI,GACJ,OAAO,GACP,aAAa,CAAC;AAMlB;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0HhB,CAAC;AAEX,qDAAqD;AACrD,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAM/E;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD;AAwBD,4DAA4D;AAC5D,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,CAAC,EAAE,MAAM,GAClB,SAAS,CAEX;AAED,oDAAoD;AACpD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,CAAC,EAAE,MAAM,GAClB,SAAS,CAEX;AAED,kEAAkE;AAClE,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,CAAC,EAAE,MAAM,GAClB,SAAS,CAEX;AAED,gEAAgE;AAChE,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,CAAC,EAAE,MAAM,GAClB,SAAS,CAEX;AAED,2DAA2D;AAC3D,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,CAAC,EAAE,MAAM,GAClB,SAAS,CAEX;AAED,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,CAAC,EAAE,MAAM,GAClB,SAAS,CAEX;AAED,wDAAwD;AACxD,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,CAAC,EAAE,MAAM,GAClB,SAAS,CAEX;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,CAAC,EAAE,MAAM,GAClB,SAAS,CAEX;AAED,+FAA+F;AAC/F,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,CAAC,EAAE,MAAM,GAClB,SAAS,CAEX;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;AAM7B,8CAA8C;AAC9C,MAAM,MAAM,aAAa,GACrB,kBAAkB,GAClB,YAAY,GACZ,WAAW,GACX,gBAAgB,GAChB,aAAa,GACb,aAAa,GACb,IAAI,GACJ,OAAO,GACP,aAAa,CAAC;AAMlB;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0HhB,CAAC;AAEX,qDAAqD;AACrD,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAM/E;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD;AAwBD,4DAA4D;AAC5D,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,CAAC,EAAE,MAAM,GAClB,SAAS,CAEX;AAED,oDAAoD;AACpD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,CAAC,EAAE,MAAM,GAClB,SAAS,CAEX;AAED,kEAAkE;AAClE,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,CAAC,EAAE,MAAM,GAClB,SAAS,CAEX;AAED,gEAAgE;AAChE,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,CAAC,EAAE,MAAM,GAClB,SAAS,CAEX;AAED,2DAA2D;AAC3D,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,CAAC,EAAE,MAAM,GAClB,SAAS,CAEX;AAED,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,CAAC,EAAE,MAAM,GAClB,SAAS,CAEX;AAED,wDAAwD;AACxD,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,CAAC,EAAE,MAAM,GAClB,SAAS,CAEX;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,CAAC,EAAE,MAAM,GAClB,SAAS,CAEX;AAED,+FAA+F;AAC/F,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,CAAC,EAAE,MAAM,GAClB,SAAS,CAEX;AAGD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAMnE;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,CAMlF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kernel error translation — maps cryptic kernel messages to user-friendly explanations.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from errors.ts to separate pure type/constructor definitions
|
|
5
|
+
* from OCCT-specific regex matching logic.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Translate an kernel error message into a user-friendly explanation.
|
|
9
|
+
* If no pattern matches, returns the original message.
|
|
10
|
+
*
|
|
11
|
+
* @param kernelMessage - The raw error message from kernel
|
|
12
|
+
* @returns User-friendly error message with actionable guidance
|
|
13
|
+
*/
|
|
14
|
+
export declare function translateKernelError(kernelMessage: string): string;
|
|
15
|
+
//# sourceMappingURL=kernelErrorTranslation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kernelErrorTranslation.d.ts","sourceRoot":"","sources":["../../src/core/kernelErrorTranslation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqEH;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAQlE"}
|
package/dist/core/planeOps.d.ts
CHANGED
|
@@ -26,6 +26,20 @@ export declare function createNamedPlane(name: PlaneName, sourceOrigin?: PointIn
|
|
|
26
26
|
* @throws If a named plane cannot be resolved.
|
|
27
27
|
*/
|
|
28
28
|
export declare function resolvePlane(input: PlaneInput, origin?: PointInput | number): Plane;
|
|
29
|
+
/**
|
|
30
|
+
* Create or copy a {@link Plane}.
|
|
31
|
+
*
|
|
32
|
+
* When called with a `Plane` object, returns a shallow copy.
|
|
33
|
+
* When called with a `PlaneName` string (or no arguments), resolves the named
|
|
34
|
+
* plane with an optional origin offset.
|
|
35
|
+
*
|
|
36
|
+
* @param plane - A `Plane` object to copy, or a `PlaneName` string to resolve.
|
|
37
|
+
* @param origin - Origin point or scalar offset along the plane normal.
|
|
38
|
+
* @default plane `'XY'`
|
|
39
|
+
*/
|
|
40
|
+
declare function makePlane(plane: Plane): Plane;
|
|
41
|
+
declare function makePlane(plane?: PlaneName, origin?: PointInput | number): Plane;
|
|
42
|
+
export { makePlane };
|
|
29
43
|
/** Convert 2D local coordinates to 3D world coordinates on the plane. */
|
|
30
44
|
export declare function planeToWorld(plane: Plane, local: Vec2): Vec3;
|
|
31
45
|
/** Convert 3D world coordinates to 2D local coordinates on the plane. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planeOps.d.ts","sourceRoot":"","sources":["../../src/core/planeOps.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAYpE,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,aAAa,CAAC;AAOnD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,IAAI,EACZ,UAAU,GAAE,IAAI,GAAG,IAAW,EAC9B,MAAM,GAAE,IAAgB,GACvB,KAAK,CA+BP;AAqBD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,EACf,YAAY,GAAE,UAAU,GAAG,MAAkB,GAC5C,MAAM,CAAC,KAAK,CAAC,CAWf;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,KAAK,CAOnF;AAMD,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,CAG5D;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,CAG5D;AAMD,qCAAqC;AACrC,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAG,KAAK,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,IAAgB,GAAG,KAAK,CAMxF"}
|
|
1
|
+
{"version":3,"file":"planeOps.d.ts","sourceRoot":"","sources":["../../src/core/planeOps.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAYpE,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,aAAa,CAAC;AAOnD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,IAAI,EACZ,UAAU,GAAE,IAAI,GAAG,IAAW,EAC9B,MAAM,GAAE,IAAgB,GACvB,KAAK,CA+BP;AAqBD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,EACf,YAAY,GAAE,UAAU,GAAG,MAAkB,GAC5C,MAAM,CAAC,KAAK,CAAC,CAWf;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,KAAK,CAOnF;AAMD;;;;;;;;;;GAUG;AACH,iBAAS,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC;AACxC,iBAAS,SAAS,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC;AAU3E,OAAO,EAAE,SAAS,EAAE,CAAC;AAMrB,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,CAG5D;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,CAG5D;AAMD,qCAAqC;AACrC,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAG,KAAK,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,IAAgB,GAAG,KAAK,CAMxF"}
|
package/dist/core/result.d.ts
CHANGED
|
@@ -31,6 +31,10 @@ export declare const all: typeof collect;
|
|
|
31
31
|
export declare function tap<T, E>(result: Result<T, E>, fn: (value: T) => void): Result<T, E>;
|
|
32
32
|
/** Run a side-effect on an Err value without transforming the result. */
|
|
33
33
|
export declare function tapErr<T, E>(result: Result<T, E>, fn: (error: E) => void): Result<T, E>;
|
|
34
|
+
/** Flatten a nested Result<Result<T, E>, E> into Result<T, E>. */
|
|
35
|
+
export declare function flatten<T, E>(result: Result<Result<T, E>, E>): Result<T, E>;
|
|
36
|
+
/** Map both Ok and Err variants in a single pass. */
|
|
37
|
+
export declare function mapBoth<T, U, E, F>(result: Result<T, E>, okFn: (value: T) => U, errFn: (error: E) => F): Result<U, F>;
|
|
34
38
|
/** Convert a nullable value to a Result, using `errorFn` to produce the error for null/undefined. */
|
|
35
39
|
export declare function fromNullable<T, E>(value: T | null | undefined, errorFn: () => E): Result<T, E>;
|
|
36
40
|
export declare function unwrap<T, E>(result: Result<T, E>): T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/core/result.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/core/result.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { KernelShape, KernelType } from '../kernel/types.js';
|
|
2
2
|
import { ShapeHandle } from './disposal.js';
|
|
3
|
+
import { Dimension } from './dimensionTypes.js';
|
|
4
|
+
export { getShapeKind } from './typeDiscriminants.js';
|
|
5
|
+
export type { Dimension, DimensionError, RequireDimension, SameDimension, } from './dimensionTypes.js';
|
|
6
|
+
export { is2D, is3D, as2D, as3D } from './dimensionTypes.js';
|
|
7
|
+
export type { ClosedWire, OrientedFace, ManifoldShell, ValidSolid } from './validityTypes.js';
|
|
8
|
+
export { closedWire, orientedFace, manifoldShell, validSolid, isClosedWire, isOrientedFace, isManifoldShell, isValidSolid, } from './validityTypes.js';
|
|
3
9
|
/** Interface for kernel curve adaptors (BRepAdaptor_Curve / CompCurve). */
|
|
4
10
|
export interface CurveLike {
|
|
5
11
|
delete(): void;
|
|
@@ -12,20 +18,10 @@ export interface CurveLike {
|
|
|
12
18
|
GetType?(): any;
|
|
13
19
|
D1(v: number, p: KernelType, vPrime: KernelType): void;
|
|
14
20
|
}
|
|
15
|
-
/** The geometric dimension a shape is embedded in. */
|
|
16
|
-
export type Dimension = '2D' | '3D';
|
|
17
|
-
/** Phantom brand key for dimension tracking (never exists at runtime). */
|
|
18
|
-
declare const __dim: unique symbol;
|
|
19
|
-
/** Phantom brand: wire forms a closed loop. */
|
|
20
|
-
declare const __closed: unique symbol;
|
|
21
|
-
/** Phantom brand: face has consistent normal orientation. */
|
|
22
|
-
declare const __oriented: unique symbol;
|
|
23
|
-
/** Phantom brand: shell is manifold (watertight, no dangling faces). */
|
|
24
|
-
declare const __manifold: unique symbol;
|
|
25
|
-
/** Phantom brand: solid passes BRepCheck validation. */
|
|
26
|
-
declare const __valid: unique symbol;
|
|
27
21
|
/** String discriminant identifying the topological type of a shape. */
|
|
28
22
|
export type ShapeKind = 'vertex' | 'edge' | 'wire' | 'face' | 'shell' | 'solid' | 'compsolid' | 'compound';
|
|
23
|
+
/** Phantom brand key for dimension tracking (never exists at runtime). */
|
|
24
|
+
declare const __dim: unique symbol;
|
|
29
25
|
declare const __brand: unique symbol;
|
|
30
26
|
/** A topological vertex (0D point). */
|
|
31
27
|
export type Vertex<D extends Dimension = '3D'> = ShapeHandle & {
|
|
@@ -75,47 +71,14 @@ export type Shape1D<D extends Dimension = '3D'> = Edge<D> | Wire<D>;
|
|
|
75
71
|
export type Shape3D = Shell | Solid | CompSolid | Compound<'3D'>;
|
|
76
72
|
/** Any shape whose dimension is unknown (e.g., from file import). Requires narrowing. */
|
|
77
73
|
export type UnknownDimShape = AnyShape<'2D'> | AnyShape<'3D'>;
|
|
78
|
-
/**
|
|
79
|
-
* A wire proven to form a closed loop.
|
|
80
|
-
* The only way to obtain a `ClosedWire` is through smart constructors
|
|
81
|
-
* (`closedWire()`, `rectangleWire()`, etc.) or type guards (`isClosedWire()`).
|
|
82
|
-
* Assignable to `Wire<D>` — a subtype, not a separate type.
|
|
83
|
-
*/
|
|
84
|
-
export type ClosedWire<D extends Dimension = '3D'> = Wire<D> & {
|
|
85
|
-
readonly [__closed]: true;
|
|
86
|
-
};
|
|
87
|
-
/**
|
|
88
|
-
* A face with proven consistent normal orientation.
|
|
89
|
-
* Obtained via `orientedFace()` or `isOrientedFace()`.
|
|
90
|
-
* Assignable to `Face<D>`.
|
|
91
|
-
*/
|
|
92
|
-
export type OrientedFace<D extends Dimension = '3D'> = Face<D> & {
|
|
93
|
-
readonly [__oriented]: true;
|
|
94
|
-
};
|
|
95
|
-
/**
|
|
96
|
-
* A shell proven to be manifold (watertight, no dangling faces).
|
|
97
|
-
* Obtained via `manifoldShell()` or `isManifoldShell()`.
|
|
98
|
-
* Assignable to `Shell`.
|
|
99
|
-
*/
|
|
100
|
-
export type ManifoldShell = Shell & {
|
|
101
|
-
readonly [__manifold]: true;
|
|
102
|
-
};
|
|
103
|
-
/**
|
|
104
|
-
* A solid proven to pass BRepCheck validation.
|
|
105
|
-
* Obtained via `validSolid()` or `isValidSolid()`.
|
|
106
|
-
* Assignable to `Solid`.
|
|
107
|
-
*/
|
|
108
|
-
export type ValidSolid = Solid & {
|
|
109
|
-
readonly [__valid]: true;
|
|
110
|
-
};
|
|
111
74
|
/** Wrap a raw kernel shape as a branded {@link Vertex} handle. */
|
|
112
|
-
export declare function createVertex<D extends Dimension = '3D'>(ocShape: KernelShape): Vertex<D>;
|
|
75
|
+
export declare function createVertex<D extends Dimension = '3D'>(ocShape: KernelShape, dim?: D): Vertex<D>;
|
|
113
76
|
/** Wrap a raw kernel shape as a branded {@link Edge} handle. */
|
|
114
|
-
export declare function createEdge<D extends Dimension = '3D'>(ocShape: KernelShape): Edge<D>;
|
|
77
|
+
export declare function createEdge<D extends Dimension = '3D'>(ocShape: KernelShape, dim?: D): Edge<D>;
|
|
115
78
|
/** Wrap a raw kernel shape as a branded {@link Wire} handle. */
|
|
116
|
-
export declare function createWire<D extends Dimension = '3D'>(ocShape: KernelShape): Wire<D>;
|
|
79
|
+
export declare function createWire<D extends Dimension = '3D'>(ocShape: KernelShape, dim?: D): Wire<D>;
|
|
117
80
|
/** Wrap a raw kernel shape as a branded {@link Face} handle. */
|
|
118
|
-
export declare function createFace<D extends Dimension = '3D'>(ocShape: KernelShape): Face<D>;
|
|
81
|
+
export declare function createFace<D extends Dimension = '3D'>(ocShape: KernelShape, dim?: D): Face<D>;
|
|
119
82
|
/** Wrap a raw kernel shape as a branded {@link Shell} handle. */
|
|
120
83
|
export declare function createShell(ocShape: KernelShape): Shell;
|
|
121
84
|
/** Wrap a raw kernel shape as a branded {@link Solid} handle. */
|
|
@@ -123,9 +86,7 @@ export declare function createSolid(ocShape: KernelShape): Solid;
|
|
|
123
86
|
/** Wrap a raw kernel shape as a branded {@link CompSolid} handle. */
|
|
124
87
|
export declare function createCompSolid(ocShape: KernelShape): CompSolid;
|
|
125
88
|
/** Wrap a raw kernel shape as a branded {@link Compound} handle. */
|
|
126
|
-
export declare function createCompound<D extends Dimension = '3D'>(ocShape: KernelShape): Compound<D>;
|
|
127
|
-
/** Query the kernel for the topological type of a shape. */
|
|
128
|
-
export declare function getShapeKind(shape: AnyShape<Dimension>): ShapeKind;
|
|
89
|
+
export declare function createCompound<D extends Dimension = '3D'>(ocShape: KernelShape, dim?: D): Compound<D>;
|
|
129
90
|
/** Type guard — check if a shape is a {@link Vertex}. */
|
|
130
91
|
export declare function isVertex<D extends Dimension>(s: AnyShape<D>): s is Vertex<D>;
|
|
131
92
|
/** Type guard — check if a shape is an {@link Edge}. */
|
|
@@ -144,98 +105,6 @@ export declare function isCompound<D extends Dimension>(s: AnyShape<D>): s is Co
|
|
|
144
105
|
export declare function isShape3D(s: AnyShape<Dimension>): s is Shape3D;
|
|
145
106
|
/** Type guard — check if a shape is a 1D shape (edge or wire). */
|
|
146
107
|
export declare function isShape1D<D extends Dimension>(s: AnyShape<D>): s is Shape1D<D>;
|
|
147
|
-
/**
|
|
148
|
-
* Narrow an unknown-dimension shape to 3D.
|
|
149
|
-
* All shapes from the kernel default to 3D embedding.
|
|
150
|
-
* 2D shapes only exist when explicitly created via 2D API paths
|
|
151
|
-
* that set the `__is2D` runtime marker on the handle.
|
|
152
|
-
*
|
|
153
|
-
* **Note**: Currently no production code path creates 2D-marked shapes.
|
|
154
|
-
* This guard is provided for forward compatibility with future 2D API work.
|
|
155
|
-
*/
|
|
156
|
-
export declare function is3D(s: AnyShape<Dimension>): s is AnyShape<'3D'>;
|
|
157
|
-
/**
|
|
158
|
-
* Narrow an unknown-dimension shape to 2D.
|
|
159
|
-
*
|
|
160
|
-
* **Note**: Currently no production code path creates 2D-marked shapes.
|
|
161
|
-
* This guard is provided for forward compatibility with future 2D API work.
|
|
162
|
-
*/
|
|
163
|
-
export declare function is2D(s: AnyShape<Dimension>): s is AnyShape<'2D'>;
|
|
164
|
-
/**
|
|
165
|
-
* Assert a shape is 3D. Throws at runtime if wrong.
|
|
166
|
-
* Use when you know the shape is 3D but TypeScript doesn't.
|
|
167
|
-
*/
|
|
168
|
-
export declare function as3D(s: AnyShape<Dimension>): AnyShape<'3D'>;
|
|
169
|
-
/**
|
|
170
|
-
* Assert a shape is 2D. Throws at runtime if wrong.
|
|
171
|
-
* Use when you know the shape is 2D but TypeScript doesn't.
|
|
172
|
-
*/
|
|
173
|
-
export declare function as2D(s: AnyShape<Dimension>): AnyShape<'2D'>;
|
|
174
|
-
/**
|
|
175
|
-
* Type guard — check if a wire is closed (forms a loop).
|
|
176
|
-
* Uses the kernel's `curveIsClosed` to verify at runtime.
|
|
177
|
-
*/
|
|
178
|
-
export declare function isClosedWire<D extends Dimension>(wire: Wire<D>): wire is ClosedWire<D>;
|
|
179
|
-
/**
|
|
180
|
-
* Type guard — check if a face is valid and thus safe to use in operations.
|
|
181
|
-
*
|
|
182
|
-
* Uses kernel validity (BRepCheck_Analyzer) which verifies geometric and
|
|
183
|
-
* topological correctness. Faces produced by kernel operations (makeFace,
|
|
184
|
-
* extrude, revolve, boolean ops) are oriented by construction. For faces
|
|
185
|
-
* from STEP/IGES imports or external sources, validity does not guarantee
|
|
186
|
-
* consistent normal orientation — use with caution or re-orient first.
|
|
187
|
-
*/
|
|
188
|
-
export declare function isOrientedFace<D extends Dimension>(face: Face<D>): face is OrientedFace<D>;
|
|
189
|
-
/**
|
|
190
|
-
* Type guard — check if a shell is manifold (watertight, no dangling faces).
|
|
191
|
-
* Checks kernel validity, then attempts `solidFromShell` — if the shell
|
|
192
|
-
* can form a valid solid, it is manifold by definition.
|
|
193
|
-
*
|
|
194
|
-
* The temporary solid created for the proof is disposed immediately to avoid
|
|
195
|
-
* WASM memory leaks.
|
|
196
|
-
*/
|
|
197
|
-
export declare function isManifoldShell(shell: Shell): shell is ManifoldShell;
|
|
198
|
-
/**
|
|
199
|
-
* Type guard — check if a solid passes BRepCheck validation.
|
|
200
|
-
*/
|
|
201
|
-
export declare function isValidSolid(solid: Solid): solid is ValidSolid;
|
|
202
|
-
/**
|
|
203
|
-
* Prove that a wire is closed, returning a branded `ClosedWire` on success.
|
|
204
|
-
* This is the primary smart constructor for `ClosedWire`.
|
|
205
|
-
*
|
|
206
|
-
* @example
|
|
207
|
-
* ```ts
|
|
208
|
-
* const w = wire([e1, e2, e3]);
|
|
209
|
-
* const closed = closedWire(unwrap(w));
|
|
210
|
-
* if (isOk(closed)) {
|
|
211
|
-
* const f = face(closed.value); // ClosedWire accepted
|
|
212
|
-
* }
|
|
213
|
-
* ```
|
|
214
|
-
*/
|
|
215
|
-
export declare function closedWire<D extends Dimension>(wire: Wire<D>): ValidityResult<ClosedWire<D>>;
|
|
216
|
-
/**
|
|
217
|
-
* Prove that a face is oriented, returning a branded `OrientedFace` on success.
|
|
218
|
-
*/
|
|
219
|
-
export declare function orientedFace<D extends Dimension>(face: Face<D>): ValidityResult<OrientedFace<D>>;
|
|
220
|
-
/**
|
|
221
|
-
* Prove that a shell is manifold, returning a branded `ManifoldShell` on success.
|
|
222
|
-
*/
|
|
223
|
-
export declare function manifoldShell(shell: Shell): ValidityResult<ManifoldShell>;
|
|
224
|
-
/**
|
|
225
|
-
* Prove that a solid is valid, returning a branded `ValidSolid` on success.
|
|
226
|
-
*/
|
|
227
|
-
export declare function validSolid(solid: Solid): ValidityResult<ValidSolid>;
|
|
228
|
-
/**
|
|
229
|
-
* Result of a validity proof. Either the shape is valid (branded type returned)
|
|
230
|
-
* or invalid (reason string returned).
|
|
231
|
-
*/
|
|
232
|
-
export type ValidityResult<T> = {
|
|
233
|
-
readonly valid: true;
|
|
234
|
-
readonly shape: T;
|
|
235
|
-
} | {
|
|
236
|
-
readonly valid: false;
|
|
237
|
-
readonly reason: string;
|
|
238
|
-
};
|
|
239
108
|
/**
|
|
240
109
|
* Wrap a raw kernel shape into a properly branded type.
|
|
241
110
|
* Performs a downcast and wraps in a disposable handle.
|
|
@@ -246,8 +115,7 @@ export type ValidityResult<T> = {
|
|
|
246
115
|
* to be 3D, and use the default `castShape()` (which defaults to `'3D'`)
|
|
247
116
|
* for normal usage.
|
|
248
117
|
*/
|
|
249
|
-
export declare function castShape<D extends Dimension = '3D'>(ocShape: KernelShape): AnyShape<D>;
|
|
118
|
+
export declare function castShape<D extends Dimension = '3D'>(ocShape: KernelShape, dim?: D): AnyShape<D>;
|
|
250
119
|
/** Type-safe cast for shapes known to be 3D. */
|
|
251
120
|
export declare function castShape3D(ocShape: KernelShape): AnyShape;
|
|
252
|
-
export {};
|
|
253
121
|
//# sourceMappingURL=shapeTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shapeTypes.d.ts","sourceRoot":"","sources":["../../src/core/shapeTypes.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"shapeTypes.d.ts","sourceRoot":"","sources":["../../src/core/shapeTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Result } from './result.js';
|
|
2
|
+
import { AnyShape, ShapeKind } from './shapeTypes.js';
|
|
3
|
+
import { Dimension } from './dimensionTypes.js';
|
|
4
|
+
/** Discriminant for the geometric type of a 3D curve. */
|
|
5
|
+
export type CurveType = 'LINE' | 'CIRCLE' | 'ELLIPSE' | 'HYPERBOLA' | 'PARABOLA' | 'BEZIER_CURVE' | 'BSPLINE_CURVE' | 'OFFSET_CURVE' | 'OTHER_CURVE';
|
|
6
|
+
/**
|
|
7
|
+
* Map a kernel curve type enum value to its string discriminant.
|
|
8
|
+
*
|
|
9
|
+
* @returns `Ok<CurveType>` on success, or `Err` if the enum value is unrecognised.
|
|
10
|
+
*/
|
|
11
|
+
export declare const findCurveType: (type: any) => Result<CurveType>;
|
|
12
|
+
/** Query the kernel for the topological type of a shape. */
|
|
13
|
+
export declare function getShapeKind(shape: AnyShape<Dimension>): ShapeKind;
|
|
14
|
+
//# sourceMappingURL=typeDiscriminants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeDiscriminants.d.ts","sourceRoot":"","sources":["../../src/core/typeDiscriminants.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,aAAa,CAAC;AAGnD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAMrD,yDAAyD;AACzD,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,QAAQ,GACR,SAAS,GACT,WAAW,GACX,UAAU,GACV,cAAc,GACd,eAAe,GACf,cAAc,GACd,aAAa,CAAC;AAmBlB;;;;GAIG;AAEH,eAAO,MAAM,aAAa,GAAI,MAAM,GAAG,KAAG,MAAM,CAAC,SAAS,CAKzD,CAAC;AAMF,4DAA4D;AAC5D,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,SAAS,CAElE"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Dimension } from './dimensionTypes.js';
|
|
2
|
+
import { Wire, Face, Shell, Solid } from './shapeTypes.js';
|
|
3
|
+
import { Result } from './result.js';
|
|
4
|
+
/** Phantom brand: wire forms a closed loop. */
|
|
5
|
+
declare const __closed: unique symbol;
|
|
6
|
+
/** Phantom brand: face has consistent normal orientation. */
|
|
7
|
+
declare const __oriented: unique symbol;
|
|
8
|
+
/** Phantom brand: shell is manifold (watertight, no dangling faces). */
|
|
9
|
+
declare const __manifold: unique symbol;
|
|
10
|
+
/** Phantom brand: solid passes BRepCheck validation. */
|
|
11
|
+
declare const __valid: unique symbol;
|
|
12
|
+
/**
|
|
13
|
+
* A wire proven to form a closed loop.
|
|
14
|
+
* The only way to obtain a `ClosedWire` is through smart constructors
|
|
15
|
+
* (`closedWire()`, `rectangleWire()`, etc.) or type guards (`isClosedWire()`).
|
|
16
|
+
* Assignable to `Wire<D>` — a subtype, not a separate type.
|
|
17
|
+
*/
|
|
18
|
+
export type ClosedWire<D extends Dimension = '3D'> = Wire<D> & {
|
|
19
|
+
readonly [__closed]: true;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* A face with proven consistent normal orientation.
|
|
23
|
+
* Obtained via `orientedFace()` or `isOrientedFace()`.
|
|
24
|
+
* Assignable to `Face<D>`.
|
|
25
|
+
*/
|
|
26
|
+
export type OrientedFace<D extends Dimension = '3D'> = Face<D> & {
|
|
27
|
+
readonly [__oriented]: true;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* A shell proven to be manifold (watertight, no dangling faces).
|
|
31
|
+
* Obtained via `manifoldShell()` or `isManifoldShell()`.
|
|
32
|
+
* Assignable to `Shell`.
|
|
33
|
+
*/
|
|
34
|
+
export type ManifoldShell = Shell & {
|
|
35
|
+
readonly [__manifold]: true;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* A solid proven to pass BRepCheck validation.
|
|
39
|
+
* Obtained via `validSolid()` or `isValidSolid()`.
|
|
40
|
+
* Assignable to `Solid`.
|
|
41
|
+
*/
|
|
42
|
+
export type ValidSolid = Solid & {
|
|
43
|
+
readonly [__valid]: true;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Type guard — check if a wire is closed (forms a loop).
|
|
47
|
+
* Uses the kernel's `curveIsClosed` to verify at runtime.
|
|
48
|
+
*/
|
|
49
|
+
export declare function isClosedWire<D extends Dimension>(wire: Wire<D>): wire is ClosedWire<D>;
|
|
50
|
+
/**
|
|
51
|
+
* Type guard — check if a face is valid and thus safe to use in operations.
|
|
52
|
+
*
|
|
53
|
+
* Uses kernel validity (BRepCheck_Analyzer) which verifies geometric and
|
|
54
|
+
* topological correctness. Faces produced by kernel operations (makeFace,
|
|
55
|
+
* extrude, revolve, boolean ops) are oriented by construction. For faces
|
|
56
|
+
* from STEP/IGES imports or external sources, validity does not guarantee
|
|
57
|
+
* consistent normal orientation — use with caution or re-orient first.
|
|
58
|
+
*/
|
|
59
|
+
export declare function isOrientedFace<D extends Dimension>(face: Face<D>): face is OrientedFace<D>;
|
|
60
|
+
/**
|
|
61
|
+
* Type guard — check if a shell is manifold (watertight, no dangling faces).
|
|
62
|
+
* Checks kernel validity, then attempts `solidFromShell` — if the shell
|
|
63
|
+
* can form a valid solid, it is manifold by definition.
|
|
64
|
+
*
|
|
65
|
+
* The temporary solid created for the proof is disposed immediately to avoid
|
|
66
|
+
* WASM memory leaks.
|
|
67
|
+
*/
|
|
68
|
+
export declare function isManifoldShell(shell: Shell): shell is ManifoldShell;
|
|
69
|
+
/**
|
|
70
|
+
* Type guard — check if a solid passes BRepCheck validation.
|
|
71
|
+
*/
|
|
72
|
+
export declare function isValidSolid(solid: Solid): solid is ValidSolid;
|
|
73
|
+
/**
|
|
74
|
+
* Prove that a wire is closed, returning a branded `ClosedWire` on success.
|
|
75
|
+
* This is the primary smart constructor for `ClosedWire`.
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```ts
|
|
79
|
+
* const w = wire([e1, e2, e3]);
|
|
80
|
+
* const closed = closedWire(unwrap(w));
|
|
81
|
+
* if (isOk(closed)) {
|
|
82
|
+
* const f = face(closed.value); // ClosedWire accepted
|
|
83
|
+
* }
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
export declare function closedWire<D extends Dimension>(wire: Wire<D>): Result<ClosedWire<D>, string>;
|
|
87
|
+
/**
|
|
88
|
+
* Prove that a face is oriented, returning a branded `OrientedFace` on success.
|
|
89
|
+
*/
|
|
90
|
+
export declare function orientedFace<D extends Dimension>(face: Face<D>): Result<OrientedFace<D>, string>;
|
|
91
|
+
/**
|
|
92
|
+
* Prove that a shell is manifold, returning a branded `ManifoldShell` on success.
|
|
93
|
+
*/
|
|
94
|
+
export declare function manifoldShell(shell: Shell): Result<ManifoldShell, string>;
|
|
95
|
+
/**
|
|
96
|
+
* Prove that a solid is valid, returning a branded `ValidSolid` on success.
|
|
97
|
+
*/
|
|
98
|
+
export declare function validSolid(solid: Solid): Result<ValidSolid, string>;
|
|
99
|
+
export {};
|
|
100
|
+
//# sourceMappingURL=validityTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validityTypes.d.ts","sourceRoot":"","sources":["../../src/core/validityTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAS1C,+CAA+C;AAC/C,OAAO,CAAC,MAAM,QAAQ,EAAE,OAAO,MAAM,CAAC;AACtC,6DAA6D;AAC7D,OAAO,CAAC,MAAM,UAAU,EAAE,OAAO,MAAM,CAAC;AACxC,wEAAwE;AACxE,OAAO,CAAC,MAAM,UAAU,EAAE,OAAO,MAAM,CAAC;AACxC,wDAAwD;AACxD,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AAMrC;;;;;GAKG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG;IAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAE7F;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,SAAS,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG;IAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEjG;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG;IAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEpE;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG;IAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAM9D;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,CAEtF;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,CAE1F;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,IAAI,aAAa,CAoBpE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,IAAI,UAAU,CAE9D;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAG5F;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAGhG;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAGzE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAGnE"}
|