brepjs 10.0.0 → 11.0.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 (86) hide show
  1. package/dist/2d/blueprints/Blueprint.d.ts.map +1 -1
  2. package/dist/2d.cjs +2 -2
  3. package/dist/2d.js +3 -3
  4. package/dist/{Blueprint-B6UDSVJN.cjs → Blueprint-BbgdNjMG.cjs} +5 -5
  5. package/dist/{Blueprint-QlgNyzP7.js → Blueprint-CFUlMh67.js} +5 -5
  6. package/dist/{boolean2D-Gr-OYFsO.js → boolean2D-DNKu6gA7.js} +10 -9
  7. package/dist/{boolean2D-DZxTrl9x.cjs → boolean2D-Y4yATWl7.cjs} +10 -9
  8. package/dist/{booleanFns-CR6vk8qv.cjs → booleanFns-BaMEij5u.cjs} +7 -4
  9. package/dist/{booleanFns-BEIrQNUH.js → booleanFns-DOonidp8.js} +7 -4
  10. package/dist/brepjs.cjs +37 -16
  11. package/dist/brepjs.js +83 -62
  12. package/dist/core/shapeTypes.d.ts +106 -0
  13. package/dist/core/shapeTypes.d.ts.map +1 -1
  14. package/dist/core.cjs +1 -1
  15. package/dist/core.js +1 -1
  16. package/dist/{cornerFinder-DlwI0iHu.cjs → cornerFinder-CDkc5qfD.cjs} +1 -1
  17. package/dist/{cornerFinder-Bh_jsF_w.js → cornerFinder-CcNE4HxW.js} +1 -1
  18. package/dist/{curveFns-CNkC51il.js → curveFns-BMXtgX1x.js} +1 -1
  19. package/dist/{curveFns-jnEgxP5N.cjs → curveFns-Dtaf2CvG.cjs} +1 -1
  20. package/dist/{drawFns-D0Wg1cy7.cjs → drawFns-B-r3aaqa.cjs} +10 -10
  21. package/dist/{drawFns-Ex_DyuI1.js → drawFns-c8p_xTP0.js} +10 -10
  22. package/dist/{faceFns-DKkW12_x.js → faceFns-Cz71BDro.js} +1 -1
  23. package/dist/{faceFns-B10DQksf.cjs → faceFns-DVo4NiOl.cjs} +1 -1
  24. package/dist/{helpers-4kc7odPn.cjs → helpers-BOPjTzbq.cjs} +4 -4
  25. package/dist/{helpers-BPzEhlP8.js → helpers-Cg_I5KyH.js} +4 -4
  26. package/dist/index.d.ts +3 -3
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/io.cjs +3 -3
  29. package/dist/io.js +3 -3
  30. package/dist/{loft-CfNUe13X.js → loft-Cg7rdMf1.js} +9 -5
  31. package/dist/{loft-ByirrIHz.cjs → loft-DCPqcyZE.cjs} +9 -5
  32. package/dist/{measurement-BMfzcJ2H.js → measurement-BN6FiFD4.js} +2 -2
  33. package/dist/{measurement-CpWygrRd.cjs → measurement-Crexq3aQ.cjs} +2 -2
  34. package/dist/measurement.cjs +1 -1
  35. package/dist/measurement.js +1 -1
  36. package/dist/{meshFns-DRZcKqgZ.cjs → meshFns-d6Ta_uov.cjs} +2 -2
  37. package/dist/{meshFns-CbuZpQmE.js → meshFns-kdGtj-un.js} +2 -2
  38. package/dist/operations/api.d.ts +3 -3
  39. package/dist/operations/api.d.ts.map +1 -1
  40. package/dist/operations/extrude.d.ts +3 -3
  41. package/dist/operations/extrude.d.ts.map +1 -1
  42. package/dist/operations/extrudeFns.d.ts +3 -3
  43. package/dist/operations/extrudeFns.d.ts.map +1 -1
  44. package/dist/{operations-DBJ9dkjD.js → operations-BaSVJrqt.js} +5 -5
  45. package/dist/{operations-DAt3B8iS.cjs → operations-C9rwsqkO.cjs} +5 -5
  46. package/dist/operations.cjs +2 -2
  47. package/dist/operations.js +2 -2
  48. package/dist/query.cjs +4 -4
  49. package/dist/query.js +5 -5
  50. package/dist/{shapeFns-BrfVnd9Q.js → shapeFns-BbnD8E_4.js} +2 -2
  51. package/dist/{shapeFns-vPR93KGT.cjs → shapeFns-vrqpeRIf.cjs} +2 -2
  52. package/dist/{shapeTypes-C1z8HWJf.js → shapeTypes-BkPK8XIl.js} +57 -9
  53. package/dist/{shapeTypes-BxAzFSfl.cjs → shapeTypes-CHvr4HNj.cjs} +48 -0
  54. package/dist/sketching/CompoundSketch.d.ts +2 -2
  55. package/dist/sketching/CompoundSketch.d.ts.map +1 -1
  56. package/dist/sketching/Sketch.d.ts.map +1 -1
  57. package/dist/sketching/draw.d.ts.map +1 -1
  58. package/dist/sketching/sketchFns.d.ts +3 -3
  59. package/dist/sketching/sketchFns.d.ts.map +1 -1
  60. package/dist/sketching.cjs +2 -2
  61. package/dist/sketching.js +2 -2
  62. package/dist/{surfaceBuilders-B-yoDL2e.js → surfaceBuilders-DCThAtoQ.js} +5 -3
  63. package/dist/{surfaceBuilders-BkTPbZFl.cjs → surfaceBuilders-DIPPckQg.cjs} +5 -3
  64. package/dist/topology/adjacencyFns.d.ts +3 -2
  65. package/dist/topology/adjacencyFns.d.ts.map +1 -1
  66. package/dist/topology/booleanFns.d.ts +2 -2
  67. package/dist/topology/booleanFns.d.ts.map +1 -1
  68. package/dist/topology/compoundOpsFns.d.ts.map +1 -1
  69. package/dist/topology/faceFns.d.ts +5 -5
  70. package/dist/topology/faceFns.d.ts.map +1 -1
  71. package/dist/topology/healingFns.d.ts +2 -2
  72. package/dist/topology/healingFns.d.ts.map +1 -1
  73. package/dist/topology/primitiveFns.d.ts +32 -13
  74. package/dist/topology/primitiveFns.d.ts.map +1 -1
  75. package/dist/topology/shapeFns.d.ts +6 -1
  76. package/dist/topology/shapeFns.d.ts.map +1 -1
  77. package/dist/topology/solidBuilders.d.ts +8 -8
  78. package/dist/topology/solidBuilders.d.ts.map +1 -1
  79. package/dist/topology/surfaceBuilders.d.ts +7 -7
  80. package/dist/topology/surfaceBuilders.d.ts.map +1 -1
  81. package/dist/topology/wrapperFns.d.ts.map +1 -1
  82. package/dist/{topology-CBZcJ5pS.cjs → topology-BK5M8FlG.cjs} +11 -6
  83. package/dist/{topology-Bt4qS8pS.js → topology-DoSBNUPF.js} +11 -6
  84. package/dist/topology.cjs +6 -6
  85. package/dist/topology.js +6 -6
  86. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { PointInput } from '../core/types.js';
2
2
  import { Result } from '../core/result.js';
3
3
  import { ExtrusionProfile, SweepOptions } from './extrudeUtils.js';
4
- import { Face, Wire, Edge, Shape3D, Solid } from '../core/shapeTypes.js';
4
+ import { OrientedFace, Wire, Edge, Shape3D, Solid } from '../core/shapeTypes.js';
5
5
  /**
6
6
  * Extrude a face along a vector to produce a solid (OOP API).
7
7
  *
@@ -11,7 +11,7 @@ import { Face, Wire, Edge, Shape3D, Solid } from '../core/shapeTypes.js';
11
11
  *
12
12
  * @see {@link extrudeFns!extrude | extrude} for the functional API equivalent.
13
13
  */
14
- export declare const basicFaceExtrusion: (face: Face, extrusionVec: PointInput) => Solid;
14
+ export declare const basicFaceExtrusion: (face: OrientedFace, extrusionVec: PointInput) => Solid;
15
15
  /**
16
16
  * Revolve a face around an axis to create a solid of revolution (OOP API).
17
17
  *
@@ -23,7 +23,7 @@ export declare const basicFaceExtrusion: (face: Face, extrusionVec: PointInput)
23
23
  *
24
24
  * @see {@link extrudeFns!revolve | revolve} for the functional API equivalent.
25
25
  */
26
- export declare const revolution: (face: Face, center?: PointInput, direction?: PointInput, angle?: number) => Result<Shape3D>;
26
+ export declare const revolution: (face: OrientedFace, center?: PointInput, direction?: PointInput, angle?: number) => Result<Shape3D>;
27
27
  /** Configuration for sweep operations in the OO API. */
28
28
  export interface GenericSweepOptions extends Omit<SweepOptions, 'auxiliarySpine'> {
29
29
  /** Auxiliary spine for twist control (Wire or Edge in OO API) */
@@ -1 +1 @@
1
- {"version":3,"file":"extrude.d.ts","sourceRoot":"","sources":["../../src/operations/extrude.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAMnD,OAAO,EAAE,KAAK,MAAM,EAA4B,MAAM,mBAAmB,CAAC;AAE1E,OAAO,EAAuB,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAI9E;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,IAAI,EAAE,cAAc,UAAU,KAAG,KASzE,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,GACrB,MAAM,IAAI,EACV,SAAQ,UAAsB,EAC9B,YAAW,UAAsB,EACjC,cAAW,KACV,MAAM,CAAC,OAAO,CAmBhB,CAAC;AAEF,wDAAwD;AACxD,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC;IAC/E,iEAAiE;IACjE,cAAc,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CAC9B;AAED,iBAAS,YAAY,CACnB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,IAAI,EACX,WAAW,EAAE,mBAAmB,EAChC,SAAS,EAAE,IAAI,GACd,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACjC,iBAAS,YAAY,CACnB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,IAAI,EACX,WAAW,EAAE,mBAAmB,EAChC,SAAS,CAAC,EAAE,KAAK,GAChB,MAAM,CAAC,OAAO,CAAC,CAAC;AA2EnB;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,iBAAS,cAAc,CACrB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,gBAAgB,GAAG,SAAS,EAC1C,SAAS,EAAE,IAAI,GACd,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACjC,iBAAS,cAAc,CACrB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,EAClB,YAAY,CAAC,EAAE,gBAAgB,EAC/B,SAAS,CAAC,EAAE,KAAK,GAChB,MAAM,CAAC,OAAO,CAAC,CAAC;AA2BnB;;;;;;;;GAQG;AACH,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,iBAAS,YAAY,CACnB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,EAClB,YAAY,CAAC,EAAE,gBAAgB,EAC/B,SAAS,CAAC,EAAE,KAAK,GAChB,MAAM,CAAC,OAAO,CAAC,CAAC;AACnB,iBAAS,YAAY,CACnB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,gBAAgB,GAAG,SAAS,EAC1C,SAAS,EAAE,IAAI,GACd,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAmCjC;;;;;;;GAOG;AACH,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"extrude.d.ts","sourceRoot":"","sources":["../../src/operations/extrude.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAMnD,OAAO,EAAE,KAAK,MAAM,EAA4B,MAAM,mBAAmB,CAAC;AAE1E,OAAO,EAAuB,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAItF;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,YAAY,EAAE,cAAc,UAAU,KAAG,KASjF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,GACrB,MAAM,YAAY,EAClB,SAAQ,UAAsB,EAC9B,YAAW,UAAsB,EACjC,cAAW,KACV,MAAM,CAAC,OAAO,CAmBhB,CAAC;AAEF,wDAAwD;AACxD,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC;IAC/E,iEAAiE;IACjE,cAAc,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CAC9B;AAED,iBAAS,YAAY,CACnB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,IAAI,EACX,WAAW,EAAE,mBAAmB,EAChC,SAAS,EAAE,IAAI,GACd,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACjC,iBAAS,YAAY,CACnB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,IAAI,EACX,WAAW,EAAE,mBAAmB,EAChC,SAAS,CAAC,EAAE,KAAK,GAChB,MAAM,CAAC,OAAO,CAAC,CAAC;AA2EnB;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,iBAAS,cAAc,CACrB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,gBAAgB,GAAG,SAAS,EAC1C,SAAS,EAAE,IAAI,GACd,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACjC,iBAAS,cAAc,CACrB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,EAClB,YAAY,CAAC,EAAE,gBAAgB,EAC/B,SAAS,CAAC,EAAE,KAAK,GAChB,MAAM,CAAC,OAAO,CAAC,CAAC;AA2BnB;;;;;;;;GAQG;AACH,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,iBAAS,YAAY,CACnB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,EAClB,YAAY,CAAC,EAAE,gBAAgB,EAC/B,SAAS,CAAC,EAAE,KAAK,GAChB,MAAM,CAAC,OAAO,CAAC,CAAC;AACnB,iBAAS,YAAY,CACnB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,gBAAgB,GAAG,SAAS,EAC1C,SAAS,EAAE,IAAI,GACd,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAmCjC;;;;;;;GAOG;AACH,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Vec3 } from '../core/types.js';
2
- import { Dimension, Face, Wire, Shape3D, Solid } from '../core/shapeTypes.js';
2
+ import { Dimension, OrientedFace, Wire, Shape3D, ValidSolid } from '../core/shapeTypes.js';
3
3
  import { Result } from '../core/result.js';
4
4
  import { ExtrusionProfile, SweepOptions } from './extrudeUtils.js';
5
5
  /**
@@ -23,7 +23,7 @@ export type { ExtrusionProfile, SweepOptions } from './extrudeUtils.js';
23
23
  *
24
24
  * @see {@link extrude!basicFaceExtrusion | basicFaceExtrusion} for the OOP API equivalent.
25
25
  */
26
- export declare function extrude(face: Face<Dimension>, extrusionVec: Vec3): Result<Solid>;
26
+ export declare function extrude(face: OrientedFace<Dimension>, extrusionVec: Vec3): Result<ValidSolid>;
27
27
  /**
28
28
  * Revolve a face around an axis to create a solid of revolution.
29
29
  *
@@ -35,7 +35,7 @@ export declare function extrude(face: Face<Dimension>, extrusionVec: Vec3): Resu
35
35
  *
36
36
  * @see {@link extrude!revolution | revolution} for the OOP API equivalent.
37
37
  */
38
- export declare function revolve(face: Face<Dimension>, center?: Vec3, direction?: Vec3, angle?: number): Result<Shape3D>;
38
+ export declare function revolve(face: OrientedFace<Dimension>, center?: Vec3, direction?: Vec3, angle?: number): Result<Shape3D>;
39
39
  /**
40
40
  * Sweep a wire profile along a spine wire to create a 3D shape.
41
41
  *
@@ -1 +1 @@
1
- {"version":3,"file":"extrudeFns.d.ts","sourceRoot":"","sources":["../../src/operations/extrudeFns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,KAAK,UAAU,GAAG,GAAG,CAAC;AAGtB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnF,OAAO,EAAE,KAAK,MAAM,EAAmB,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EAAuB,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAElG,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA+BxE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAwBhF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EACrB,MAAM,GAAE,IAAgB,EACxB,SAAS,GAAE,IAAgB,EAC3B,KAAK,SAAM,GACV,MAAM,CAAC,OAAO,CAAC,CAajB;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,KAAK,CACnB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EACrB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,EACtB,MAAM,GAAE,YAAiB,EACzB,SAAS,UAAQ,GAChB,MAAM,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAmEzC;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EACrB,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,UAAU,GAClB,MAAM,CAAC,OAAO,CAAC,CAIjB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EACrB,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,IAAI,EACZ,YAAY,CAAC,EAAE,gBAAgB,EAC/B,SAAS,UAAQ,GAChB,MAAM,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAWzC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EACrB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,IAAI,EACZ,YAAY,CAAC,EAAE,gBAAgB,EAC/B,SAAS,UAAQ,GAChB,MAAM,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAmBzC"}
1
+ {"version":3,"file":"extrudeFns.d.ts","sourceRoot":"","sources":["../../src/operations/extrudeFns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,KAAK,UAAU,GAAG,GAAG,CAAC;AAGtB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEhG,OAAO,EAAE,KAAK,MAAM,EAAmB,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EAAuB,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAElG,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA+BxE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAwB7F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,EAC7B,MAAM,GAAE,IAAgB,EACxB,SAAS,GAAE,IAAgB,EAC3B,KAAK,SAAM,GACV,MAAM,CAAC,OAAO,CAAC,CAajB;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,KAAK,CACnB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EACrB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,EACtB,MAAM,GAAE,YAAiB,EACzB,SAAS,UAAQ,GAChB,MAAM,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAmEzC;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EACrB,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,UAAU,GAClB,MAAM,CAAC,OAAO,CAAC,CAIjB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EACrB,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,IAAI,EACZ,YAAY,CAAC,EAAE,gBAAgB,EAC/B,SAAS,UAAQ,GAChB,MAAM,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAWzC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EACrB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,IAAI,EACZ,YAAY,CAAC,EAAE,gBAAgB,EAC/B,SAAS,UAAQ,GAChB,MAAM,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAmBzC"}
@@ -1,10 +1,10 @@
1
- import { q as getKernel, b as createKernelHandle, c as castShape, j as isShape3D, n as isWire, x as createSolid } from "./shapeTypes-C1z8HWJf.js";
1
+ import { q as getKernel, b as createKernelHandle, c as castShape, j as isShape3D, n as isWire, x as createSolid } from "./shapeTypes-BkPK8XIl.js";
2
2
  import { g as vecLength, v as vecAdd, j as vecNormalize, f as vecIsZero } from "./vecOps-ZDdZWbwT.js";
3
3
  import { e as err, x as validationError, u as unwrap, p as typeCastError, o as ok, B as BrepErrorCode, k as kernelError, i as ioError, b as computationError } from "./errors-lBwyc8YG.js";
4
- import { n as buildLawFromProfile } from "./loft-CfNUe13X.js";
5
- import { j as fuseAll } from "./booleanFns-BEIrQNUH.js";
6
- import { q as toBREP } from "./shapeFns-BrfVnd9Q.js";
7
- import { j as fromBREP } from "./faceFns-DKkW12_x.js";
4
+ import { n as buildLawFromProfile } from "./loft-Cg7rdMf1.js";
5
+ import { j as fuseAll } from "./booleanFns-DOonidp8.js";
6
+ import { q as toBREP } from "./shapeFns-BbnD8E_4.js";
7
+ import { j as fromBREP } from "./faceFns-Cz71BDro.js";
8
8
  function uuidv() {
9
9
  return (String([1e7]) + String(-1e3) + String(-4e3) + String(-8e3) + String(-1e11)).replace(
10
10
  /[018]/g,
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
- const shapeTypes = require("./shapeTypes-BxAzFSfl.cjs");
2
+ const shapeTypes = require("./shapeTypes-CHvr4HNj.cjs");
3
3
  const vecOps = require("./vecOps-CjRL1jau.cjs");
4
4
  const errors = require("./errors-DiTn5EoC.cjs");
5
- const loft = require("./loft-ByirrIHz.cjs");
6
- const booleanFns = require("./booleanFns-CR6vk8qv.cjs");
7
- const shapeFns = require("./shapeFns-vPR93KGT.cjs");
8
- const faceFns = require("./faceFns-B10DQksf.cjs");
5
+ const loft = require("./loft-DCPqcyZE.cjs");
6
+ const booleanFns = require("./booleanFns-BaMEij5u.cjs");
7
+ const shapeFns = require("./shapeFns-vrqpeRIf.cjs");
8
+ const faceFns = require("./faceFns-DVo4NiOl.cjs");
9
9
  function uuidv() {
10
10
  return (String([1e7]) + String(-1e3) + String(-4e3) + String(-8e3) + String(-1e11)).replace(
11
11
  /[018]/g,
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const operations = require("./operations-DAt3B8iS.cjs");
4
- const loft = require("./loft-ByirrIHz.cjs");
3
+ const operations = require("./operations-C9rwsqkO.cjs");
4
+ const loft = require("./loft-DCPqcyZE.cjs");
5
5
  exports.addChild = operations.addChild;
6
6
  exports.addStep = operations.addStep;
7
7
  exports.circularPattern = operations.circularPattern;
@@ -1,5 +1,5 @@
1
- import { a, b, c, d, f, g, h, i, j, k, n, o, p, q, H, l, t, u, v, x, y, z, B, C, D, s, E, F, G, w } from "./operations-DBJ9dkjD.js";
2
- import { b as b2, g as g2, l as l2, r } from "./loft-CfNUe13X.js";
1
+ import { a, b, c, d, f, g, h, i, j, k, n, o, p, q, H, l, t, u, v, x, y, z, B, C, D, s, E, F, G, w } from "./operations-BaSVJrqt.js";
2
+ import { b as b2, g as g2, l as l2, r } from "./loft-Cg7rdMf1.js";
3
3
  export {
4
4
  a as addChild,
5
5
  b as addStep,
package/dist/query.cjs CHANGED
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const helpers = require("./helpers-4kc7odPn.cjs");
4
- const cornerFinder = require("./cornerFinder-DlwI0iHu.cjs");
5
- const shapeTypes = require("./shapeTypes-BxAzFSfl.cjs");
3
+ const helpers = require("./helpers-BOPjTzbq.cjs");
4
+ const cornerFinder = require("./cornerFinder-CDkc5qfD.cjs");
5
+ const shapeTypes = require("./shapeTypes-CHvr4HNj.cjs");
6
6
  const vecOps = require("./vecOps-CjRL1jau.cjs");
7
- const curveFns = require("./curveFns-jnEgxP5N.cjs");
7
+ const curveFns = require("./curveFns-Dtaf2CvG.cjs");
8
8
  function edgeDirectionFilter(dir, angle) {
9
9
  const d = vecOps.vecNormalize(helpers.resolveDir(dir));
10
10
  return (edge) => {
package/dist/query.js CHANGED
@@ -1,9 +1,9 @@
1
- import { l as createTypedFinder, o as distanceFromPointFilter, q as resolveDir } from "./helpers-BPzEhlP8.js";
2
- import { m, g } from "./helpers-BPzEhlP8.js";
3
- import { c } from "./cornerFinder-Bh_jsF_w.js";
4
- import { q as getKernel } from "./shapeTypes-C1z8HWJf.js";
1
+ import { l as createTypedFinder, o as distanceFromPointFilter, q as resolveDir } from "./helpers-Cg_I5KyH.js";
2
+ import { m, g } from "./helpers-Cg_I5KyH.js";
3
+ import { c } from "./cornerFinder-CcNE4HxW.js";
4
+ import { q as getKernel } from "./shapeTypes-BkPK8XIl.js";
5
5
  import { j as vecNormalize, d as vecDot, D as DEG2RAD } from "./vecOps-ZDdZWbwT.js";
6
- import { b as getCurveType, i as curveLength } from "./curveFns-CNkC51il.js";
6
+ import { b as getCurveType, i as curveLength } from "./curveFns-BMXtgX1x.js";
7
7
  function edgeDirectionFilter(dir, angle) {
8
8
  const d = vecNormalize(resolveDir(dir));
9
9
  return (edge) => {
@@ -1,6 +1,6 @@
1
- import { q as getKernel, c as castShape, g as getShapeKind } from "./shapeTypes-C1z8HWJf.js";
1
+ import { q as getKernel, c as castShape, g as getShapeKind } from "./shapeTypes-BkPK8XIl.js";
2
2
  import { H as HASH_CODE_MAX, D as DEG2RAD } from "./vecOps-ZDdZWbwT.js";
3
- import { i as iterTopo, d as downcast } from "./faceFns-DKkW12_x.js";
3
+ import { i as iterTopo, d as downcast } from "./faceFns-Cz71BDro.js";
4
4
  import { u as unwrap } from "./errors-lBwyc8YG.js";
5
5
  function clone(shape) {
6
6
  return castShape(unwrap(downcast(shape.wrapped)));
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- const shapeTypes = require("./shapeTypes-BxAzFSfl.cjs");
2
+ const shapeTypes = require("./shapeTypes-CHvr4HNj.cjs");
3
3
  const vecOps = require("./vecOps-CjRL1jau.cjs");
4
- const faceFns = require("./faceFns-B10DQksf.cjs");
4
+ const faceFns = require("./faceFns-DVo4NiOl.cjs");
5
5
  const errors = require("./errors-DiTn5EoC.cjs");
6
6
  function clone(shape) {
7
7
  return shapeTypes.castShape(errors.unwrap(faceFns.downcast(shape.wrapped)));
@@ -5377,6 +5377,46 @@ function as2D(s) {
5377
5377
  if (!is2D(s)) throw new Error("Expected 2D shape, got 3D");
5378
5378
  return s;
5379
5379
  }
5380
+ function isClosedWire(wire) {
5381
+ return getKernel().curveIsClosed(wire.wrapped);
5382
+ }
5383
+ function isOrientedFace(face) {
5384
+ return getKernel().isValid(face.wrapped);
5385
+ }
5386
+ function isManifoldShell(shell2) {
5387
+ const kernel = getKernel();
5388
+ if (!kernel.isValid(shell2.wrapped)) return false;
5389
+ try {
5390
+ const solid = kernel.solidFromShell(shell2.wrapped);
5391
+ const valid = kernel.isValid(solid);
5392
+ try {
5393
+ kernel.dispose(solid);
5394
+ } catch {
5395
+ }
5396
+ return valid;
5397
+ } catch {
5398
+ return false;
5399
+ }
5400
+ }
5401
+ function isValidSolid(solid) {
5402
+ return getKernel().isValid(solid.wrapped);
5403
+ }
5404
+ function closedWire(wire) {
5405
+ if (isClosedWire(wire)) return { valid: true, shape: wire };
5406
+ return { valid: false, reason: "Wire is not closed: start and end points do not coincide" };
5407
+ }
5408
+ function orientedFace(face) {
5409
+ if (isOrientedFace(face)) return { valid: true, shape: face };
5410
+ return { valid: false, reason: "Face orientation is inconsistent or face is invalid" };
5411
+ }
5412
+ function manifoldShell(shell2) {
5413
+ if (isManifoldShell(shell2)) return { valid: true, shape: shell2 };
5414
+ return { valid: false, reason: "Shell is not manifold: has free edges or is invalid" };
5415
+ }
5416
+ function validSolid(solid) {
5417
+ if (isValidSolid(solid)) return { valid: true, shape: solid };
5418
+ return { valid: false, reason: "Solid failed BRepCheck validation" };
5419
+ }
5380
5420
  function castShape(ocShape) {
5381
5421
  const kernel = getKernel();
5382
5422
  const st = kernel.shapeType(ocShape);
@@ -5395,16 +5435,24 @@ function castShape3D(ocShape) {
5395
5435
  }
5396
5436
  export {
5397
5437
  unregisterFromCleanup as A,
5398
- as2D as B,
5399
- as3D as C,
5438
+ isClosedWire as B,
5439
+ as2D as C,
5400
5440
  DisposalScope as D,
5401
- castShape3D as E,
5402
- createShell as F,
5403
- initFromOC as G,
5404
- is2D as H,
5405
- is3D as I,
5406
- registerKernel as J,
5407
- withKernel as K,
5441
+ as3D as E,
5442
+ castShape3D as F,
5443
+ closedWire as G,
5444
+ createShell as H,
5445
+ initFromOC as I,
5446
+ is2D as J,
5447
+ is3D as K,
5448
+ isManifoldShell as L,
5449
+ isOrientedFace as M,
5450
+ isValidSolid as N,
5451
+ manifoldShell as O,
5452
+ orientedFace as P,
5453
+ registerKernel as Q,
5454
+ validSolid as R,
5455
+ withKernel as S,
5408
5456
  createHandle as a,
5409
5457
  createKernelHandle as b,
5410
5458
  castShape as c,
@@ -5378,6 +5378,46 @@ function as2D(s) {
5378
5378
  if (!is2D(s)) throw new Error("Expected 2D shape, got 3D");
5379
5379
  return s;
5380
5380
  }
5381
+ function isClosedWire(wire) {
5382
+ return getKernel().curveIsClosed(wire.wrapped);
5383
+ }
5384
+ function isOrientedFace(face) {
5385
+ return getKernel().isValid(face.wrapped);
5386
+ }
5387
+ function isManifoldShell(shell2) {
5388
+ const kernel = getKernel();
5389
+ if (!kernel.isValid(shell2.wrapped)) return false;
5390
+ try {
5391
+ const solid = kernel.solidFromShell(shell2.wrapped);
5392
+ const valid = kernel.isValid(solid);
5393
+ try {
5394
+ kernel.dispose(solid);
5395
+ } catch {
5396
+ }
5397
+ return valid;
5398
+ } catch {
5399
+ return false;
5400
+ }
5401
+ }
5402
+ function isValidSolid(solid) {
5403
+ return getKernel().isValid(solid.wrapped);
5404
+ }
5405
+ function closedWire(wire) {
5406
+ if (isClosedWire(wire)) return { valid: true, shape: wire };
5407
+ return { valid: false, reason: "Wire is not closed: start and end points do not coincide" };
5408
+ }
5409
+ function orientedFace(face) {
5410
+ if (isOrientedFace(face)) return { valid: true, shape: face };
5411
+ return { valid: false, reason: "Face orientation is inconsistent or face is invalid" };
5412
+ }
5413
+ function manifoldShell(shell2) {
5414
+ if (isManifoldShell(shell2)) return { valid: true, shape: shell2 };
5415
+ return { valid: false, reason: "Shell is not manifold: has free edges or is invalid" };
5416
+ }
5417
+ function validSolid(solid) {
5418
+ if (isValidSolid(solid)) return { valid: true, shape: solid };
5419
+ return { valid: false, reason: "Solid failed BRepCheck validation" };
5420
+ }
5381
5421
  function castShape(ocShape) {
5382
5422
  const kernel = getKernel();
5383
5423
  const st = kernel.shapeType(ocShape);
@@ -5399,6 +5439,7 @@ exports.as2D = as2D;
5399
5439
  exports.as3D = as3D;
5400
5440
  exports.castShape = castShape;
5401
5441
  exports.castShape3D = castShape3D;
5442
+ exports.closedWire = closedWire;
5402
5443
  exports.createCompound = createCompound;
5403
5444
  exports.createEdge = createEdge;
5404
5445
  exports.createFace = createFace;
@@ -5414,19 +5455,26 @@ exports.getShapeKind = getShapeKind;
5414
5455
  exports.initFromOC = initFromOC;
5415
5456
  exports.is2D = is2D;
5416
5457
  exports.is3D = is3D;
5458
+ exports.isClosedWire = isClosedWire;
5417
5459
  exports.isCompound = isCompound;
5418
5460
  exports.isEdge = isEdge;
5419
5461
  exports.isFace = isFace;
5420
5462
  exports.isLive = isLive;
5463
+ exports.isManifoldShell = isManifoldShell;
5464
+ exports.isOrientedFace = isOrientedFace;
5421
5465
  exports.isShape1D = isShape1D;
5422
5466
  exports.isShape3D = isShape3D;
5423
5467
  exports.isShell = isShell;
5424
5468
  exports.isSolid = isSolid;
5469
+ exports.isValidSolid = isValidSolid;
5425
5470
  exports.isVertex = isVertex;
5426
5471
  exports.isWire = isWire;
5472
+ exports.manifoldShell = manifoldShell;
5473
+ exports.orientedFace = orientedFace;
5427
5474
  exports.registerForCleanup = registerForCleanup;
5428
5475
  exports.registerKernel = registerKernel;
5429
5476
  exports.unregisterFromCleanup = unregisterFromCleanup;
5477
+ exports.validSolid = validSolid;
5430
5478
  exports.withKernel = withKernel;
5431
5479
  exports.withScope = withScope;
5432
5480
  exports.withScopeResult = withScopeResult;
@@ -3,7 +3,7 @@ import { PointInput } from '../core/types.js';
3
3
  import { ExtrusionProfile } from '../operations/extrude.js';
4
4
  import { LoftOptions } from '../operations/loft.js';
5
5
  import { SketchInterface } from './sketchLib.js';
6
- import { Face, Shape3D } from '../core/shapeTypes.js';
6
+ import { Shape3D } from '../core/shapeTypes.js';
7
7
  /**
8
8
  * Represent a face with holes as a group of sketches (one outer + zero or more inner).
9
9
  *
@@ -27,7 +27,7 @@ export default class CompoundSketch implements SketchInterface {
27
27
  /** Return all wires (outer + holes) combined into a compound shape. */
28
28
  get wires(): import('../index.js').Compound;
29
29
  /** Build a face from the outer boundary with inner wires subtracted as holes. */
30
- face(): Face<"3D">;
30
+ face(): import('../index.js').OrientedFace<"3D">;
31
31
  /**
32
32
  * Extrude the compound face (with holes) along the default or given direction.
33
33
  *
@@ -1 +1 @@
1
- {"version":3,"file":"CompoundSketch.d.ts","sourceRoot":"","sources":["../../src/sketching/CompoundSketch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,OAAO,KAAK,EAAQ,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAItD,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAe,MAAM,uBAAuB,CAAC;AA0DxE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,YAAW,eAAe;IAC5D,QAAQ,EAAE,MAAM,EAAE,CAAC;gBACP,QAAQ,EAAE,MAAM,EAAE;IAO9B,6DAA6D;IAC7D,MAAM;IAMN,8DAA8D;IAC9D,IAAI,WAAW,WAGd;IAED,iDAAiD;IACjD,IAAI,aAAa,aAEhB;IAED,uEAAuE;IACvE,IAAI,KAAK,mCAGR;IAED,iFAAiF;IACjF,IAAI;IAUJ;;;;;OAKG;IACH,OAAO,CACL,iBAAiB,EAAE,MAAM,EACzB,EACE,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,MAAM,GACP,GAAE;QACD,kBAAkB,CAAC,EAAE,UAAU,CAAC;QAChC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,UAAU,CAAC;KAChB,GACL,OAAO;IAoCV;;;OAGG;IACH,OAAO,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,GAAE;QAAE,MAAM,CAAC,EAAE,UAAU,CAAA;KAAO,GAAG,OAAO;IAUvF,qFAAqF;IACrF,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,GAAG,OAAO;CAmBhE"}
1
+ {"version":3,"file":"CompoundSketch.d.ts","sourceRoot":"","sources":["../../src/sketching/CompoundSketch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,OAAO,KAAK,EAAQ,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAItD,OAAO,KAAK,EAAoB,OAAO,EAAe,MAAM,uBAAuB,CAAC;AA2DpF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,YAAW,eAAe;IAC5D,QAAQ,EAAE,MAAM,EAAE,CAAC;gBACP,QAAQ,EAAE,MAAM,EAAE;IAO9B,6DAA6D;IAC7D,MAAM;IAMN,8DAA8D;IAC9D,IAAI,WAAW,WAGd;IAED,iDAAiD;IACjD,IAAI,aAAa,aAEhB;IAED,uEAAuE;IACvE,IAAI,KAAK,mCAGR;IAED,iFAAiF;IACjF,IAAI;IAWJ;;;;;OAKG;IACH,OAAO,CACL,iBAAiB,EAAE,MAAM,EACzB,EACE,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,MAAM,GACP,GAAE;QACD,kBAAkB,CAAC,EAAE,UAAU,CAAC;QAChC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,UAAU,CAAC;KAChB,GACL,OAAO;IAoCV;;;OAGG;IACH,OAAO,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,GAAE;QAAE,MAAM,CAAC,EAAE,UAAU,CAAA;KAAO,GAAG,OAAO;IAUvF,qFAAqF;IACrF,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,GAAG,OAAO;CAmBhE"}
@@ -1 +1 @@
1
- {"version":3,"file":"Sketch.d.ts","sourceRoot":"","sources":["../../src/sketching/Sketch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAKnD,OAAO,EAAU,KAAK,IAAI,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEtE,OAAO,EAML,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAQ,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,OAAO,MAAO,YAAW,eAAe;IACpD,IAAI,EAAE,IAAI,CAAC;IACX;;OAEG;IACH,cAAc,EAAE,IAAI,CAAC;IACrB;;OAEG;IACH,iBAAiB,EAAE,IAAI,CAAC;IACxB,SAAS,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;gBAE3C,IAAI,EAAE,IAAI,EACV,EACE,aAAyB,EACzB,gBAA4B,GAC7B,GAAE;QACD,aAAa,CAAC,EAAE,UAAU,CAAC;QAC3B,gBAAgB,CAAC,EAAE,UAAU,CAAC;KAC1B;IAQR,IAAI,QAAQ,IAAI,IAAI,GAAG,IAAI,GAAG,SAAS,CAEtC;IAED,IAAI,QAAQ,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,EAG5C;IAED,wDAAwD;IACxD,MAAM,IAAI,IAAI;IAMd,sDAAsD;IACtD,KAAK,IAAI,MAAM;IASf,sEAAsE;IACtE,IAAI,aAAa,IAAI,IAAI,CAExB;IAED,sEAAsE;IACtE,IAAI,aAAa,CAAC,SAAS,EAAE,UAAU,EAEtC;IAED,kDAAkD;IAClD,IAAI,gBAAgB,IAAI,IAAI,CAE3B;IAED,kDAAkD;IAClD,IAAI,gBAAgB,CAAC,YAAY,EAAE,UAAU,EAE5C;IAED;;OAEG;IACH,IAAI,IAAI,IAAI;IAUZ,6CAA6C;IAC7C,KAAK,IAAI,IAAI;IAIb,qCAAqC;IACrC,KAAK,IAAI,IAAI;IAIb;;;OAGG;IACH,OAAO,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,GAAE;QAAE,MAAM,CAAC,EAAE,UAAU,CAAA;KAAO,GAAG,OAAO;IAQvF;;;;;;;;;OASG;IACH,OAAO,CACL,iBAAiB,EAAE,MAAM,EACzB,EACE,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,MAAM,GACP,GAAE;QACD,kBAAkB,CAAC,EAAE,UAAU,CAAC;QAChC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,UAAU,CAAC;KAChB,GACL,OAAO;IA6BV;;;OAGG;IACH,WAAW,CACT,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,KAAK,IAAI,EACnD,WAAW,GAAE,mBAAwB,GACpC,OAAO;IAwBV;;;;;;;;OAQG;IACH,QAAQ,CACN,aAAa,EAAE,IAAI,GAAG,IAAI,EAAE,EAC5B,UAAU,GAAE,WAAgB,EAC5B,WAAW,UAAQ,GAClB,OAAO;CAiBX"}
1
+ {"version":3,"file":"Sketch.d.ts","sourceRoot":"","sources":["../../src/sketching/Sketch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAKnD,OAAO,EAAU,KAAK,IAAI,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEtE,OAAO,EAML,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAQ,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAc,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAG7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,OAAO,MAAO,YAAW,eAAe;IACpD,IAAI,EAAE,IAAI,CAAC;IACX;;OAEG;IACH,cAAc,EAAE,IAAI,CAAC;IACrB;;OAEG;IACH,iBAAiB,EAAE,IAAI,CAAC;IACxB,SAAS,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;gBAE3C,IAAI,EAAE,IAAI,EACV,EACE,aAAyB,EACzB,gBAA4B,GAC7B,GAAE;QACD,aAAa,CAAC,EAAE,UAAU,CAAC;QAC3B,gBAAgB,CAAC,EAAE,UAAU,CAAC;KAC1B;IAQR,IAAI,QAAQ,IAAI,IAAI,GAAG,IAAI,GAAG,SAAS,CAEtC;IAED,IAAI,QAAQ,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,EAG5C;IAED,wDAAwD;IACxD,MAAM,IAAI,IAAI;IAMd,sDAAsD;IACtD,KAAK,IAAI,MAAM;IASf,sEAAsE;IACtE,IAAI,aAAa,IAAI,IAAI,CAExB;IAED,sEAAsE;IACtE,IAAI,aAAa,CAAC,SAAS,EAAE,UAAU,EAEtC;IAED,kDAAkD;IAClD,IAAI,gBAAgB,IAAI,IAAI,CAE3B;IAED,kDAAkD;IAClD,IAAI,gBAAgB,CAAC,YAAY,EAAE,UAAU,EAE5C;IAED;;OAEG;IACH,IAAI,IAAI,IAAI;IAYZ,6CAA6C;IAC7C,KAAK,IAAI,IAAI;IAIb,qCAAqC;IACrC,KAAK,IAAI,IAAI;IAIb;;;OAGG;IACH,OAAO,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,GAAE;QAAE,MAAM,CAAC,EAAE,UAAU,CAAA;KAAO,GAAG,OAAO;IAQvF;;;;;;;;;OASG;IACH,OAAO,CACL,iBAAiB,EAAE,MAAM,EACzB,EACE,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,MAAM,GACP,GAAE;QACD,kBAAkB,CAAC,EAAE,UAAU,CAAC;QAChC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,UAAU,CAAC;KAChB,GACL,OAAO;IA6BV;;;OAGG;IACH,WAAW,CACT,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,KAAK,IAAI,EACnD,WAAW,GAAE,mBAAwB,GACpC,OAAO;IAwBV;;;;;;;;OAQG;IACH,QAAQ,CACN,aAAa,EAAE,IAAI,GAAG,IAAI,EAAE,EAC5B,UAAU,GAAE,WAAgB,EAC5B,WAAW,UAAQ,GAClB,OAAO;CAiBX"}
@@ -1 +1 @@
1
- {"version":3,"file":"draw.d.ts","sourceRoot":"","sources":["../../src/sketching/draw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"draw.d.ts","sourceRoot":"","sources":["../../src/sketching/draw.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { PointInput } from '../core/types.js';
2
- import { Face, Shape3D, Wire } from '../core/shapeTypes.js';
2
+ import { OrientedFace, Shape3D, Wire } from '../core/shapeTypes.js';
3
3
  import { ExtrusionProfile, GenericSweepOptions } from '../operations/extrude.js';
4
4
  import { LoftOptions } from '../operations/loft.js';
5
5
  import { default as Sketch } from './Sketch.js';
@@ -64,7 +64,7 @@ export declare function sketchSweep(sketch: Sketch, sketchOnPlane: Parameters<Sk
64
64
  *
65
65
  * @see {@link Sketch.face} for the OOP equivalent.
66
66
  */
67
- export declare function sketchFace(sketch: Sketch): Face;
67
+ export declare function sketchFace(sketch: Sketch): OrientedFace;
68
68
  /**
69
69
  * Get a clone of the wire from a sketch.
70
70
  *
@@ -111,7 +111,7 @@ export declare function compoundSketchRevolve(sketch: CompoundSketch, revolution
111
111
  *
112
112
  * @see {@link CompoundSketch.face} for the OOP equivalent.
113
113
  */
114
- export declare function compoundSketchFace(sketch: CompoundSketch): Face;
114
+ export declare function compoundSketchFace(sketch: CompoundSketch): OrientedFace;
115
115
  /**
116
116
  * Loft between two compound sketches that have the same number of sub-sketches.
117
117
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sketchFns.d.ts","sourceRoot":"","sources":["../../src/sketching/sketchFns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AAMtD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE;IACP,kBAAkB,CAAC,EAAE,UAAU,CAAC;IAChC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,GACA,OAAO,CAET;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,UAAU,EAC3B,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,GAChC,OAAO,CAET;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,EAChC,UAAU,CAAC,EAAE,WAAW,EACxB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAET;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EACnD,WAAW,CAAC,EAAE,mBAAmB,GAChC,OAAO,CAET;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEhD;AAMD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE;IACP,kBAAkB,CAAC,EAAE,UAAU,CAAC;IAChC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,GACA,OAAO,CAET;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,cAAc,CAAC,EAAE,UAAU,EAC3B,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,GAChC,OAAO,CAET;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAE/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,cAAc,EACrB,UAAU,EAAE,WAAW,GACtB,OAAO,CAET"}
1
+ {"version":3,"file":"sketchFns.d.ts","sourceRoot":"","sources":["../../src/sketching/sketchFns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AAMtD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE;IACP,kBAAkB,CAAC,EAAE,UAAU,CAAC;IAChC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,GACA,OAAO,CAET;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,UAAU,EAC3B,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,GAChC,OAAO,CAET;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,EAChC,UAAU,CAAC,EAAE,WAAW,EACxB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAET;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EACnD,WAAW,CAAC,EAAE,mBAAmB,GAChC,OAAO,CAET;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAEvD;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEhD;AAMD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE;IACP,kBAAkB,CAAC,EAAE,UAAU,CAAC;IAChC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,GACA,OAAO,CAET;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,cAAc,CAAC,EAAE,UAAU,EAC3B,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,GAChC,OAAO,CAET;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,YAAY,CAEvE;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,cAAc,EACrB,UAAU,EAAE,WAAW,GACtB,OAAO,CAET"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const drawFns = require("./drawFns-D0Wg1cy7.cjs");
4
- const boolean2D = require("./boolean2D-DZxTrl9x.cjs");
3
+ const drawFns = require("./drawFns-B-r3aaqa.cjs");
4
+ const boolean2D = require("./boolean2D-Y4yATWl7.cjs");
5
5
  exports.CompoundSketch = drawFns.CompoundSketch;
6
6
  exports.Drawing = drawFns.Drawing;
7
7
  exports.DrawingPen = drawFns.DrawingPen;
package/dist/sketching.js CHANGED
@@ -1,5 +1,5 @@
1
- import { C, D, a, S, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, T, U, V, W } from "./drawFns-Ex_DyuI1.js";
2
- import { B as B2, a as a2, F as F2, S as S2 } from "./boolean2D-Gr-OYFsO.js";
1
+ import { C, D, a, S, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, T, U, V, W } from "./drawFns-c8p_xTP0.js";
2
+ import { B as B2, a as a2, F as F2, S as S2 } from "./boolean2D-DNKu6gA7.js";
3
3
  export {
4
4
  B2 as BaseSketcher2d,
5
5
  a2 as BlueprintSketcher,
@@ -1,6 +1,6 @@
1
- import { r as createWire, q as getKernel, s as createEdge, t as createFace, e as isFace } from "./shapeTypes-C1z8HWJf.js";
1
+ import { r as createWire, q as getKernel, s as createEdge, t as createFace, e as isFace } from "./shapeTypes-BkPK8XIl.js";
2
2
  import { o as ok, e as err, k as kernelError, x as validationError, a as andThen } from "./errors-lBwyc8YG.js";
3
- import { o as outerWire, c as cast } from "./faceFns-DKkW12_x.js";
3
+ import { o as outerWire, c as cast } from "./faceFns-Cz71BDro.js";
4
4
  function range(len) {
5
5
  return Array.from(Array(len).keys());
6
6
  }
@@ -121,7 +121,9 @@ function fill(face) {
121
121
  return makeFace(outer);
122
122
  }
123
123
  function makeNewFaceWithinFace(originFace, wire) {
124
- return createFace(getKernel().makeFaceOnSurface(originFace.wrapped, wire.wrapped));
124
+ return createFace(
125
+ getKernel().makeFaceOnSurface(originFace.wrapped, wire.wrapped)
126
+ );
125
127
  }
126
128
  function makeNonPlanarFace(wire) {
127
129
  try {
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- const shapeTypes = require("./shapeTypes-BxAzFSfl.cjs");
2
+ const shapeTypes = require("./shapeTypes-CHvr4HNj.cjs");
3
3
  const errors = require("./errors-DiTn5EoC.cjs");
4
- const faceFns = require("./faceFns-B10DQksf.cjs");
4
+ const faceFns = require("./faceFns-DVo4NiOl.cjs");
5
5
  function range(len) {
6
6
  return Array.from(Array(len).keys());
7
7
  }
@@ -122,7 +122,9 @@ function fill(face) {
122
122
  return makeFace(outer);
123
123
  }
124
124
  function makeNewFaceWithinFace(originFace, wire) {
125
- return shapeTypes.createFace(shapeTypes.getKernel().makeFaceOnSurface(originFace.wrapped, wire.wrapped));
125
+ return shapeTypes.createFace(
126
+ shapeTypes.getKernel().makeFaceOnSurface(originFace.wrapped, wire.wrapped)
127
+ );
126
128
  }
127
129
  function makeNonPlanarFace(wire) {
128
130
  try {
@@ -1,4 +1,4 @@
1
- import { AnyShape, Dimension, Edge, Face, Vertex, Wire } from '../core/shapeTypes.js';
1
+ import { AnyShape, ClosedWire, Dimension, Edge, Face, Vertex } from '../core/shapeTypes.js';
2
2
  /**
3
3
  * Get all faces adjacent to a given edge within a parent shape.
4
4
  *
@@ -19,10 +19,11 @@ export declare function facesOfEdge<D extends Dimension>(parent: AnyShape<D>, ed
19
19
  export declare function edgesOfFace<D extends Dimension>(face: Face<D>): Edge<D>[];
20
20
  /**
21
21
  * Get all wires of a face (outer wire + inner hole wires).
22
+ * All wires bounding a face are closed by definition.
22
23
  *
23
24
  * @param face - The face whose wires to enumerate.
24
25
  */
25
- export declare function wiresOfFace<D extends Dimension>(face: Face<D>): Wire<D>[];
26
+ export declare function wiresOfFace<D extends Dimension>(face: Face<D>): ClosedWire<D>[];
26
27
  /**
27
28
  * Get the start and end vertices of an edge.
28
29
  *
@@ -1 +1 @@
1
- {"version":3,"file":"adjacencyFns.d.ts","sourceRoot":"","sources":["../../src/topology/adjacencyFns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAgG3F;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAG9F;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAGzE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAGzE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAG9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAmDhG;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CA4B1F"}
1
+ {"version":3,"file":"adjacencyFns.d.ts","sourceRoot":"","sources":["../../src/topology/adjacencyFns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAgGjG;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAG9F;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAGzE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAG/E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAG9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAmDhG;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CA4B1F"}
@@ -1,4 +1,4 @@
1
- import { AnyShape, Dimension, Face, Shape3D } from '../core/shapeTypes.js';
1
+ import { AnyShape, Dimension, OrientedFace, Shape3D } from '../core/shapeTypes.js';
2
2
  import { Result } from '../core/result.js';
3
3
  import { PlaneInput } from '../core/planeTypes.js';
4
4
  import { BooleanOptions } from '../kernel/types.js';
@@ -91,7 +91,7 @@ export declare function section(shape: AnyShape<Dimension>, plane: PlaneInput, {
91
91
  export declare function sectionToFace(shape: AnyShape<Dimension>, plane: PlaneInput, options?: {
92
92
  approximation?: boolean;
93
93
  planeSize?: number;
94
- }): Result<Face>;
94
+ }): Result<OrientedFace>;
95
95
  /**
96
96
  * Split a shape with one or more tool shapes using BRepAlgoAPI_Splitter.
97
97
  * Returns all pieces from the split as a compound.
@@ -1 +1 @@
1
- {"version":3,"file":"booleanFns.d.ts","sourceRoot":"","sources":["../../src/topology/booleanFns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAQ,MAAM,uBAAuB,CAAC;AAEtF,OAAO,EAAE,KAAK,MAAM,EAAkB,MAAM,mBAAmB,CAAC;AAGhE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAkCxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,CAAC;AAyD/B;;;;;;;;;;;;;GAaG;AACH,wBAAgB,IAAI,CAClB,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,OAAO,EACV,EAAE,YAAqB,EAAE,QAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,GAAE,cAAmB,GACnF,MAAM,CAAC,OAAO,CAAC,CAqBjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,GAAG,CACjB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,OAAO,EACb,EAAE,YAAqB,EAAE,QAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,GAAE,cAAmB,GACnF,MAAM,CAAC,OAAO,CAAC,CAqBjB;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,OAAO,EACV,EAAE,QAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,GAAE,cAAmB,GAC5D,MAAM,CAAC,OAAO,CAAC,CAyBjB;AAiED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CACrB,MAAM,EAAE,OAAO,EAAE,EACjB,EACE,YAAqB,EACrB,QAAgB,EAChB,QAAmB,EACnB,MAAM,EACN,UAAU,GACX,GAAE,cAAmB,GACrB,MAAM,CAAC,OAAO,CAAC,CA0CjB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,OAAO,EAAE,EAChB,EAAE,YAAqB,EAAE,QAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,GAAE,cAAmB,GACnF,MAAM,CAAC,OAAO,CAAC,CAmCjB;AA2CD;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC1B,KAAK,EAAE,UAAU,EACjB,EAAE,aAAoB,EAAE,SAAe,EAAE,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9F,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAyB7B;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC1B,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5D,MAAM,CAAC,IAAI,CAAC,CAmGd;AAMD;;;GAGG;AACH,wBAAgB,KAAK,CACnB,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC1B,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,GAC3B,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAiC7B;AAMD;;;GAGG;AACH,wBAAgB,KAAK,CACnB,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC1B,MAAM,EAAE,UAAU,EAAE,EACpB,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5D,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAQ/B"}
1
+ {"version":3,"file":"booleanFns.d.ts","sourceRoot":"","sources":["../../src/topology/booleanFns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,QAAQ,EAER,SAAS,EACT,YAAY,EACZ,OAAO,EAER,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,KAAK,MAAM,EAAkB,MAAM,mBAAmB,CAAC;AAGhE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAkCxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,CAAC;AAyD/B;;;;;;;;;;;;;GAaG;AACH,wBAAgB,IAAI,CAClB,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,OAAO,EACV,EAAE,YAAqB,EAAE,QAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,GAAE,cAAmB,GACnF,MAAM,CAAC,OAAO,CAAC,CAqBjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,GAAG,CACjB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,OAAO,EACb,EAAE,YAAqB,EAAE,QAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,GAAE,cAAmB,GACnF,MAAM,CAAC,OAAO,CAAC,CAqBjB;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,OAAO,EACV,EAAE,QAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,GAAE,cAAmB,GAC5D,MAAM,CAAC,OAAO,CAAC,CAyBjB;AAiED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CACrB,MAAM,EAAE,OAAO,EAAE,EACjB,EACE,YAAqB,EACrB,QAAgB,EAChB,QAAmB,EACnB,MAAM,EACN,UAAU,GACX,GAAE,cAAmB,GACrB,MAAM,CAAC,OAAO,CAAC,CA0CjB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,OAAO,EAAE,EAChB,EAAE,YAAqB,EAAE,QAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,GAAE,cAAmB,GACnF,MAAM,CAAC,OAAO,CAAC,CAmCjB;AA2CD;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC1B,KAAK,EAAE,UAAU,EACjB,EAAE,aAAoB,EAAE,SAAe,EAAE,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9F,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAyB7B;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC1B,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5D,MAAM,CAAC,YAAY,CAAC,CAsGtB;AAMD;;;GAGG;AACH,wBAAgB,KAAK,CACnB,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC1B,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,GAC3B,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAiC7B;AAMD;;;GAGG;AACH,wBAAgB,KAAK,CACnB,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC1B,MAAM,EAAE,UAAU,EAAE,EACpB,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5D,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAQ/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"compoundOpsFns.d.ts","sourceRoot":"","sources":["../../src/topology/compoundOpsFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAQ,OAAO,EAAQ,MAAM,uBAAuB,CAAC;AAGjE,OAAO,KAAK,EACV,SAAS,EAGT,YAAY,EACZ,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,eAAe,CAAC;AAkEvB;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAsD9F;AAMD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAsBhG;AAMD;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAsB5F;AAMD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,OAAO,EAC1C,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,MAAM,CAAC,CAAC,CAAC,CAOX;AAMD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,OAAO,EAClD,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,OAAO,EAAE,yBAAyB,GACjC,MAAM,CAAC,CAAC,CAAC,CAoCX"}
1
+ {"version":3,"file":"compoundOpsFns.d.ts","sourceRoot":"","sources":["../../src/topology/compoundOpsFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAoB,OAAO,EAAQ,MAAM,uBAAuB,CAAC;AAG7E,OAAO,KAAK,EACV,SAAS,EAGT,YAAY,EACZ,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,eAAe,CAAC;AAkEvB;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAsD9F;AAMD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAsBhG;AAMD;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAsB5F;AAMD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,OAAO,EAC1C,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,MAAM,CAAC,CAAC,CAAC,CAOX;AAMD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,OAAO,EAClD,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,OAAO,EAAE,yBAAyB,GACjC,MAAM,CAAC,CAAC,CAAC,CAoCX"}
@@ -1,5 +1,5 @@
1
1
  import { Vec3, PointInput } from '../core/types.js';
2
- import { Face, Wire } from '../core/shapeTypes.js';
2
+ import { ClosedWire, Dimension, Face } from '../core/shapeTypes.js';
3
3
  import { Result } from '../core/result.js';
4
4
  /** String literal identifying the geometric type of a face's underlying surface. */
5
5
  export type SurfaceType = 'PLANE' | 'CYLINDRE' | 'CONE' | 'SPHERE' | 'TORUS' | 'BEZIER_SURFACE' | 'BSPLINE_SURFACE' | 'REVOLUTION_SURFACE' | 'EXTRUSION_SURFACE' | 'OFFSET_SURFACE' | 'OTHER_SURFACE';
@@ -61,8 +61,8 @@ export declare function faceCenter(face: Face): Vec3;
61
61
  * @returns 'in' if inside, 'on' if on the boundary, 'out' if outside
62
62
  */
63
63
  export declare function classifyPointOnFace(face: Face, point: PointInput, tolerance?: number): 'in' | 'on' | 'out';
64
- /** Get the outer wire of a face. Returns a new Wire. */
65
- export declare function outerWire(face: Face): Wire;
66
- /** Get the inner wires (holes) of a face. */
67
- export declare function innerWires(face: Face): Wire[];
64
+ /** Get the outer wire of a face. The outer boundary of a face is always closed. */
65
+ export declare function outerWire<D extends Dimension = '3D'>(face: Face<D>): ClosedWire<D>;
66
+ /** Get the inner wires (holes) of a face. Hole boundaries are always closed. */
67
+ export declare function innerWires<D extends Dimension = '3D'>(face: Face<D>): ClosedWire<D>[];
68
68
  //# sourceMappingURL=faceFns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"faceFns.d.ts","sourceRoot":"","sources":["../../src/topology/faceFns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,KAAK,MAAM,EAAmB,MAAM,mBAAmB,CAAC;AAQjE,oFAAoF;AACpF,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,UAAU,GACV,MAAM,GACN,QAAQ,GACR,OAAO,GACP,gBAAgB,GAChB,iBAAiB,GACjB,oBAAoB,GACpB,mBAAmB,GACnB,gBAAgB,GAChB,eAAe,CAAC;AAiBpB;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAG9D;AAED,8DAA8D;AAC9D,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAEpD;AAMD,iDAAiD;AACjD,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,UAAU,CAGlE;AAED,0DAA0D;AAC1D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAEpD;AAMD,qCAAqC;AACrC,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,6CAA6C;AAC7C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,CAE7C;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAKrE;AAED,6DAA6D;AAC7D,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAS7E;AAED,wDAAwD;AACxD,MAAM,WAAW,qBAAqB;IACpC,qCAAqC;IACrC,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAC,CA+B/F;AAED,8EAA8E;AAC9E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE,UAAU,GAAG,IAAI,CAarE;AAED,wCAAwC;AACxC,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAE3C;AAMD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,UAAU,EACjB,SAAS,SAAO,GACf,IAAI,GAAG,IAAI,GAAG,KAAK,CAGrB;AAMD,wDAAwD;AACxD,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAE1C;AAED,6CAA6C;AAC7C,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAO7C"}
1
+ {"version":3,"file":"faceFns.d.ts","sourceRoot":"","sources":["../../src/topology/faceFns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,KAAK,MAAM,EAAmB,MAAM,mBAAmB,CAAC;AAQjE,oFAAoF;AACpF,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,UAAU,GACV,MAAM,GACN,QAAQ,GACR,OAAO,GACP,gBAAgB,GAChB,iBAAiB,GACjB,oBAAoB,GACpB,mBAAmB,GACnB,gBAAgB,GAChB,eAAe,CAAC;AAiBpB;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAG9D;AAED,8DAA8D;AAC9D,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAEpD;AAMD,iDAAiD;AACjD,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,UAAU,CAGlE;AAED,0DAA0D;AAC1D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAEpD;AAMD,qCAAqC;AACrC,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,6CAA6C;AAC7C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,CAE7C;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAKrE;AAED,6DAA6D;AAC7D,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAS7E;AAED,wDAAwD;AACxD,MAAM,WAAW,qBAAqB;IACpC,qCAAqC;IACrC,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAC,CA+B/F;AAED,8EAA8E;AAC9E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE,UAAU,GAAG,IAAI,CAarE;AAED,wCAAwC;AACxC,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAE3C;AAMD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,UAAU,EACjB,SAAS,SAAO,GACf,IAAI,GAAG,IAAI,GAAG,KAAK,CAGrB;AAMD,mFAAmF;AACnF,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAElF;AAED,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAOrF"}