brepjs 18.77.0 → 18.78.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.
Files changed (80) hide show
  1. package/dist/2d.cjs +6 -6
  2. package/dist/2d.js +6 -6
  3. package/dist/{blueprint-BE93BNYE.cjs → blueprint-B59GQsSD.cjs} +5 -5
  4. package/dist/{blueprint-BVe9JU-L.js → blueprint-BQmmwEKa.js} +5 -5
  5. package/dist/{blueprintFns-B_7kKwEZ.cjs → blueprintFns-C1kKA5qn.cjs} +2 -2
  6. package/dist/{blueprintFns-DWinspVK.js → blueprintFns-DSK1nrwo.js} +2 -2
  7. package/dist/{blueprintSketcher-D75tuXkF.cjs → blueprintSketcher-BJPBKhF3.cjs} +3 -3
  8. package/dist/{blueprintSketcher-DL-wgnVs.js → blueprintSketcher-EYqKWQh0.js} +3 -3
  9. package/dist/{boolean2D-C4Txi8U1.cjs → boolean2D-B1Di3Bpn.cjs} +4 -4
  10. package/dist/{boolean2D-OtHT7POp.js → boolean2D-COHH5tLX.js} +4 -4
  11. package/dist/brepjs.cjs +152 -151
  12. package/dist/brepjs.js +25 -25
  13. package/dist/{cameraFns-DCXqzH_m.js → cameraFns-BMrhkkOV.js} +2 -2
  14. package/dist/{cameraFns-DfSRnD1k.cjs → cameraFns-BZ_8L3gd.cjs} +2 -2
  15. package/dist/core.cjs +1 -1
  16. package/dist/core.js +1 -1
  17. package/dist/{cornerFinder-KuLU-4pQ.cjs → cornerFinder-Ey3oibK1.cjs} +1 -1
  18. package/dist/{cornerFinder-DPkLU1Of.js → cornerFinder-Fi7obttG.js} +1 -1
  19. package/dist/{curveFns-C0oCmjV2.cjs → curveFns-Ca59CNS0.cjs} +1 -1
  20. package/dist/{curveFns-B4KEYU1M.js → curveFns-CoD5E2Vl.js} +1 -1
  21. package/dist/{drawFns-DNokXs9U.cjs → drawFns-DTpCthM5.cjs} +12 -12
  22. package/dist/{drawFns-BBoTkSta.js → drawFns-D_LwehLr.js} +12 -12
  23. package/dist/{faceFns-p0lyVuyw.cjs → faceFns-0sI6cbHe.cjs} +2 -2
  24. package/dist/{faceFns-BJ2hzXJp.js → faceFns-Cuxdy-7R.js} +2 -2
  25. package/dist/{primitiveFns-ItlGYe3M.cjs → healingFns--PtL9j2K.cjs} +9 -466
  26. package/dist/{primitiveFns-DWIzRvTY.js → healingFns-Bm-NdBj_.js} +8 -303
  27. package/dist/{helpers-DTBDjbdR.cjs → helpers-B8mE35Fm.cjs} +6 -6
  28. package/dist/{helpers-C78MY-s6.js → helpers-CD8EMZ5l.js} +6 -6
  29. package/dist/{importFns-CUAiLgt_.cjs → importFns-BHEgzDLw.cjs} +2 -2
  30. package/dist/{importFns-Rv22QSn6.js → importFns-vnxBqXwv.js} +2 -2
  31. package/dist/index.d.ts +1 -0
  32. package/dist/io.cjs +2 -2
  33. package/dist/io.js +2 -2
  34. package/dist/kernel/occt/geometryQueryOps.d.ts +1 -1
  35. package/dist/{extrudeFns-CSWqlW-n.js → loftFns-CsHOwded.js} +93 -2
  36. package/dist/{extrudeFns-BJSW3EaV.cjs → loftFns-DiSsI2PM.cjs} +104 -1
  37. package/dist/{measureFns-C8c6xRUE.js → measureFns-CdcufPNp.js} +3 -3
  38. package/dist/{measureFns-DnxobCbD.cjs → measureFns-nF-OXcDV.cjs} +3 -3
  39. package/dist/measurement.cjs +1 -1
  40. package/dist/measurement.js +1 -1
  41. package/dist/{meshFns-CuYzpojl.js → meshFns-BCgtjlbs.js} +3 -3
  42. package/dist/{meshFns-BawS1xNA.cjs → meshFns-CnckZa6H.cjs} +3 -3
  43. package/dist/operations/threadFns.d.ts +39 -0
  44. package/dist/operations.cjs +33 -32
  45. package/dist/operations.d.ts +1 -0
  46. package/dist/operations.js +3 -3
  47. package/dist/{booleanFns-D7Xgt-Og.js → primitiveFns-BSKbI4Kl.js} +301 -7
  48. package/dist/{booleanFns-CFa3bgbG.cjs → primitiveFns-DEBQdEkG.cjs} +460 -4
  49. package/dist/projection.cjs +1 -1
  50. package/dist/projection.js +1 -1
  51. package/dist/query.cjs +2 -2
  52. package/dist/query.js +2 -2
  53. package/dist/{shapeFns-DZ6poxP7.js → shapeFns-BzlBMNRO.js} +2 -2
  54. package/dist/{shapeFns-D5WNrq3s.cjs → shapeFns-CecvqmYJ.cjs} +2 -2
  55. package/dist/shapeRef.cjs +1 -1
  56. package/dist/shapeRef.js +1 -1
  57. package/dist/{shapeRefFns-BOWP8n4j.cjs → shapeRefFns-BDACYYRr.cjs} +4 -4
  58. package/dist/{shapeRefFns-ClsyeZp4.js → shapeRefFns-CpRRMBKz.js} +4 -4
  59. package/dist/{shapeTypes-CxSqNvHA.cjs → shapeTypes-DWxL75W3.cjs} +4 -9
  60. package/dist/{shapeTypes-CyTY0prh.js → shapeTypes-DfQi9Kvk.js} +4 -9
  61. package/dist/sketching.cjs +3 -3
  62. package/dist/sketching.js +3 -3
  63. package/dist/{solidBuilders-BtEFUFQ9.js → solidBuilders-DnIrQYZd.js} +2 -2
  64. package/dist/{solidBuilders-diw2zyyN.cjs → solidBuilders-osLCTRG0.cjs} +2 -2
  65. package/dist/{surfaceBuilders-CPHOXRLE.cjs → surfaceBuilders-B8aVZamB.cjs} +2 -2
  66. package/dist/{surfaceBuilders-Do0rypyD.js → surfaceBuilders-hTXdNCYm.js} +2 -2
  67. package/dist/text.cjs +2 -2
  68. package/dist/text.js +2 -2
  69. package/dist/{textBlueprints-CYc0xi6l.js → textBlueprints-BpqDGwdx.js} +9 -99
  70. package/dist/{textBlueprints-D31dKTZS.cjs → textBlueprints-CI3k7Izc.cjs} +17 -119
  71. package/dist/{textMetrics-CjbXCzpg.cjs → textMetrics-C4RrG9jL.cjs} +1 -1
  72. package/dist/{textMetrics-DfxB-y9A.js → textMetrics-kFw-DE2w.js} +1 -1
  73. package/dist/{historyFns-Ck2tXVAL.js → threadFns-DGEyXFGP.js} +73 -6
  74. package/dist/{historyFns-4ggYGJB2.cjs → threadFns-a_C2wGGt.cjs} +79 -6
  75. package/dist/topology/booleanFns.d.ts +9 -1
  76. package/dist/topology.cjs +39 -39
  77. package/dist/topology.js +7 -7
  78. package/dist/{topologyQueryFns-BomrmBie.js → topologyQueryFns-CqjEReSt.js} +1 -1
  79. package/dist/{topologyQueryFns-Dzxrwn-E.cjs → topologyQueryFns-DfOxu8tG.cjs} +1 -1
  80. package/package.json +1 -1
@@ -1,12 +1,13 @@
1
- const require_shapeTypes = require("./shapeTypes-CxSqNvHA.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DWxL75W3.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-Dzxrwn-E.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-DfOxu8tG.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
6
6
  const require_planeOps = require("./planeOps-BA4HfgQu.cjs");
7
- const require_shapeFns = require("./shapeFns-D5WNrq3s.cjs");
7
+ const require_shapeFns = require("./shapeFns-CecvqmYJ.cjs");
8
8
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
9
- const require_surfaceBuilders = require("./surfaceBuilders-CPHOXRLE.cjs");
9
+ const require_surfaceBuilders = require("./surfaceBuilders-B8aVZamB.cjs");
10
+ const require_solidBuilders = require("./solidBuilders-osLCTRG0.cjs");
10
11
  //#region src/topology/booleanFns.ts
11
12
  /**
12
13
  * Boolean and compound operations — functional replacements for _3DShape boolean methods.
@@ -454,12 +455,347 @@ function booleanPipelineFallback(base, steps, options) {
454
455
  return require_errors.ok(current);
455
456
  }
456
457
  //#endregion
458
+ //#region src/topology/primitiveFns.ts
459
+ /**
460
+ * Create a box with the given dimensions.
461
+ *
462
+ * @param width - Size along X.
463
+ * @param depth - Size along Y.
464
+ * @param height - Size along Z.
465
+ */
466
+ function box(width, depth, height, options) {
467
+ const solid = require_shapeTypes.createSolid(require_shapeTypes.getKernel().makeBox(width, depth, height));
468
+ const center = options?.at ?? (options?.centered ? [
469
+ 0,
470
+ 0,
471
+ 0
472
+ ] : void 0);
473
+ if (center) return require_shapeFns.translate(solid, [
474
+ center[0] - width / 2,
475
+ center[1] - depth / 2,
476
+ center[2] - height / 2
477
+ ]);
478
+ return solid;
479
+ }
480
+ /**
481
+ * Create a cylinder with the given radius and height.
482
+ */
483
+ function cylinder(radius, height, options) {
484
+ const at = options?.at ?? [
485
+ 0,
486
+ 0,
487
+ 0
488
+ ];
489
+ const axis = options?.axis ?? [
490
+ 0,
491
+ 0,
492
+ 1
493
+ ];
494
+ let solid = require_solidBuilders.makeCylinder(radius, height, at, axis);
495
+ if (options?.centered) {
496
+ const halfShift = [
497
+ -axis[0] * height * .5,
498
+ -axis[1] * height * .5,
499
+ -axis[2] * height * .5
500
+ ];
501
+ solid = require_shapeFns.translate(solid, halfShift);
502
+ }
503
+ return solid;
504
+ }
505
+ /**
506
+ * Create a sphere with the given radius.
507
+ */
508
+ function sphere(radius, options) {
509
+ let solid = require_solidBuilders.makeSphere(radius);
510
+ if (options?.at) solid = require_shapeFns.translate(solid, options.at);
511
+ return solid;
512
+ }
513
+ /**
514
+ * Create a cone (or frustum) with the given radii and height.
515
+ *
516
+ * @param bottomRadius - Radius at the base.
517
+ * @param topRadius - Radius at the top (0 for a full cone).
518
+ * @param height - Height of the cone.
519
+ */
520
+ function cone(bottomRadius, topRadius, height, options) {
521
+ const at = options?.at ?? [
522
+ 0,
523
+ 0,
524
+ 0
525
+ ];
526
+ const axis = options?.axis ?? [
527
+ 0,
528
+ 0,
529
+ 1
530
+ ];
531
+ let solid = require_solidBuilders.makeCone(bottomRadius, topRadius, height, at, axis);
532
+ if (options?.centered) {
533
+ const halfShift = [
534
+ -axis[0] * height * .5,
535
+ -axis[1] * height * .5,
536
+ -axis[2] * height * .5
537
+ ];
538
+ solid = require_shapeFns.translate(solid, halfShift);
539
+ }
540
+ return solid;
541
+ }
542
+ /**
543
+ * Create a torus with the given major and minor radii.
544
+ */
545
+ function torus(majorRadius, minorRadius, options) {
546
+ return require_solidBuilders.makeTorus(majorRadius, minorRadius, options?.at ?? [
547
+ 0,
548
+ 0,
549
+ 0
550
+ ], options?.axis ?? [
551
+ 0,
552
+ 0,
553
+ 1
554
+ ]);
555
+ }
556
+ /**
557
+ * Create an ellipsoid with the given axis half-lengths.
558
+ *
559
+ * @param rx - Half-length along X.
560
+ * @param ry - Half-length along Y.
561
+ * @param rz - Half-length along Z.
562
+ */
563
+ function ellipsoid(rx, ry, rz, options) {
564
+ let solid = require_solidBuilders.makeEllipsoid(rx, ry, rz);
565
+ if (options?.at) solid = require_shapeFns.translate(solid, options.at);
566
+ return solid;
567
+ }
568
+ /** Create a straight edge between two 3D points. */
569
+ function line(from, to) {
570
+ return require_surfaceBuilders.makeLine(from, to);
571
+ }
572
+ /** Create a circular edge with the given radius. */
573
+ function circle(radius, options) {
574
+ const axisDir = options?.axis ?? [
575
+ 0,
576
+ 0,
577
+ 1
578
+ ];
579
+ return require_surfaceBuilders.makeCircle(radius, options?.at ?? [
580
+ 0,
581
+ 0,
582
+ 0
583
+ ], axisDir);
584
+ }
585
+ /**
586
+ * Create an elliptical edge.
587
+ *
588
+ * @returns An error if `minorRadius` exceeds `majorRadius`.
589
+ */
590
+ function ellipse(majorRadius, minorRadius, options) {
591
+ const axisDir = options?.axis ?? [
592
+ 0,
593
+ 0,
594
+ 1
595
+ ];
596
+ return require_surfaceBuilders.makeEllipse(majorRadius, minorRadius, options?.at ?? [
597
+ 0,
598
+ 0,
599
+ 0
600
+ ], axisDir, options?.xDir);
601
+ }
602
+ /**
603
+ * Create a helical wire.
604
+ *
605
+ * @param pitch - Vertical distance per full turn.
606
+ * @param height - Total height.
607
+ * @param radius - Helix radius.
608
+ */
609
+ function helix(pitch, height, radius, options) {
610
+ return require_surfaceBuilders.makeHelix(pitch, height, radius, options?.at ?? [
611
+ 0,
612
+ 0,
613
+ 0
614
+ ], options?.axis ?? [
615
+ 0,
616
+ 0,
617
+ 1
618
+ ], options?.lefthand ?? false);
619
+ }
620
+ /** Create a circular arc edge passing through three points. */
621
+ function threePointArc(p1, p2, p3) {
622
+ return require_surfaceBuilders.makeThreePointArc(p1, p2, p3);
623
+ }
624
+ /**
625
+ * Create an elliptical arc edge between two angles.
626
+ *
627
+ * All angles are in **degrees** (unlike the legacy `makeEllipseArc` which used radians).
628
+ *
629
+ * @param startAngle - Start angle in degrees.
630
+ * @param endAngle - End angle in degrees.
631
+ */
632
+ function ellipseArc(majorRadius, minorRadius, startAngle, endAngle, options) {
633
+ const axisDir = options?.axis ?? [
634
+ 0,
635
+ 0,
636
+ 1
637
+ ];
638
+ return require_surfaceBuilders.makeEllipseArc(majorRadius, minorRadius, startAngle * require_constants.DEG2RAD, endAngle * require_constants.DEG2RAD, options?.at ?? [
639
+ 0,
640
+ 0,
641
+ 0
642
+ ], axisDir, options?.xDir);
643
+ }
644
+ /**
645
+ * Create a B-spline edge that approximates a set of 3D points.
646
+ *
647
+ * @returns An error if the approximation algorithm fails.
648
+ */
649
+ function bsplineApprox(points, config) {
650
+ return require_surfaceBuilders.makeBSplineApproximation(points, config);
651
+ }
652
+ /**
653
+ * Create a Bezier curve edge from control points.
654
+ *
655
+ * @param points - Two or more control points.
656
+ */
657
+ function bezier(points) {
658
+ return require_surfaceBuilders.makeBezierCurve(points);
659
+ }
660
+ /**
661
+ * Create a circular arc edge tangent to a direction at the start point.
662
+ */
663
+ function tangentArc(startPoint, startTgt, endPoint) {
664
+ return require_surfaceBuilders.makeTangentArc(startPoint, startTgt, endPoint);
665
+ }
666
+ /**
667
+ * Assemble edges and/or wires into a single connected wire.
668
+ */
669
+ function wire(listOfEdges) {
670
+ return require_surfaceBuilders.assembleWire(listOfEdges);
671
+ }
672
+ /**
673
+ * Assemble edges into a wire and verify it forms a closed loop.
674
+ *
675
+ * Combines {@link wire} + the `closedWire` smart constructor in a single step.
676
+ * Returns an error if the edges cannot be assembled or the wire is not closed.
677
+ *
678
+ * @example
679
+ * ```ts
680
+ * const cw = unwrap(wireLoop([e1, e2, e3, e4]));
681
+ * const f = unwrap(face(cw)); // ClosedWire accepted directly
682
+ * ```
683
+ */
684
+ function wireLoop(listOfEdges) {
685
+ return require_errors.andThen(require_surfaceBuilders.assembleWire(listOfEdges), (w) => {
686
+ if (require_shapeTypes.isClosedWire(w)) return require_errors.ok(w);
687
+ return require_errors.err(require_errors.validationError("WIRE_NOT_CLOSED", "Assembled wire is not closed: start and end points do not coincide"));
688
+ });
689
+ }
690
+ /**
691
+ * Create a planar face from a closed wire, optionally with holes.
692
+ * The resulting face is always oriented (consistent normal direction).
693
+ */
694
+ function face(w, holes) {
695
+ return require_surfaceBuilders.makeFace(w, holes);
696
+ }
697
+ /**
698
+ * Create a non-planar face from a wire using surface filling.
699
+ * The resulting face is always oriented.
700
+ */
701
+ function filledFace(w) {
702
+ return require_surfaceBuilders.makeNonPlanarFace(w);
703
+ }
704
+ /**
705
+ * Create a face bounded by a wire on an existing face's surface.
706
+ * The resulting face inherits orientation from the origin face.
707
+ */
708
+ function subFace(originFace, w) {
709
+ return require_surfaceBuilders.makeNewFaceWithinFace(originFace, w);
710
+ }
711
+ /**
712
+ * Create a polygonal face from three or more coplanar points.
713
+ * The resulting face is always oriented.
714
+ */
715
+ function polygon(points) {
716
+ return require_surfaceBuilders.makePolygon(points);
717
+ }
718
+ /** Create a vertex at a 3D point. */
719
+ function vertex(point) {
720
+ return require_solidBuilders.makeVertex(point);
721
+ }
722
+ /**
723
+ * Build a compound from multiple shapes.
724
+ */
725
+ function compound(shapeArray) {
726
+ return require_solidBuilders.makeCompound(shapeArray);
727
+ }
728
+ /**
729
+ * Weld faces and shells into a single solid.
730
+ * The resulting solid is always validated.
731
+ */
732
+ function solid(facesOrShells) {
733
+ return require_solidBuilders.makeSolid(facesOrShells);
734
+ }
735
+ /**
736
+ * Create an offset shape from a face.
737
+ */
738
+ function offsetFace(f, distance, tolerance) {
739
+ return require_solidBuilders.makeOffset(f, distance, tolerance);
740
+ }
741
+ /**
742
+ * Weld faces and shells into a single shell.
743
+ */
744
+ function sewShells(facesOrShells, ignoreType) {
745
+ return require_solidBuilders.weldShellsAndFaces(facesOrShells, ignoreType);
746
+ }
747
+ function addHoles(f, holes) {
748
+ return require_surfaceBuilders.addHolesInFace(f, holes);
749
+ }
750
+ //#endregion
751
+ Object.defineProperty(exports, "addHoles", {
752
+ enumerable: true,
753
+ get: function() {
754
+ return addHoles;
755
+ }
756
+ });
757
+ Object.defineProperty(exports, "bezier", {
758
+ enumerable: true,
759
+ get: function() {
760
+ return bezier;
761
+ }
762
+ });
457
763
  Object.defineProperty(exports, "booleanPipeline", {
458
764
  enumerable: true,
459
765
  get: function() {
460
766
  return booleanPipeline;
461
767
  }
462
768
  });
769
+ Object.defineProperty(exports, "box", {
770
+ enumerable: true,
771
+ get: function() {
772
+ return box;
773
+ }
774
+ });
775
+ Object.defineProperty(exports, "bsplineApprox", {
776
+ enumerable: true,
777
+ get: function() {
778
+ return bsplineApprox;
779
+ }
780
+ });
781
+ Object.defineProperty(exports, "circle", {
782
+ enumerable: true,
783
+ get: function() {
784
+ return circle;
785
+ }
786
+ });
787
+ Object.defineProperty(exports, "compound", {
788
+ enumerable: true,
789
+ get: function() {
790
+ return compound;
791
+ }
792
+ });
793
+ Object.defineProperty(exports, "cone", {
794
+ enumerable: true,
795
+ get: function() {
796
+ return cone;
797
+ }
798
+ });
463
799
  Object.defineProperty(exports, "cut", {
464
800
  enumerable: true,
465
801
  get: function() {
@@ -472,6 +808,42 @@ Object.defineProperty(exports, "cutAll", {
472
808
  return cutAll;
473
809
  }
474
810
  });
811
+ Object.defineProperty(exports, "cylinder", {
812
+ enumerable: true,
813
+ get: function() {
814
+ return cylinder;
815
+ }
816
+ });
817
+ Object.defineProperty(exports, "ellipse", {
818
+ enumerable: true,
819
+ get: function() {
820
+ return ellipse;
821
+ }
822
+ });
823
+ Object.defineProperty(exports, "ellipseArc", {
824
+ enumerable: true,
825
+ get: function() {
826
+ return ellipseArc;
827
+ }
828
+ });
829
+ Object.defineProperty(exports, "ellipsoid", {
830
+ enumerable: true,
831
+ get: function() {
832
+ return ellipsoid;
833
+ }
834
+ });
835
+ Object.defineProperty(exports, "face", {
836
+ enumerable: true,
837
+ get: function() {
838
+ return face;
839
+ }
840
+ });
841
+ Object.defineProperty(exports, "filledFace", {
842
+ enumerable: true,
843
+ get: function() {
844
+ return filledFace;
845
+ }
846
+ });
475
847
  Object.defineProperty(exports, "fuse", {
476
848
  enumerable: true,
477
849
  get: function() {
@@ -484,12 +856,36 @@ Object.defineProperty(exports, "fuseAll", {
484
856
  return fuseAll;
485
857
  }
486
858
  });
859
+ Object.defineProperty(exports, "helix", {
860
+ enumerable: true,
861
+ get: function() {
862
+ return helix;
863
+ }
864
+ });
487
865
  Object.defineProperty(exports, "intersect", {
488
866
  enumerable: true,
489
867
  get: function() {
490
868
  return intersect;
491
869
  }
492
870
  });
871
+ Object.defineProperty(exports, "line", {
872
+ enumerable: true,
873
+ get: function() {
874
+ return line;
875
+ }
876
+ });
877
+ Object.defineProperty(exports, "offsetFace", {
878
+ enumerable: true,
879
+ get: function() {
880
+ return offsetFace;
881
+ }
882
+ });
883
+ Object.defineProperty(exports, "polygon", {
884
+ enumerable: true,
885
+ get: function() {
886
+ return polygon;
887
+ }
888
+ });
493
889
  Object.defineProperty(exports, "section", {
494
890
  enumerable: true,
495
891
  get: function() {
@@ -502,15 +898,75 @@ Object.defineProperty(exports, "sectionToFace", {
502
898
  return sectionToFace;
503
899
  }
504
900
  });
901
+ Object.defineProperty(exports, "sewShells", {
902
+ enumerable: true,
903
+ get: function() {
904
+ return sewShells;
905
+ }
906
+ });
505
907
  Object.defineProperty(exports, "slice", {
506
908
  enumerable: true,
507
909
  get: function() {
508
910
  return slice;
509
911
  }
510
912
  });
913
+ Object.defineProperty(exports, "solid", {
914
+ enumerable: true,
915
+ get: function() {
916
+ return solid;
917
+ }
918
+ });
919
+ Object.defineProperty(exports, "sphere", {
920
+ enumerable: true,
921
+ get: function() {
922
+ return sphere;
923
+ }
924
+ });
511
925
  Object.defineProperty(exports, "split", {
512
926
  enumerable: true,
513
927
  get: function() {
514
928
  return split;
515
929
  }
516
930
  });
931
+ Object.defineProperty(exports, "subFace", {
932
+ enumerable: true,
933
+ get: function() {
934
+ return subFace;
935
+ }
936
+ });
937
+ Object.defineProperty(exports, "tangentArc", {
938
+ enumerable: true,
939
+ get: function() {
940
+ return tangentArc;
941
+ }
942
+ });
943
+ Object.defineProperty(exports, "threePointArc", {
944
+ enumerable: true,
945
+ get: function() {
946
+ return threePointArc;
947
+ }
948
+ });
949
+ Object.defineProperty(exports, "torus", {
950
+ enumerable: true,
951
+ get: function() {
952
+ return torus;
953
+ }
954
+ });
955
+ Object.defineProperty(exports, "vertex", {
956
+ enumerable: true,
957
+ get: function() {
958
+ return vertex;
959
+ }
960
+ });
961
+ Object.defineProperty(exports, "wire", {
962
+ enumerable: true,
963
+ get: function() {
964
+ return wire;
965
+ }
966
+ });
967
+ Object.defineProperty(exports, "wireLoop", {
968
+ enumerable: true,
969
+ get: function() {
970
+ return wireLoop;
971
+ }
972
+ });
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_cameraFns = require("./cameraFns-DfSRnD1k.cjs");
2
+ const require_cameraFns = require("./cameraFns-BZ_8L3gd.cjs");
3
3
  exports.PROJECTION_PLANES = require_cameraFns.PROJECTION_PLANES;
4
4
  exports.cameraFromPlane = require_cameraFns.cameraFromPlane;
5
5
  exports.cameraLookAt = require_cameraFns.cameraLookAt;
@@ -1,2 +1,2 @@
1
- import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, o as PROJECTION_PLANES, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-DCXqzH_m.js";
1
+ import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, o as PROJECTION_PLANES, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-BMrhkkOV.js";
2
2
  export { PROJECTION_PLANES, cameraFromPlane, cameraLookAt, createCamera, isProjectionPlane, makeProjectedEdges, projectEdges };
package/dist/query.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_helpers = require("./helpers-DTBDjbdR.cjs");
3
- const require_cornerFinder = require("./cornerFinder-KuLU-4pQ.cjs");
2
+ const require_helpers = require("./helpers-B8mE35Fm.cjs");
3
+ const require_cornerFinder = require("./cornerFinder-Ey3oibK1.cjs");
4
4
  exports.cornerFinder = require_cornerFinder.cornerFinder;
5
5
  exports.edgeFinder = require_helpers.edgeFinder;
6
6
  exports.faceFinder = require_helpers.faceFinder;
package/dist/query.js CHANGED
@@ -1,3 +1,3 @@
1
- import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-C78MY-s6.js";
2
- import { t as cornerFinder } from "./cornerFinder-DPkLU1Of.js";
1
+ import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-CD8EMZ5l.js";
2
+ import { t as cornerFinder } from "./cornerFinder-Fi7obttG.js";
3
3
  export { cornerFinder, edgeFinder, faceFinder, getSingleFace };
@@ -1,6 +1,6 @@
1
- import { Z as getKernel, t as castShape } from "./shapeTypes-CyTY0prh.js";
1
+ import { Z as getKernel, t as castShape } from "./shapeTypes-DfQi9Kvk.js";
2
2
  import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
3
- import { C as kernelCall, c as getFaces, l as getOrCreateCache, r as getCacheEntry, w as kernelCallRaw } from "./topologyQueryFns-BomrmBie.js";
3
+ import { C as kernelCall, c as getFaces, l as getOrCreateCache, r as getCacheEntry, w as kernelCallRaw } from "./topologyQueryFns-CqjEReSt.js";
4
4
  import { n as HASH_CODE_MAX, t as DEG2RAD } from "./constants-ITRzCnCp.js";
5
5
  //#region src/topology/metadata/originTrackingFns.ts
6
6
  /**
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-CxSqNvHA.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DWxL75W3.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-Dzxrwn-E.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-DfOxu8tG.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  //#region src/topology/metadata/originTrackingFns.ts
6
6
  /**
package/dist/shapeRef.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_shapeRefFns = require("./shapeRefFns-BOWP8n4j.cjs");
2
+ const require_shapeRefFns = require("./shapeRefFns-BDACYYRr.cjs");
3
3
  exports.assignRoles = require_shapeRefFns.assignRoles;
4
4
  exports.captureHint = require_shapeRefFns.captureHint;
5
5
  exports.createRef = require_shapeRefFns.createRef;
package/dist/shapeRef.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-ClsyeZp4.js";
1
+ import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-CpRRMBKz.js";
2
2
  export { assignRoles, captureHint, createRef, defaultScorer, resolveRef, updateRoles };
@@ -1,8 +1,8 @@
1
1
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
2
- const require_topologyQueryFns = require("./topologyQueryFns-Dzxrwn-E.cjs");
3
- const require_faceFns = require("./faceFns-p0lyVuyw.cjs");
4
- const require_shapeFns = require("./shapeFns-D5WNrq3s.cjs");
5
- const require_measureFns = require("./measureFns-DnxobCbD.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-DfOxu8tG.cjs");
3
+ const require_faceFns = require("./faceFns-0sI6cbHe.cjs");
4
+ const require_shapeFns = require("./shapeFns-CecvqmYJ.cjs");
5
+ const require_measureFns = require("./measureFns-nF-OXcDV.cjs");
6
6
  //#region src/topology/shapeRef/scoring.ts
7
7
  /**
8
8
  * Default face scorer combining surface type, normal alignment, centroid proximity,
@@ -1,8 +1,8 @@
1
1
  import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
2
- import { c as getFaces } from "./topologyQueryFns-BomrmBie.js";
3
- import { i as faceGeomType, l as normalAt, r as faceCenter } from "./faceFns-BJ2hzXJp.js";
4
- import { n as getHashCode } from "./shapeFns-DZ6poxP7.js";
5
- import { n as measureArea } from "./measureFns-C8c6xRUE.js";
2
+ import { c as getFaces } from "./topologyQueryFns-CqjEReSt.js";
3
+ import { i as faceGeomType, l as normalAt, r as faceCenter } from "./faceFns-Cuxdy-7R.js";
4
+ import { n as getHashCode } from "./shapeFns-BzlBMNRO.js";
5
+ import { n as measureArea } from "./measureFns-CdcufPNp.js";
6
6
  //#region src/topology/shapeRef/scoring.ts
7
7
  /**
8
8
  * Default face scorer combining surface type, normal alignment, centroid proximity,
@@ -2870,20 +2870,15 @@ function createCurveAdaptor$1(oc, shape) {
2870
2870
  return shape.ShapeType() === oc.TopAbs_ShapeEnum.TopAbs_WIRE ? new oc.BRepAdaptor_CompCurve_2(shape, false) : new oc.BRepAdaptor_Curve_2(shape);
2871
2871
  }
2872
2872
  /** Extract cylinder data from a surface handle. Returns null if not a cylinder. */
2873
- function getSurfaceCylinderData$1(oc, surface) {
2874
- const adaptor = new oc.GeomAdaptor_Surface_2(surface);
2875
- const typeVal = adaptor.GetType();
2876
- if ((typeof typeVal === "number" ? typeVal : Number(typeVal?.value ?? typeVal)) !== 1) {
2877
- adaptor.delete();
2878
- return null;
2879
- }
2880
- const cyl = adaptor.Cylinder();
2873
+ function getSurfaceCylinderData$1(_oc, surface) {
2874
+ const geom = surface.get();
2875
+ if (typeof geom.Cylinder !== "function") return null;
2876
+ const cyl = geom.Cylinder();
2881
2877
  const result = {
2882
2878
  radius: cyl.Radius(),
2883
2879
  isDirect: cyl.Direct()
2884
2880
  };
2885
2881
  cyl.delete();
2886
- adaptor.delete();
2887
2882
  return result;
2888
2883
  }
2889
2884
  /**
@@ -2870,20 +2870,15 @@ function createCurveAdaptor$1(oc, shape) {
2870
2870
  return shape.ShapeType() === oc.TopAbs_ShapeEnum.TopAbs_WIRE ? new oc.BRepAdaptor_CompCurve_2(shape, false) : new oc.BRepAdaptor_Curve_2(shape);
2871
2871
  }
2872
2872
  /** Extract cylinder data from a surface handle. Returns null if not a cylinder. */
2873
- function getSurfaceCylinderData$1(oc, surface) {
2874
- const adaptor = new oc.GeomAdaptor_Surface_2(surface);
2875
- const typeVal = adaptor.GetType();
2876
- if ((typeof typeVal === "number" ? typeVal : Number(typeVal?.value ?? typeVal)) !== 1) {
2877
- adaptor.delete();
2878
- return null;
2879
- }
2880
- const cyl = adaptor.Cylinder();
2873
+ function getSurfaceCylinderData$1(_oc, surface) {
2874
+ const geom = surface.get();
2875
+ if (typeof geom.Cylinder !== "function") return null;
2876
+ const cyl = geom.Cylinder();
2881
2877
  const result = {
2882
2878
  radius: cyl.Radius(),
2883
2879
  isDirect: cyl.Direct()
2884
2880
  };
2885
2881
  cyl.delete();
2886
- adaptor.delete();
2887
2882
  return result;
2888
2883
  }
2889
2884
  /**
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_textBlueprints = require("./textBlueprints-D31dKTZS.cjs");
3
- const require_blueprintSketcher = require("./blueprintSketcher-D75tuXkF.cjs");
4
- const require_drawFns = require("./drawFns-DNokXs9U.cjs");
2
+ const require_textBlueprints = require("./textBlueprints-CI3k7Izc.cjs");
3
+ const require_blueprintSketcher = require("./blueprintSketcher-BJPBKhF3.cjs");
4
+ const require_drawFns = require("./drawFns-DTpCthM5.cjs");
5
5
  //#region src/sketching.ts
6
6
  /**
7
7
  * brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.
package/dist/sketching.js CHANGED
@@ -1,6 +1,6 @@
1
- import { n as BaseSketcher2d, t as BlueprintSketcher } from "./blueprintSketcher-DL-wgnVs.js";
2
- import { A as sketchEllipse, C as DrawingPen, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, T as Drawing, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-BBoTkSta.js";
3
- import { a as Sketch, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, o as compoundSketchExtrude, p as sketchRevolve, s as compoundSketchFace, u as sketchExtrude, v as CompoundSketch } from "./textBlueprints-CYc0xi6l.js";
1
+ import { n as BaseSketcher2d, t as BlueprintSketcher } from "./blueprintSketcher-EYqKWQh0.js";
2
+ import { A as sketchEllipse, C as DrawingPen, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, T as Drawing, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-D_LwehLr.js";
3
+ import { a as Sketch, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, o as compoundSketchExtrude, p as sketchRevolve, s as compoundSketchFace, u as sketchExtrude, v as CompoundSketch } from "./textBlueprints-BpqDGwdx.js";
4
4
  //#region src/sketching.ts
5
5
  /**
6
6
  * brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.