okgeometry-api 0.2.11 → 0.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Circle.d.ts CHANGED
@@ -2,12 +2,23 @@ import { Point } from "./Point.js";
2
2
  import { Vec3 } from "./Vec3.js";
3
3
  import { Mesh } from "./Mesh.js";
4
4
  import { Polygon } from "./Polygon.js";
5
- import type { Plane } from "./Plane.js";
5
+ import { Plane } from "./Plane.js";
6
6
  export declare class Circle {
7
7
  readonly center: Point;
8
8
  readonly radius: number;
9
9
  readonly normal: Vec3;
10
- constructor(center: Point, radius: number, normal?: Vec3);
10
+ /** Optional reference direction defining the u-axis in the circle's plane.
11
+ * This controls where t=0 starts on the circle and is critical for
12
+ * sweep operations to maintain consistent profile orientation. */
13
+ readonly uAxis?: Vec3 | undefined;
14
+ constructor(center: Point, radius: number, normal?: Vec3,
15
+ /** Optional reference direction defining the u-axis in the circle's plane.
16
+ * This controls where t=0 starts on the circle and is critical for
17
+ * sweep operations to maintain consistent profile orientation. */
18
+ uAxis?: Vec3 | undefined);
19
+ /** Create a Circle from a Plane, automatically using the plane's xAxis
20
+ * as the circle's uAxis for consistent orientation in sweep operations. */
21
+ static fromPlane(plane: Plane, radius: number): Circle;
11
22
  pointAt(t: number): Point;
12
23
  length(): number;
13
24
  sample(n: number): Point[];
@@ -1 +1 @@
1
- {"version":3,"file":"Circle.d.ts","sourceRoot":"","sources":["../src/Circle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGxC,qBAAa,MAAM;aAEC,MAAM,EAAE,KAAK;aACb,MAAM,EAAE,MAAM;aACd,MAAM,EAAE,IAAI;gBAFZ,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,IAAa;IAGvC,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK;IAUzB,MAAM,IAAI,MAAM;IAKhB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE;IAc1B,SAAS,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM;IAI/B,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAQpE,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAIhC,4FAA4F;IAC5F,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,SAAK,GAAG,OAAO;IAMvE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,SAAK,EAAE,IAAI,UAAO,GAAG,IAAI;CAW3D"}
1
+ {"version":3,"file":"Circle.d.ts","sourceRoot":"","sources":["../src/Circle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,qBAAa,MAAM;aAEC,MAAM,EAAE,KAAK;aACb,MAAM,EAAE,MAAM;aACd,MAAM,EAAE,IAAI;IAC5B;;uEAEmE;aACnD,KAAK,CAAC,EAAE,IAAI;gBANZ,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,IAAa;IACrC;;uEAEmE;IACnD,KAAK,CAAC,EAAE,IAAI,YAAA;IAG9B;gFAC4E;IAC5E,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAItD,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK;IAUzB,MAAM,IAAI,MAAM;IAKhB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE;IAc1B,SAAS,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM;IAI/B,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAcpE,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAIhC,4FAA4F;IAC5F,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,SAAK,GAAG,OAAO;IAMvE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,SAAK,EAAE,IAAI,UAAO,GAAG,IAAI;CAW3D"}
package/dist/Circle.js CHANGED
@@ -5,10 +5,20 @@ import { Mesh } from "./Mesh.js";
5
5
  import { Polygon } from "./Polygon.js";
6
6
  import * as wasm from "../wasm/okgeometrycore_bg.js";
7
7
  export class Circle {
8
- constructor(center, radius, normal = Vec3.Z) {
8
+ constructor(center, radius, normal = Vec3.Z,
9
+ /** Optional reference direction defining the u-axis in the circle's plane.
10
+ * This controls where t=0 starts on the circle and is critical for
11
+ * sweep operations to maintain consistent profile orientation. */
12
+ uAxis) {
9
13
  this.center = center;
10
14
  this.radius = radius;
11
15
  this.normal = normal;
16
+ this.uAxis = uAxis;
17
+ }
18
+ /** Create a Circle from a Plane, automatically using the plane's xAxis
19
+ * as the circle's uAxis for consistent orientation in sweep operations. */
20
+ static fromPlane(plane, radius) {
21
+ return new Circle(plane.origin, radius, plane.normal, plane.getXAxis());
12
22
  }
13
23
  pointAt(t) {
14
24
  ensureInit();
@@ -29,17 +39,23 @@ export class Circle {
29
39
  return pts;
30
40
  }
31
41
  translate(offset) {
32
- return new Circle(this.center.add(offset), this.radius, this.normal);
42
+ return new Circle(this.center.add(offset), this.radius, this.normal, this.uAxis);
33
43
  }
34
44
  rotate(axis, angle) {
35
45
  const n = this.normal;
36
46
  // Normal is a direction — always rotate around origin regardless of axis type
37
47
  const dirAxis = 'start' in axis ? new Vec3(axis.end.x - axis.start.x, axis.end.y - axis.start.y, axis.end.z - axis.start.z) : axis;
38
48
  const rn = new Point(n.x, n.y, n.z).rotate(dirAxis, angle);
39
- return new Circle(this.center.rotate(axis, angle), this.radius, new Vec3(rn.x, rn.y, rn.z));
49
+ // Also rotate the uAxis if present
50
+ let rotatedUAxis;
51
+ if (this.uAxis) {
52
+ const ru = new Point(this.uAxis.x, this.uAxis.y, this.uAxis.z).rotate(dirAxis, angle);
53
+ rotatedUAxis = new Vec3(ru.x, ru.y, ru.z);
54
+ }
55
+ return new Circle(this.center.rotate(axis, angle), this.radius, new Vec3(rn.x, rn.y, rn.z), rotatedUAxis);
40
56
  }
41
57
  offset(distance) {
42
- return new Circle(this.center, this.radius + distance, this.normal);
58
+ return new Circle(this.center, this.radius + distance, this.normal, this.uAxis);
43
59
  }
44
60
  /** Project onto plane. Returns a Polygon because a tilted circle projects to an ellipse. */
45
61
  projectOntoPlane(plane, direction, samples = 64) {
@@ -1 +1 @@
1
- {"version":3,"file":"Circle.js","sourceRoot":"","sources":["../src/Circle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAErD,MAAM,OAAO,MAAM;IACjB,YACkB,MAAa,EACb,MAAc,EACd,SAAe,IAAI,CAAC,CAAC;QAFrB,WAAM,GAAN,MAAM,CAAO;QACb,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAe;IACpC,CAAC;IAEJ,OAAO,CAAC,CAAS;QACf,UAAU,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAC5B,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAC3C,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAC3C,IAAI,CAAC,MAAM,EAAE,CAAC,CACf,CAAC;QACF,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,MAAM;QACJ,UAAU,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,CAAS;QACd,UAAU,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAC5B,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAC3C,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAC3C,IAAI,CAAC,MAAM,EAAE,CAAC,CACf,CAAC;QACF,MAAM,GAAG,GAAY,EAAE,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,SAAS,CAAC,MAAY;QACpB,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,CAAC,IAAqC,EAAE,KAAa;QACzD,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,8EAA8E;QAC9E,MAAM,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnI,MAAM,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3D,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,CAAC,QAAgB;QACrB,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACtE,CAAC;IAED,4FAA4F;IAC5F,gBAAgB,CAAC,KAAY,EAAE,SAAgB,EAAE,OAAO,GAAG,EAAE;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,CAAC,CAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9G,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,CAAC,SAAe,EAAE,QAAQ,GAAG,EAAE,EAAE,IAAI,GAAG,IAAI;QACjD,UAAU,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAC7B,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAC3C,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAC3C,IAAI,CAAC,MAAM,EACX,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EACrC,QAAQ,EAAE,IAAI,CACf,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;CACF"}
1
+ {"version":3,"file":"Circle.js","sourceRoot":"","sources":["../src/Circle.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Mesh.d.ts","sourceRoot":"","sources":["../src/Mesh.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,gDAAgD;AAChD,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,MAAM,GAAG,GAAG,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;AAE/F;;;GAGG;AACH,qBAAa,IAAI;IACf,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,YAAY,CAAS;IAG7B,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,MAAM,CAA2B;IAEzC,OAAO;IAOP,+CAA+C;IAC/C,IAAI,cAAc,IAAI,YAAY,CASjC;IAED,0DAA0D;IAC1D,IAAI,WAAW,IAAI,WAAW,CAU7B;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAID,IAAI,QAAQ,IAAI,KAAK,EAAE,CAUtB;IAED,IAAI,KAAK,IAAI,MAAM,EAAE,EAAE,CAUtB;IAED,8DAA8D;IAC9D,IAAI,SAAS,IAAI,YAAY,CAE5B;IAID,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAI7C,8EAA8E;IAC9E,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI;IAgB1C,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKpE,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1E,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK7E,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKvE,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKzE,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKvC,MAAM,CAAC,WAAW,CAChB,OAAO,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,KAAK,CAAC;QAAC,MAAM,CAAC,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,EAC/F,QAAQ,EAAE,MAAM,EAChB,IAAI,UAAQ,GACX,IAAI;IAiBP,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,UAAQ,GAAG,IAAI;IAahF,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,UAAQ,GAAG,IAAI;IAiB7E;mFAC+E;IAC/E,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,SAAK,EAAE,IAAI,UAAQ,GAAG,IAAI;IAOpG;;gDAE4C;IAC5C,OAAO,CAAC,MAAM,CAAC,WAAW;IAsE1B,SAAS,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI;IAK7B,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAYzE,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK3B,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAOlD,KAAK,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAOxB,QAAQ,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAO3B,SAAS,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAS5B,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,EAAE;IAaxC,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,QAAQ,EAAE;IAWtC,6EAA6E;IAC7E,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAKnC,sDAAsD;IACtD,iBAAiB,IAAI,QAAQ,EAAE;IAQ/B,KAAK,IAAI,MAAM;CAIhB"}
1
+ {"version":3,"file":"Mesh.d.ts","sourceRoot":"","sources":["../src/Mesh.ts"],"names":[],"mappings":"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"}
package/dist/Mesh.js CHANGED
@@ -190,10 +190,20 @@ export class Mesh {
190
190
  curve.end.x, curve.end.y, curve.end.z]);
191
191
  }
192
192
  if (curve instanceof Circle) {
193
- return new Float64Array([1,
194
- curve.center.x, curve.center.y, curve.center.z,
195
- curve.normal.x, curve.normal.y, curve.normal.z,
196
- curve.radius]);
193
+ // Include uAxis if present (11 floats), otherwise just 8
194
+ if (curve.uAxis) {
195
+ return new Float64Array([1,
196
+ curve.center.x, curve.center.y, curve.center.z,
197
+ curve.normal.x, curve.normal.y, curve.normal.z,
198
+ curve.radius,
199
+ curve.uAxis.x, curve.uAxis.y, curve.uAxis.z]);
200
+ }
201
+ else {
202
+ return new Float64Array([1,
203
+ curve.center.x, curve.center.y, curve.center.z,
204
+ curve.normal.x, curve.normal.y, curve.normal.z,
205
+ curve.radius]);
206
+ }
197
207
  }
198
208
  if (curve instanceof Arc) {
199
209
  return new Float64Array([2,
package/dist/Mesh.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Mesh.js","sourceRoot":"","sources":["../src/Mesh.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Mesh.js","sourceRoot":"","sources":["../src/Mesh.ts"],"names":[],"mappings":"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"}
package/dist/Plane.d.ts CHANGED
@@ -3,7 +3,12 @@ import { Vec3 } from "./Vec3.js";
3
3
  export declare class Plane {
4
4
  readonly origin: Point;
5
5
  readonly normal: Vec3;
6
- constructor(origin: Point, normal: Vec3);
6
+ /** Optional X-axis direction in the plane (for consistent orientation) */
7
+ readonly xAxis?: Vec3;
8
+ constructor(origin: Point, normal: Vec3, xAxis?: Vec3);
9
+ /** Get the X-axis direction in the plane.
10
+ * If not explicitly set, computes one using a heuristic. */
11
+ getXAxis(): Vec3;
7
12
  /** Signed distance from point to plane (positive = same side as normal) */
8
13
  distanceTo(point: Point): number;
9
14
  /** Project a point onto this plane (orthogonal to plane normal) */
@@ -1 +1 @@
1
- {"version":3,"file":"Plane.d.ts","sourceRoot":"","sources":["../src/Plane.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,qBAAa,KAAK;IAChB,SAAgB,MAAM,EAAE,KAAK,CAAC;IAC9B,SAAgB,MAAM,EAAE,IAAI,CAAC;gBAEjB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI;IAKvC,2EAA2E;IAC3E,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAQhC,mEAAmE;IACnE,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;IASjC;qFACiF;IACjF,0BAA0B,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,GAAG,KAAK;IAkBhE,8CAA8C;IAC9C,IAAI,CAAC,IAAI,MAAM,CAEd;IAED;uCACmC;IACnC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK;IAO1C,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAmC;IACrD,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAmC;IACrD,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAmC;CACtD"}
1
+ {"version":3,"file":"Plane.d.ts","sourceRoot":"","sources":["../src/Plane.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,qBAAa,KAAK;IAChB,SAAgB,MAAM,EAAE,KAAK,CAAC;IAC9B,SAAgB,MAAM,EAAE,IAAI,CAAC;IAC7B,0EAA0E;IAC1E,SAAgB,KAAK,CAAC,EAAE,IAAI,CAAC;gBAEjB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI;IAmBrD;iEAC6D;IAC7D,QAAQ,IAAI,IAAI;IAmBhB,2EAA2E;IAC3E,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAQhC,mEAAmE;IACnE,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;IASjC;qFACiF;IACjF,0BAA0B,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,GAAG,KAAK;IAkBhE,8CAA8C;IAC9C,IAAI,CAAC,IAAI,MAAM,CAEd;IAED;uCACmC;IACnC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK;IAO1C,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAmC;IACrD,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAmC;IACrD,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAmC;CACtD"}
package/dist/Plane.js CHANGED
@@ -1,9 +1,37 @@
1
1
  import { Point } from "./Point.js";
2
2
  import { Vec3 } from "./Vec3.js";
3
3
  export class Plane {
4
- constructor(origin, normal) {
4
+ constructor(origin, normal, xAxis) {
5
5
  this.origin = origin;
6
6
  this.normal = normal.normalize();
7
+ // Store xAxis if provided (should be perpendicular to normal)
8
+ if (xAxis) {
9
+ // Project xAxis onto plane and normalize
10
+ const dot = xAxis.dot(this.normal);
11
+ const projected = new Vec3(xAxis.x - this.normal.x * dot, xAxis.y - this.normal.y * dot, xAxis.z - this.normal.z * dot);
12
+ const len = Math.sqrt(projected.x ** 2 + projected.y ** 2 + projected.z ** 2);
13
+ if (len > 1e-10) {
14
+ this.xAxis = new Vec3(projected.x / len, projected.y / len, projected.z / len);
15
+ }
16
+ }
17
+ }
18
+ /** Get the X-axis direction in the plane.
19
+ * If not explicitly set, computes one using a heuristic. */
20
+ getXAxis() {
21
+ if (this.xAxis)
22
+ return this.xAxis;
23
+ // Heuristic: cross normal with world X or Y
24
+ const n = this.normal;
25
+ let ref;
26
+ if (Math.abs(n.x) > 0.9) {
27
+ ref = Vec3.Y;
28
+ }
29
+ else {
30
+ ref = Vec3.X;
31
+ }
32
+ const cross = new Vec3(n.y * ref.z - n.z * ref.y, n.z * ref.x - n.x * ref.z, n.x * ref.y - n.y * ref.x);
33
+ const len = Math.sqrt(cross.x ** 2 + cross.y ** 2 + cross.z ** 2);
34
+ return new Vec3(cross.x / len, cross.y / len, cross.z / len);
7
35
  }
8
36
  /** Signed distance from point to plane (positive = same side as normal) */
9
37
  distanceTo(point) {
package/dist/Plane.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Plane.js","sourceRoot":"","sources":["../src/Plane.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Plane.js","sourceRoot":"","sources":["../src/Plane.ts"],"names":[],"mappings":"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"}