@faicad/faijs 0.17.0 → 0.18.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 (72) hide show
  1. package/dist/api/api-namespace.js +2 -2
  2. package/dist/api/api-namespace.js.map +1 -1
  3. package/dist/api/boolean.d.ts.map +1 -1
  4. package/dist/api/boolean.js +64 -26
  5. package/dist/api/boolean.js.map +1 -1
  6. package/dist/api/brep-mirror/booleanFns.d.ts.map +1 -1
  7. package/dist/api/brep-mirror/booleanFns.js +11 -6
  8. package/dist/api/brep-mirror/booleanFns.js.map +1 -1
  9. package/dist/api/brep-mirror/topologyFns.d.ts.map +1 -1
  10. package/dist/api/brep-mirror/topologyFns.js +4 -1
  11. package/dist/api/brep-mirror/topologyFns.js.map +1 -1
  12. package/dist/api/chamfer.d.ts +12 -8
  13. package/dist/api/chamfer.d.ts.map +1 -1
  14. package/dist/api/chamfer.js +52 -23
  15. package/dist/api/chamfer.js.map +1 -1
  16. package/dist/api/extrude.d.ts.map +1 -1
  17. package/dist/api/extrude.js +17 -2
  18. package/dist/api/extrude.js.map +1 -1
  19. package/dist/api/generated/operations.js +5 -5
  20. package/dist/api/generated/operations.js.map +1 -1
  21. package/dist/api/generated/script-face-manifest.js +12 -12
  22. package/dist/api/generated/script-face-manifest.js.map +1 -1
  23. package/dist/api/generated/sketching.js +1 -1
  24. package/dist/api/generated/sketching.js.map +1 -1
  25. package/dist/api/generated/topology.js +7 -7
  26. package/dist/api/generated/topology.js.map +1 -1
  27. package/dist/api/index.d.ts +2 -1
  28. package/dist/api/index.d.ts.map +1 -1
  29. package/dist/api/index.js +1 -1
  30. package/dist/api/index.js.map +1 -1
  31. package/dist/api/internal/profile-wire.d.ts +3 -3
  32. package/dist/api/internal/profile-wire.js +3 -3
  33. package/dist/api/internal/profile-wire.js.map +1 -1
  34. package/dist/api/loft.d.ts +3 -3
  35. package/dist/api/loft.js +3 -3
  36. package/dist/api/loft.js.map +1 -1
  37. package/dist/api/profile.d.ts +89 -0
  38. package/dist/api/profile.d.ts.map +1 -0
  39. package/dist/api/profile.js +194 -0
  40. package/dist/api/profile.js.map +1 -0
  41. package/dist/api/replicate.d.ts.map +1 -1
  42. package/dist/api/replicate.js +15 -14
  43. package/dist/api/replicate.js.map +1 -1
  44. package/dist/api/surface/arg-spec.d.ts.map +1 -1
  45. package/dist/api/surface/arg-spec.js +20 -15
  46. package/dist/api/surface/arg-spec.js.map +1 -1
  47. package/dist/api/sweep.d.ts +2 -2
  48. package/dist/api/sweep.js +2 -2
  49. package/dist/api/sweep.js.map +1 -1
  50. package/dist/api/thicken.d.ts +3 -3
  51. package/dist/api/thicken.js +3 -3
  52. package/dist/api/thicken.js.map +1 -1
  53. package/dist/brep/engine/adapters/brepkit.d.ts.map +1 -1
  54. package/dist/brep/engine/adapters/brepkit.js +28 -1
  55. package/dist/brep/engine/adapters/brepkit.js.map +1 -1
  56. package/dist/brep/engine/adapters/occt.d.ts.map +1 -1
  57. package/dist/brep/engine/adapters/occt.js +12 -0
  58. package/dist/brep/engine/adapters/occt.js.map +1 -1
  59. package/dist/brep/engine/types.d.ts +1 -1
  60. package/dist/brep/engine/types.d.ts.map +1 -1
  61. package/dist/brep/engine/types.js.map +1 -1
  62. package/dist/brepkit-kernel/brepkitKernel.d.ts.map +1 -1
  63. package/dist/brepkit-kernel/brepkitKernel.js +463 -91
  64. package/dist/brepkit-kernel/brepkitKernel.js.map +1 -1
  65. package/dist/brepkit-kernel/multi-version-test.d.ts +40 -0
  66. package/dist/brepkit-kernel/multi-version-test.d.ts.map +1 -0
  67. package/dist/brepkit-kernel/multi-version-test.js +89 -0
  68. package/dist/brepkit-kernel/multi-version-test.js.map +1 -0
  69. package/dist/lang/symbol-table.generated.d.ts +1 -1
  70. package/dist/lang/symbol-table.generated.js +1 -1
  71. package/dist/lang/symbol-table.generated.js.map +1 -1
  72. package/package.json +1 -1
@@ -1719,7 +1719,8 @@ export const ARG_SPEC = [
1719
1719
  naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },
1720
1720
  },
1721
1721
  {
1722
- name: 'drill', source: 'brep-mirror/compoundFns.ts#drillBrep', selfhost: true, kind: 'brep-op', engines: ['occt'], module: 'operations',
1722
+ name: 'drill', source: 'brep-mirror/compoundFns.ts#drillBrep', selfhost: true, kind: 'brep-op',
1723
+ capabilities: ["makeCylinder", "located", "getBoundingBox", "cut"], module: 'operations',
1723
1724
  geometryArgs: [0], reason: 'Shapeable<Shape3D> → Result<T>,brep-op',
1724
1725
  args: 'drill(shape: Shape, options: DrillOptions): Shape',
1725
1726
  params: ['shape', 'options'], formClass: 'A',
@@ -1727,7 +1728,8 @@ export const ARG_SPEC = [
1727
1728
  naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },
1728
1729
  },
1729
1730
  {
1730
- name: 'pocket', source: 'brep-mirror/compoundFns.ts#pocketBrep', selfhost: true, kind: 'brep-op', engines: ['occt'], module: 'operations',
1731
+ name: 'pocket', source: 'brep-mirror/compoundFns.ts#pocketBrep', selfhost: true, kind: 'brep-op',
1732
+ capabilities: ["getSubShapes", "surfaceCenterOfMass", "uvBounds", "surfaceNormal", "makeFace", "translate", "extrude", "cut"], module: 'operations',
1731
1733
  geometryArgs: [0], reason: 'Shapeable<Shape3D> → Result<T>,brep-op',
1732
1734
  args: 'pocket(shape: Shape, options: PocketOptions): Shape',
1733
1735
  params: ['shape', 'options'], formClass: 'A',
@@ -1735,7 +1737,8 @@ export const ARG_SPEC = [
1735
1737
  naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },
1736
1738
  },
1737
1739
  {
1738
- name: 'boss', source: 'brep-mirror/compoundFns.ts#bossBrep', selfhost: true, kind: 'brep-op', engines: ['occt'], module: 'operations',
1740
+ name: 'boss', source: 'brep-mirror/compoundFns.ts#bossBrep', selfhost: true, kind: 'brep-op',
1741
+ capabilities: ["getSubShapes", "surfaceCenterOfMass", "uvBounds", "surfaceNormal", "makeFace", "translate", "extrude", "fuse"], module: 'operations',
1739
1742
  geometryArgs: [0], reason: 'Shapeable<Shape3D> → Result<T>,brep-op',
1740
1743
  args: 'boss(shape: Shape, options: BossOptions): Shape',
1741
1744
  params: ['shape', 'options'], formClass: 'A',
@@ -1743,7 +1746,8 @@ export const ARG_SPEC = [
1743
1746
  naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },
1744
1747
  },
1745
1748
  {
1746
- name: 'mirrorJoin', source: 'brep-mirror/compoundFns.ts#mirrorJoinBrep', selfhost: true, kind: 'brep-op', engines: ['occt'], module: 'operations',
1749
+ name: 'mirrorJoin', source: 'brep-mirror/compoundFns.ts#mirrorJoinBrep', selfhost: true, kind: 'brep-op',
1750
+ capabilities: ["mirror", "fuse"], module: 'operations',
1747
1751
  geometryArgs: [0], reason: 'Shapeable<Shape3D> → Result<T>,brep-op',
1748
1752
  args: 'mirrorJoin(shape: Shape, options?: MirrorJoinOptions): Shape',
1749
1753
  params: ['shape', 'options'], formClass: 'A',
@@ -1767,7 +1771,7 @@ export const ARG_SPEC = [
1767
1771
  scriptFace: true,
1768
1772
  },
1769
1773
  {
1770
- name: 'convexHull', source: 'brep-mirror/hullFns.ts#convexHullBrep', selfhost: true, kind: 'brep-op', engines: ['occt'], module: 'operations',
1774
+ name: 'convexHull', source: 'brep-mirror/hullFns.ts#convexHullBrep', selfhost: true, kind: 'brep-op', capabilities: ['hullFromPoints'], module: 'operations',
1771
1775
  geometryArgs: [], reason: '点集构造 → Result(Solid),单产物,brep-op',
1772
1776
  args: 'convexHull(points: Vec3[]): Shape',
1773
1777
  params: ['points'], formClass: 'A',
@@ -2462,7 +2466,7 @@ export const ARG_SPEC = [
2462
2466
  },
2463
2467
  // 1 × brep-op(构造类:纯数值参数 → Shape3D,无几何输入)
2464
2468
  {
2465
- name: 'makeBaseBox', source: 'brep-mirror/primitiveFns.ts#makeBaseBoxBrep', selfhost: true, kind: 'brep-op', engines: ['occt'], module: 'sketching',
2469
+ name: 'makeBaseBox', source: 'brep-mirror/primitiveFns.ts#makeBaseBoxBrep', selfhost: true, kind: 'brep-op', capabilities: ['makeRectangle', 'extrude'], module: 'sketching',
2466
2470
  args: '(xLength: number, yLength: number, zLength: number) -> Shape3D',
2467
2471
  geometryArgs: [],
2468
2472
  returnsResult: false,
@@ -2745,7 +2749,7 @@ export const ARG_SPEC = [
2745
2749
  reason: 'overridden by handwritten api/primitives.ts (cone dual-op, mesh+brep)',
2746
2750
  },
2747
2751
  {
2748
- name: 'ellipsoid', source: 'brep-mirror/primitiveFns.ts#ellipsoidBrep', selfhost: true, kind: 'brep-op', engines: ['occt'],
2752
+ name: 'ellipsoid', source: 'brep-mirror/primitiveFns.ts#ellipsoidBrep', selfhost: true, kind: 'brep-op', capabilities: ['makeEllipsoid', 'translate'],
2749
2753
  geometryArgs: [], returnsResult: false,
2750
2754
  args: 'ellipsoid(rx: number, ry: number, rz: number, options?: EllipsoidOptions): Shape',
2751
2755
  reason: '纯数值整件构造(rx/ry/rz → ValidSolid),brep-op',
@@ -2844,7 +2848,7 @@ export const ARG_SPEC = [
2844
2848
  reason: 'faijs 同名 translate(§5.1 双形态:对象形态手写面覆盖 + v:Vec3 位置形态并入),生成层不重复投影',
2845
2849
  },
2846
2850
  {
2847
- name: 'rotate', source: 'brep-mirror/topologyFns.ts#rotateBrep', selfhost: true, kind: 'brep-op', engines: ['occt'],
2851
+ name: 'rotate', source: 'brep-mirror/topologyFns.ts#rotateBrep', selfhost: true, kind: 'brep-op', capabilities: ['transform'],
2848
2852
  geometryArgs: [0], returnsResult: false,
2849
2853
  args: 'rotate(shape: Shape, angle: number, options?: { at?, axis? }): Shape',
2850
2854
  reason: 'faijs rotate 已更名 rotate_euler(faijs 面只导出 rotate_euler),上游轴角 rotate 空出 → brep-op 进脚本面'
@@ -2860,7 +2864,7 @@ export const ARG_SPEC = [
2860
2864
  reason: 'overridden by handwritten api/transform.ts (scale dual-op, mesh+brep)',
2861
2865
  },
2862
2866
  {
2863
- name: 'mirror', source: 'brep-mirror/topologyFns.ts#mirrorBrep', selfhost: true, kind: 'brep-op', engines: ['occt'],
2867
+ name: 'mirror', source: 'brep-mirror/topologyFns.ts#mirrorBrep', selfhost: true, kind: 'brep-op', capabilities: ['mirror'],
2864
2868
  geometryArgs: [0], returnsResult: false,
2865
2869
  args: 'mirror(shape: Shape, options?: MirrorOptions): Shape',
2866
2870
  reason: 'faijs 无同名 mirror,整件反射 → brep-op',
@@ -2869,16 +2873,16 @@ export const ARG_SPEC = [
2869
2873
  naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },
2870
2874
  },
2871
2875
  {
2872
- name: 'clone', source: 'brep-mirror/topologyFns.ts#cloneBrep', selfhost: true, kind: 'brep-op', engines: ['occt'],
2876
+ name: 'clone', source: 'brep-mirror/topologyFns.ts#cloneBrep', selfhost: true, kind: 'brep-op', capabilities: ['copyShape'],
2873
2877
  geometryArgs: [0], returnsResult: true,
2874
2878
  args: 'clone(shape: Shape): Shape',
2875
- reason: 'faijs 用 copy(不同名),整件克隆(Result<T>)→ brep-op',
2879
+ reason: 'faijs 用 copy(不同名),整件克隆(Result<T>)→ brep-op;纯 copyShape 调用、无 occt 特有 API(2026-09-26 从 engines:[occt] 白名单降级为 copyShape 能力路由,brepkit 已声明 copyShape)',
2876
2880
  params: ['shape'], formClass: 'A',
2877
2881
  scriptFace: true,
2878
2882
  naming: { kind: 'identity' },
2879
2883
  },
2880
2884
  {
2881
- name: 'applyMatrix', source: 'brep-mirror/topologyFns.ts#applyMatrixBrep', selfhost: true, kind: 'brep-op', engines: ['occt'],
2885
+ name: 'applyMatrix', source: 'brep-mirror/topologyFns.ts#applyMatrixBrep', selfhost: true, kind: 'brep-op', capabilities: ['transform', 'generalTransform'],
2882
2886
  geometryArgs: [0], returnsResult: true,
2883
2887
  args: 'applyMatrix(shape: Shape, matrix: unknown): Shape',
2884
2888
  reason: 'faijs 用 applyTransform(不同名),整件矩阵变换 → brep-op',
@@ -2932,7 +2936,8 @@ export const ARG_SPEC = [
2932
2936
  + '(含 UI ops 与存量迁移)——生成期守卫见 gen-l3-surface.ts(§4.8 触发条件)。',
2933
2937
  },
2934
2938
  {
2935
- name: 'section', source: 'brep-mirror/booleanFns.ts#sectionBrep', selfhost: true, kind: 'brep-op', engines: ['occt'],
2939
+ name: 'section', source: 'brep-mirror/booleanFns.ts#sectionBrep', selfhost: true, kind: 'brep-op',
2940
+ capabilities: ["sectionByPlane", "makeCompound"],
2936
2941
  geometryArgs: [0], returnsResult: true,
2937
2942
  args: 'section(shape: Shape, plane: PlaneInput): Shape',
2938
2943
  params: ['shape', 'plane'], formClass: 'A',
@@ -2983,7 +2988,7 @@ export const ARG_SPEC = [
2983
2988
  },
2984
2989
  {
2985
2990
  name: 'thicken', source: 'topology/api.js#thicken', kind: 'skip',
2986
- reason: 'overridden by handwritten api/thicken.ts (平台 op engines:[occt]:入参取面/壳整件 Shape——cad.sketch 产物即天然面来源;内部借入喂 vendored thicken,不再要求子形状句柄)',
2991
+ reason: 'overridden by handwritten api/thicken.ts (平台 op engines:[occt]:入参取面/壳整件 Shape——cad.profile 产物即天然面来源;内部借入喂 vendored thicken,不再要求子形状句柄)',
2987
2992
  },
2988
2993
  {
2989
2994
  name: 'draft', source: 'topology/api.js#draft', kind: 'skip',
@@ -3325,7 +3330,7 @@ export const ARG_SPEC = [
3325
3330
  naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },
3326
3331
  },
3327
3332
  {
3328
- name: 'healSolid', source: 'brep-mirror/healingFns.ts#healSolidBrep', selfhost: true, kind: 'brep-op', engines: ['occt'],
3333
+ name: 'healSolid', source: 'brep-mirror/healingFns.ts#healSolidBrep', selfhost: true, kind: 'brep-op', capabilities: ['healSolid'],
3329
3334
  geometryArgs: [0], returnsResult: true,
3330
3335
  args: 'healSolid(solid: Shape): Shape',
3331
3336
  reason: 'Solid 修复(Result<ValidSolid>),brep-op',