@math.gl/geometry 5.0.0-alpha.15 → 5.0.0-alpha.17
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/geometries/primitive-mesh-builder.d.ts +24 -0
- package/dist/geometries/primitive-mesh-builder.d.ts.map +1 -0
- package/dist/geometries/primitive-mesh-builder.js +74 -0
- package/dist/geometries/primitive-mesh-builder.js.map +1 -0
- package/dist/geometries/prism-geometry.d.ts +13 -0
- package/dist/geometries/prism-geometry.d.ts.map +1 -0
- package/dist/geometries/prism-geometry.js +34 -0
- package/dist/geometries/prism-geometry.js.map +1 -0
- package/dist/geometries/ring-geometry.d.ts +15 -0
- package/dist/geometries/ring-geometry.d.ts.map +1 -0
- package/dist/geometries/ring-geometry.js +64 -0
- package/dist/geometries/ring-geometry.js.map +1 -0
- package/dist/index.cjs +164 -9
- package/dist/index.cjs.map +3 -3
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/parametric/torus-geometry.d.ts +5 -1
- package/dist/parametric/torus-geometry.d.ts.map +1 -1
- package/dist/parametric/torus-geometry.js +60 -7
- package/dist/parametric/torus-geometry.js.map +1 -1
- package/dist/parametric.cjs +58 -6
- package/dist/parametric.cjs.map +1 -1
- package/package.json +3 -3
- package/src/geometries/primitive-mesh-builder.ts +84 -0
- package/src/geometries/prism-geometry.ts +57 -0
- package/src/geometries/ring-geometry.ts +102 -0
- package/src/index.ts +6 -0
- package/src/parametric/torus-geometry.ts +75 -8
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { GeometryProps } from "../lib/geometry.js";
|
|
2
|
+
import { type PrimitiveGeometryProps } from "./geometry-helpers.js";
|
|
3
|
+
export declare const FULL_CIRCLE: number;
|
|
4
|
+
export type Vector = [number, number, number];
|
|
5
|
+
export type Vertex = {
|
|
6
|
+
position: Vector;
|
|
7
|
+
normal: Vector;
|
|
8
|
+
textureCoordinates: [number, number];
|
|
9
|
+
};
|
|
10
|
+
export declare function radial(angle: number, direction?: number): Vector;
|
|
11
|
+
export declare function vertex(radius: number, height: number, angle: number, normal: Vector, textureCoordinates?: [number, number]): Vertex;
|
|
12
|
+
export declare function validateArc(segments: number, startAngle: number, sweepAngle: number): void;
|
|
13
|
+
export declare class PrimitiveMeshBuilder {
|
|
14
|
+
private positions;
|
|
15
|
+
private normals;
|
|
16
|
+
private textureCoordinates;
|
|
17
|
+
private indices;
|
|
18
|
+
private addVertex;
|
|
19
|
+
private addTriangle;
|
|
20
|
+
triangle(first: Vertex, second: Vertex, third: Vertex): void;
|
|
21
|
+
quad(first: Vertex, second: Vertex, third: Vertex, fourth: Vertex): void;
|
|
22
|
+
getProps(props: PrimitiveGeometryProps): GeometryProps;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=primitive-mesh-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitive-mesh-builder.d.ts","sourceRoot":"","sources":["../../src/geometries/primitive-mesh-builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAC,2BAAwB;AACnD,OAAO,EAA8B,KAAK,sBAAsB,EAAC,8BAA2B;AAC5F,eAAO,MAAM,WAAW,QAAc,CAAC;AACvC,MAAM,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9C,MAAM,MAAM,MAAM,GAAG;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAC,CAAC;AAC9F,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAAI,GAAG,MAAM,CAE3D;AACD,wBAAgB,MAAM,CACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,MAAM,CAMR;AACD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAK1F;AACD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,WAAW;IAenB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAO5D,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAKxE,QAAQ,CAAC,KAAK,EAAE,sBAAsB,GAAG,aAAa;CAavD"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
|
|
4
|
+
import { assertSegments, makeIndices } from "./geometry-helpers.js";
|
|
5
|
+
export const FULL_CIRCLE = Math.PI * 2;
|
|
6
|
+
export function radial(angle, direction = 1) {
|
|
7
|
+
return [Math.cos(angle) * direction, 0, -Math.sin(angle) * direction];
|
|
8
|
+
}
|
|
9
|
+
export function vertex(radius, height, angle, normal, textureCoordinates) {
|
|
10
|
+
return {
|
|
11
|
+
position: [radius * Math.cos(angle), height, -radius * Math.sin(angle)],
|
|
12
|
+
normal,
|
|
13
|
+
textureCoordinates: textureCoordinates ?? [(Math.cos(angle) + 1) / 2, (Math.sin(angle) + 1) / 2]
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export function validateArc(segments, startAngle, sweepAngle) {
|
|
17
|
+
assertSegments(segments, 'segments', 3);
|
|
18
|
+
if (!Number.isFinite(startAngle))
|
|
19
|
+
throw new Error('startAngle must be finite');
|
|
20
|
+
if (!Number.isFinite(sweepAngle) || sweepAngle <= 0 || sweepAngle > FULL_CIRCLE)
|
|
21
|
+
throw new Error('sweepAngle must be positive and at most 2π');
|
|
22
|
+
}
|
|
23
|
+
export class PrimitiveMeshBuilder {
|
|
24
|
+
constructor() {
|
|
25
|
+
this.positions = [];
|
|
26
|
+
this.normals = [];
|
|
27
|
+
this.textureCoordinates = [];
|
|
28
|
+
this.indices = [];
|
|
29
|
+
}
|
|
30
|
+
addVertex(current) {
|
|
31
|
+
const index = this.positions.length / 3;
|
|
32
|
+
this.positions.push(...current.position);
|
|
33
|
+
this.normals.push(...current.normal);
|
|
34
|
+
this.textureCoordinates.push(...current.textureCoordinates);
|
|
35
|
+
return index;
|
|
36
|
+
}
|
|
37
|
+
addTriangle(first, second, third, indices) {
|
|
38
|
+
const firstEdge = second.position.map((value, index) => value - first.position[index]);
|
|
39
|
+
const secondEdge = third.position.map((value, index) => value - first.position[index]);
|
|
40
|
+
const cross = [
|
|
41
|
+
firstEdge[1] * secondEdge[2] - firstEdge[2] * secondEdge[1],
|
|
42
|
+
firstEdge[2] * secondEdge[0] - firstEdge[0] * secondEdge[2],
|
|
43
|
+
firstEdge[0] * secondEdge[1] - firstEdge[1] * secondEdge[0]
|
|
44
|
+
];
|
|
45
|
+
const orientation = cross.reduce((sum, value, index) => sum + value * (first.normal[index] + second.normal[index] + third.normal[index]), 0);
|
|
46
|
+
this.indices.push(...(orientation < 0 ? [indices[0], indices[2], indices[1]] : indices));
|
|
47
|
+
}
|
|
48
|
+
triangle(first, second, third) {
|
|
49
|
+
this.addTriangle(first, second, third, [
|
|
50
|
+
this.addVertex(first),
|
|
51
|
+
this.addVertex(second),
|
|
52
|
+
this.addVertex(third)
|
|
53
|
+
]);
|
|
54
|
+
}
|
|
55
|
+
quad(first, second, third, fourth) {
|
|
56
|
+
const indices = [first, second, third, fourth].map(current => this.addVertex(current));
|
|
57
|
+
this.addTriangle(first, second, third, indices.slice(0, 3));
|
|
58
|
+
this.addTriangle(first, third, fourth, [indices[0], indices[2], indices[3]]);
|
|
59
|
+
}
|
|
60
|
+
getProps(props) {
|
|
61
|
+
return {
|
|
62
|
+
id: props.id,
|
|
63
|
+
topology: 'triangle-list',
|
|
64
|
+
indices: makeIndices(this.positions.length / 3, this.indices),
|
|
65
|
+
attributes: {
|
|
66
|
+
POSITION: { size: 3, value: new Float32Array(this.positions) },
|
|
67
|
+
NORMAL: { size: 3, value: new Float32Array(this.normals) },
|
|
68
|
+
TEXCOORD_0: { size: 2, value: new Float32Array(this.textureCoordinates) },
|
|
69
|
+
...props.attributes
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=primitive-mesh-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitive-mesh-builder.js","sourceRoot":"","sources":["../../src/geometries/primitive-mesh-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Geometry } from "../lib/geometry.js";
|
|
2
|
+
import { type PrimitiveGeometryProps } from "./geometry-helpers.js";
|
|
3
|
+
export type PrismGeometryProps = PrimitiveGeometryProps & {
|
|
4
|
+
radius?: number;
|
|
5
|
+
height?: number;
|
|
6
|
+
sides?: number;
|
|
7
|
+
startAngle?: number;
|
|
8
|
+
};
|
|
9
|
+
/** Closed regular prism, centered at the origin with Y vertical and flat side normals. */
|
|
10
|
+
export declare class PrismGeometry extends Geometry {
|
|
11
|
+
constructor(props?: PrismGeometryProps);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=prism-geometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prism-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/prism-geometry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,QAAQ,EAAC,2BAAwB;AACzC,OAAO,EAAiB,KAAK,sBAAsB,EAAC,8BAA2B;AAU/E,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,0FAA0F;AAC1F,qBAAa,aAAc,SAAQ,QAAQ;gBAC7B,KAAK,GAAE,kBAAuB;CAiC3C"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
|
|
4
|
+
import { Geometry } from "../lib/geometry.js";
|
|
5
|
+
import { assertPositive } from "./geometry-helpers.js";
|
|
6
|
+
import { PrimitiveMeshBuilder, FULL_CIRCLE, radial, validateArc, vertex } from "./primitive-mesh-builder.js";
|
|
7
|
+
/** Closed regular prism, centered at the origin with Y vertical and flat side normals. */
|
|
8
|
+
export class PrismGeometry extends Geometry {
|
|
9
|
+
constructor(props = {}) {
|
|
10
|
+
const { radius = 1, height = 1, sides = 6, startAngle = 0 } = props;
|
|
11
|
+
assertPositive(radius, 'radius');
|
|
12
|
+
assertPositive(height, 'height');
|
|
13
|
+
validateArc(sides, startAngle, FULL_CIRCLE);
|
|
14
|
+
const mesh = new PrimitiveMeshBuilder();
|
|
15
|
+
for (let segment = 0; segment < sides; segment++) {
|
|
16
|
+
const firstAngle = startAngle + (segment * FULL_CIRCLE) / sides;
|
|
17
|
+
const secondAngle = startAngle + ((segment + 1) * FULL_CIRCLE) / sides;
|
|
18
|
+
const normal = radial((firstAngle + secondAngle) / 2);
|
|
19
|
+
const secondCornerAngle = segment === sides - 1 ? startAngle : secondAngle;
|
|
20
|
+
mesh.quad(vertex(radius, -height / 2, firstAngle, normal, [segment / sides, 0]), vertex(radius, height / 2, firstAngle, normal, [segment / sides, 1]), vertex(radius, height / 2, secondCornerAngle, normal, [(segment + 1) / sides, 1]), vertex(radius, -height / 2, secondCornerAngle, normal, [(segment + 1) / sides, 0]));
|
|
21
|
+
for (const direction of [-1, 1]) {
|
|
22
|
+
const capNormal = [0, direction, 0];
|
|
23
|
+
const center = {
|
|
24
|
+
position: [0, (direction * height) / 2, 0],
|
|
25
|
+
normal: capNormal,
|
|
26
|
+
textureCoordinates: [0.5, 0.5]
|
|
27
|
+
};
|
|
28
|
+
mesh.triangle(center, vertex(radius, (direction * height) / 2, firstAngle, capNormal), vertex(radius, (direction * height) / 2, secondCornerAngle, capNormal));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
super(mesh.getProps(props));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=prism-geometry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prism-geometry.js","sourceRoot":"","sources":["../../src/geometries/prism-geometry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Geometry } from "../lib/geometry.js";
|
|
2
|
+
import { type PrimitiveGeometryProps } from "./geometry-helpers.js";
|
|
3
|
+
export type RingGeometryProps = PrimitiveGeometryProps & {
|
|
4
|
+
innerRadius?: number;
|
|
5
|
+
outerRadius?: number;
|
|
6
|
+
height?: number;
|
|
7
|
+
segments?: number;
|
|
8
|
+
startAngle?: number;
|
|
9
|
+
sweepAngle?: number;
|
|
10
|
+
};
|
|
11
|
+
/** Closed annular sector in XZ, centered vertically with hard top, bottom and end caps. */
|
|
12
|
+
export declare class RingGeometry extends Geometry {
|
|
13
|
+
constructor(props?: RingGeometryProps);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=ring-geometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ring-geometry.d.ts","sourceRoot":"","sources":["../../src/geometries/ring-geometry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,QAAQ,EAAC,2BAAwB;AACzC,OAAO,EAAiB,KAAK,sBAAsB,EAAC,8BAA2B;AAS/E,MAAM,MAAM,iBAAiB,GAAG,sBAAsB,GAAG;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,2FAA2F;AAC3F,qBAAa,YAAa,SAAQ,QAAQ;gBAC5B,KAAK,GAAE,iBAAsB;CA6E1C"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
|
|
4
|
+
import { Geometry } from "../lib/geometry.js";
|
|
5
|
+
import { assertPositive } from "./geometry-helpers.js";
|
|
6
|
+
import { PrimitiveMeshBuilder, FULL_CIRCLE, radial, validateArc, vertex } from "./primitive-mesh-builder.js";
|
|
7
|
+
/** Closed annular sector in XZ, centered vertically with hard top, bottom and end caps. */
|
|
8
|
+
export class RingGeometry extends Geometry {
|
|
9
|
+
constructor(props = {}) {
|
|
10
|
+
const { innerRadius = 0.5, outerRadius = 1, height = 0.1, segments = 48, startAngle = 0, sweepAngle = FULL_CIRCLE } = props;
|
|
11
|
+
assertPositive(innerRadius, 'innerRadius');
|
|
12
|
+
assertPositive(outerRadius, 'outerRadius');
|
|
13
|
+
assertPositive(height, 'height');
|
|
14
|
+
if (innerRadius >= outerRadius)
|
|
15
|
+
throw new Error('innerRadius must be smaller than outerRadius');
|
|
16
|
+
validateArc(segments, startAngle, sweepAngle);
|
|
17
|
+
const mesh = new PrimitiveMeshBuilder();
|
|
18
|
+
for (let segment = 0; segment < segments; segment++) {
|
|
19
|
+
const firstAngle = startAngle + (segment * sweepAngle) / segments;
|
|
20
|
+
const secondAngle = segment === segments - 1
|
|
21
|
+
? sweepAngle === FULL_CIRCLE
|
|
22
|
+
? startAngle
|
|
23
|
+
: startAngle + sweepAngle
|
|
24
|
+
: startAngle + ((segment + 1) * sweepAngle) / segments;
|
|
25
|
+
const makeCapVertex = (radius, height, angle, normal) => vertex(radius, height, angle, normal, [
|
|
26
|
+
((radius * Math.cos(angle)) / outerRadius + 1) / 2,
|
|
27
|
+
((radius * Math.sin(angle)) / outerRadius + 1) / 2
|
|
28
|
+
]);
|
|
29
|
+
for (const direction of [-1, 1]) {
|
|
30
|
+
const normal = [0, direction, 0];
|
|
31
|
+
mesh.quad(makeCapVertex(innerRadius, (direction * height) / 2, firstAngle, normal), makeCapVertex(outerRadius, (direction * height) / 2, firstAngle, normal), makeCapVertex(outerRadius, (direction * height) / 2, secondAngle, normal), makeCapVertex(innerRadius, (direction * height) / 2, secondAngle, normal));
|
|
32
|
+
}
|
|
33
|
+
for (const [radius, direction] of [
|
|
34
|
+
[innerRadius, -1],
|
|
35
|
+
[outerRadius, 1]
|
|
36
|
+
]) {
|
|
37
|
+
mesh.quad(vertex(radius, -height / 2, firstAngle, radial(firstAngle, direction), [
|
|
38
|
+
segment / segments,
|
|
39
|
+
0
|
|
40
|
+
]), vertex(radius, height / 2, firstAngle, radial(firstAngle, direction), [
|
|
41
|
+
segment / segments,
|
|
42
|
+
1
|
|
43
|
+
]), vertex(radius, height / 2, secondAngle, radial(secondAngle, direction), [
|
|
44
|
+
(segment + 1) / segments,
|
|
45
|
+
1
|
|
46
|
+
]), vertex(radius, -height / 2, secondAngle, radial(secondAngle, direction), [
|
|
47
|
+
(segment + 1) / segments,
|
|
48
|
+
0
|
|
49
|
+
]));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (sweepAngle < FULL_CIRCLE) {
|
|
53
|
+
for (const [angle, direction] of [
|
|
54
|
+
[startAngle, -1],
|
|
55
|
+
[startAngle + sweepAngle, 1]
|
|
56
|
+
]) {
|
|
57
|
+
const normal = [-Math.sin(angle) * direction, 0, -Math.cos(angle) * direction];
|
|
58
|
+
mesh.quad(vertex(innerRadius, -height / 2, angle, normal, [0, 0]), vertex(outerRadius, -height / 2, angle, normal, [1, 0]), vertex(outerRadius, height / 2, angle, normal, [1, 1]), vertex(innerRadius, height / 2, angle, normal, [0, 1]));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
super(mesh.getProps(props));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=ring-geometry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ring-geometry.js","sourceRoot":"","sources":["../../src/geometries/ring-geometry.ts"],"names":[],"mappings":"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"}
|
package/dist/index.cjs
CHANGED
|
@@ -27,6 +27,8 @@ __export(index_exports, {
|
|
|
27
27
|
Geometry: () => Geometry,
|
|
28
28
|
IcoSphereGeometry: () => IcoSphereGeometry,
|
|
29
29
|
PlaneGeometry: () => PlaneGeometry,
|
|
30
|
+
PrismGeometry: () => PrismGeometry,
|
|
31
|
+
RingGeometry: () => RingGeometry,
|
|
30
32
|
SphereGeometry: () => SphereGeometry,
|
|
31
33
|
TruncatedConeGeometry: () => TruncatedConeGeometry,
|
|
32
34
|
unpackIndexedGeometry: () => unpackIndexedGeometry
|
|
@@ -223,8 +225,8 @@ function makeSurfaceOfRevolution(rings, nradial) {
|
|
|
223
225
|
const stride = nradial + 1;
|
|
224
226
|
for (let ringIndex = 0; ringIndex < rings.length; ringIndex++) {
|
|
225
227
|
const ring = rings[ringIndex];
|
|
226
|
-
for (let
|
|
227
|
-
const u =
|
|
228
|
+
for (let radial2 = 0; radial2 <= nradial; radial2++) {
|
|
229
|
+
const u = radial2 / nradial;
|
|
228
230
|
const angle = u * Math.PI * 2;
|
|
229
231
|
const sin = Math.sin(angle);
|
|
230
232
|
const cos = Math.cos(angle);
|
|
@@ -234,8 +236,8 @@ function makeSurfaceOfRevolution(rings, nradial) {
|
|
|
234
236
|
}
|
|
235
237
|
}
|
|
236
238
|
for (let ring = 0; ring < rings.length - 1; ring++) {
|
|
237
|
-
for (let
|
|
238
|
-
const a = ring * stride +
|
|
239
|
+
for (let radial2 = 0; radial2 < nradial; radial2++) {
|
|
240
|
+
const a = ring * stride + radial2;
|
|
239
241
|
const b = a + 1;
|
|
240
242
|
const c = a + stride;
|
|
241
243
|
const d = c + 1;
|
|
@@ -353,8 +355,8 @@ var TruncatedConeGeometry = class extends Geometry {
|
|
|
353
355
|
const normalScale = 1 / Math.hypot(1, slope);
|
|
354
356
|
const addRing = (radius, y, normalRadius, normalY, v) => {
|
|
355
357
|
const ring = positions.length / 3 / stride;
|
|
356
|
-
for (let
|
|
357
|
-
const u =
|
|
358
|
+
for (let radial2 = 0; radial2 <= nradial; radial2++) {
|
|
359
|
+
const u = radial2 / nradial;
|
|
358
360
|
const angle = u * Math.PI * 2;
|
|
359
361
|
const sin = Math.sin(angle);
|
|
360
362
|
const cos = Math.cos(angle);
|
|
@@ -367,10 +369,10 @@ var TruncatedConeGeometry = class extends Geometry {
|
|
|
367
369
|
return ring;
|
|
368
370
|
};
|
|
369
371
|
const connect = (lower, upper) => {
|
|
370
|
-
for (let
|
|
371
|
-
const a = lower * stride +
|
|
372
|
+
for (let radial2 = 0; radial2 < nradial; radial2++) {
|
|
373
|
+
const a = lower * stride + radial2;
|
|
372
374
|
const b = a + 1;
|
|
373
|
-
const c = upper * stride +
|
|
375
|
+
const c = upper * stride + radial2;
|
|
374
376
|
const d = c + 1;
|
|
375
377
|
indices.push(a, b, d, a, d, c);
|
|
376
378
|
}
|
|
@@ -598,4 +600,157 @@ function normalize(vector) {
|
|
|
598
600
|
const length = Math.hypot(...vector);
|
|
599
601
|
return vector.map((component) => component / length);
|
|
600
602
|
}
|
|
603
|
+
|
|
604
|
+
// dist/geometries/primitive-mesh-builder.js
|
|
605
|
+
var FULL_CIRCLE = Math.PI * 2;
|
|
606
|
+
function radial(angle, direction = 1) {
|
|
607
|
+
return [Math.cos(angle) * direction, 0, -Math.sin(angle) * direction];
|
|
608
|
+
}
|
|
609
|
+
function vertex(radius, height, angle, normal, textureCoordinates) {
|
|
610
|
+
return {
|
|
611
|
+
position: [radius * Math.cos(angle), height, -radius * Math.sin(angle)],
|
|
612
|
+
normal,
|
|
613
|
+
textureCoordinates: textureCoordinates ?? [(Math.cos(angle) + 1) / 2, (Math.sin(angle) + 1) / 2]
|
|
614
|
+
};
|
|
615
|
+
}
|
|
616
|
+
function validateArc(segments, startAngle, sweepAngle) {
|
|
617
|
+
assertSegments(segments, "segments", 3);
|
|
618
|
+
if (!Number.isFinite(startAngle))
|
|
619
|
+
throw new Error("startAngle must be finite");
|
|
620
|
+
if (!Number.isFinite(sweepAngle) || sweepAngle <= 0 || sweepAngle > FULL_CIRCLE)
|
|
621
|
+
throw new Error("sweepAngle must be positive and at most 2\u03C0");
|
|
622
|
+
}
|
|
623
|
+
var PrimitiveMeshBuilder = class {
|
|
624
|
+
constructor() {
|
|
625
|
+
this.positions = [];
|
|
626
|
+
this.normals = [];
|
|
627
|
+
this.textureCoordinates = [];
|
|
628
|
+
this.indices = [];
|
|
629
|
+
}
|
|
630
|
+
addVertex(current) {
|
|
631
|
+
const index = this.positions.length / 3;
|
|
632
|
+
this.positions.push(...current.position);
|
|
633
|
+
this.normals.push(...current.normal);
|
|
634
|
+
this.textureCoordinates.push(...current.textureCoordinates);
|
|
635
|
+
return index;
|
|
636
|
+
}
|
|
637
|
+
addTriangle(first, second, third, indices) {
|
|
638
|
+
const firstEdge = second.position.map((value, index) => value - first.position[index]);
|
|
639
|
+
const secondEdge = third.position.map((value, index) => value - first.position[index]);
|
|
640
|
+
const cross = [
|
|
641
|
+
firstEdge[1] * secondEdge[2] - firstEdge[2] * secondEdge[1],
|
|
642
|
+
firstEdge[2] * secondEdge[0] - firstEdge[0] * secondEdge[2],
|
|
643
|
+
firstEdge[0] * secondEdge[1] - firstEdge[1] * secondEdge[0]
|
|
644
|
+
];
|
|
645
|
+
const orientation = cross.reduce((sum, value, index) => sum + value * (first.normal[index] + second.normal[index] + third.normal[index]), 0);
|
|
646
|
+
this.indices.push(...orientation < 0 ? [indices[0], indices[2], indices[1]] : indices);
|
|
647
|
+
}
|
|
648
|
+
triangle(first, second, third) {
|
|
649
|
+
this.addTriangle(first, second, third, [
|
|
650
|
+
this.addVertex(first),
|
|
651
|
+
this.addVertex(second),
|
|
652
|
+
this.addVertex(third)
|
|
653
|
+
]);
|
|
654
|
+
}
|
|
655
|
+
quad(first, second, third, fourth) {
|
|
656
|
+
const indices = [first, second, third, fourth].map((current) => this.addVertex(current));
|
|
657
|
+
this.addTriangle(first, second, third, indices.slice(0, 3));
|
|
658
|
+
this.addTriangle(first, third, fourth, [indices[0], indices[2], indices[3]]);
|
|
659
|
+
}
|
|
660
|
+
getProps(props) {
|
|
661
|
+
return {
|
|
662
|
+
id: props.id,
|
|
663
|
+
topology: "triangle-list",
|
|
664
|
+
indices: makeIndices(this.positions.length / 3, this.indices),
|
|
665
|
+
attributes: {
|
|
666
|
+
POSITION: { size: 3, value: new Float32Array(this.positions) },
|
|
667
|
+
NORMAL: { size: 3, value: new Float32Array(this.normals) },
|
|
668
|
+
TEXCOORD_0: { size: 2, value: new Float32Array(this.textureCoordinates) },
|
|
669
|
+
...props.attributes
|
|
670
|
+
}
|
|
671
|
+
};
|
|
672
|
+
}
|
|
673
|
+
};
|
|
674
|
+
|
|
675
|
+
// dist/geometries/prism-geometry.js
|
|
676
|
+
var PrismGeometry = class extends Geometry {
|
|
677
|
+
constructor(props = {}) {
|
|
678
|
+
const { radius = 1, height = 1, sides = 6, startAngle = 0 } = props;
|
|
679
|
+
assertPositive(radius, "radius");
|
|
680
|
+
assertPositive(height, "height");
|
|
681
|
+
validateArc(sides, startAngle, FULL_CIRCLE);
|
|
682
|
+
const mesh = new PrimitiveMeshBuilder();
|
|
683
|
+
for (let segment = 0; segment < sides; segment++) {
|
|
684
|
+
const firstAngle = startAngle + segment * FULL_CIRCLE / sides;
|
|
685
|
+
const secondAngle = startAngle + (segment + 1) * FULL_CIRCLE / sides;
|
|
686
|
+
const normal = radial((firstAngle + secondAngle) / 2);
|
|
687
|
+
const secondCornerAngle = segment === sides - 1 ? startAngle : secondAngle;
|
|
688
|
+
mesh.quad(vertex(radius, -height / 2, firstAngle, normal, [segment / sides, 0]), vertex(radius, height / 2, firstAngle, normal, [segment / sides, 1]), vertex(radius, height / 2, secondCornerAngle, normal, [(segment + 1) / sides, 1]), vertex(radius, -height / 2, secondCornerAngle, normal, [(segment + 1) / sides, 0]));
|
|
689
|
+
for (const direction of [-1, 1]) {
|
|
690
|
+
const capNormal = [0, direction, 0];
|
|
691
|
+
const center = {
|
|
692
|
+
position: [0, direction * height / 2, 0],
|
|
693
|
+
normal: capNormal,
|
|
694
|
+
textureCoordinates: [0.5, 0.5]
|
|
695
|
+
};
|
|
696
|
+
mesh.triangle(center, vertex(radius, direction * height / 2, firstAngle, capNormal), vertex(radius, direction * height / 2, secondCornerAngle, capNormal));
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
super(mesh.getProps(props));
|
|
700
|
+
}
|
|
701
|
+
};
|
|
702
|
+
|
|
703
|
+
// dist/geometries/ring-geometry.js
|
|
704
|
+
var RingGeometry = class extends Geometry {
|
|
705
|
+
constructor(props = {}) {
|
|
706
|
+
const { innerRadius = 0.5, outerRadius = 1, height = 0.1, segments = 48, startAngle = 0, sweepAngle = FULL_CIRCLE } = props;
|
|
707
|
+
assertPositive(innerRadius, "innerRadius");
|
|
708
|
+
assertPositive(outerRadius, "outerRadius");
|
|
709
|
+
assertPositive(height, "height");
|
|
710
|
+
if (innerRadius >= outerRadius)
|
|
711
|
+
throw new Error("innerRadius must be smaller than outerRadius");
|
|
712
|
+
validateArc(segments, startAngle, sweepAngle);
|
|
713
|
+
const mesh = new PrimitiveMeshBuilder();
|
|
714
|
+
for (let segment = 0; segment < segments; segment++) {
|
|
715
|
+
const firstAngle = startAngle + segment * sweepAngle / segments;
|
|
716
|
+
const secondAngle = segment === segments - 1 ? sweepAngle === FULL_CIRCLE ? startAngle : startAngle + sweepAngle : startAngle + (segment + 1) * sweepAngle / segments;
|
|
717
|
+
const makeCapVertex = (radius, height2, angle, normal) => vertex(radius, height2, angle, normal, [
|
|
718
|
+
(radius * Math.cos(angle) / outerRadius + 1) / 2,
|
|
719
|
+
(radius * Math.sin(angle) / outerRadius + 1) / 2
|
|
720
|
+
]);
|
|
721
|
+
for (const direction of [-1, 1]) {
|
|
722
|
+
const normal = [0, direction, 0];
|
|
723
|
+
mesh.quad(makeCapVertex(innerRadius, direction * height / 2, firstAngle, normal), makeCapVertex(outerRadius, direction * height / 2, firstAngle, normal), makeCapVertex(outerRadius, direction * height / 2, secondAngle, normal), makeCapVertex(innerRadius, direction * height / 2, secondAngle, normal));
|
|
724
|
+
}
|
|
725
|
+
for (const [radius, direction] of [
|
|
726
|
+
[innerRadius, -1],
|
|
727
|
+
[outerRadius, 1]
|
|
728
|
+
]) {
|
|
729
|
+
mesh.quad(vertex(radius, -height / 2, firstAngle, radial(firstAngle, direction), [
|
|
730
|
+
segment / segments,
|
|
731
|
+
0
|
|
732
|
+
]), vertex(radius, height / 2, firstAngle, radial(firstAngle, direction), [
|
|
733
|
+
segment / segments,
|
|
734
|
+
1
|
|
735
|
+
]), vertex(radius, height / 2, secondAngle, radial(secondAngle, direction), [
|
|
736
|
+
(segment + 1) / segments,
|
|
737
|
+
1
|
|
738
|
+
]), vertex(radius, -height / 2, secondAngle, radial(secondAngle, direction), [
|
|
739
|
+
(segment + 1) / segments,
|
|
740
|
+
0
|
|
741
|
+
]));
|
|
742
|
+
}
|
|
743
|
+
}
|
|
744
|
+
if (sweepAngle < FULL_CIRCLE) {
|
|
745
|
+
for (const [angle, direction] of [
|
|
746
|
+
[startAngle, -1],
|
|
747
|
+
[startAngle + sweepAngle, 1]
|
|
748
|
+
]) {
|
|
749
|
+
const normal = [-Math.sin(angle) * direction, 0, -Math.cos(angle) * direction];
|
|
750
|
+
mesh.quad(vertex(innerRadius, -height / 2, angle, normal, [0, 0]), vertex(outerRadius, -height / 2, angle, normal, [1, 0]), vertex(outerRadius, height / 2, angle, normal, [1, 1]), vertex(innerRadius, height / 2, angle, normal, [0, 1]));
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
super(mesh.getProps(props));
|
|
754
|
+
}
|
|
755
|
+
};
|
|
601
756
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/index.ts", "../src/lib/geometry.ts", "../src/lib/geometry-utils.ts", "../src/geometries/geometry-helpers.ts", "../src/geometries/box-geometry.ts", "../src/geometries/surface-of-revolution.ts", "../src/geometries/capsule-geometry.ts", "../src/geometries/truncated-cone-geometry.ts", "../src/geometries/cylinder-geometry.ts", "../src/geometries/plane-geometry.ts", "../src/geometries/sphere-geometry.ts", "../src/geometries/ico-sphere-geometry.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;ACkCA,IAAI,aAAa;AAGX,IAAO,WAAP,MAAe;EAQnB,YAAY,OAAoB;AAFhC,SAAA,WAAoC,CAAA;AAGlC,SAAK,KAAK,MAAM,MAAM,YAAY,EAAE,UAAU;AAC9C,SAAK,WAAW,MAAM;AACtB,SAAK,aAAa,CAAA;AAElB,QAAI,UAAU,MAAM,UAAU,mBAAmB,MAAM,OAAO,IAAI;AAClE,eAAW,CAAC,MAAM,KAAK,KAAK,OAAO,QAAQ,MAAM,cAAc,CAAA,CAAE,GAAG;AAClE,YAAM,YAAY,mBAAmB,KAAK;AAC1C,UAAI,SAAS,cAAc,SAAS,aAAa;AAC/C,kBAAU,SAAV,UAAU,OAAS;MACrB;AACA,UAAI,SAAS,WAAW;AACtB,YAAI;AAAS,gBAAM,IAAI,MAAM,wCAAwC;AACrE,kBAAU;MACZ,OAAO;AACL,aAAK,WAAW,IAAI,IAAI;MAC1B;IACF;AAEA,QAAI,SAAS;AACX,UAAI,EAAE,QAAQ,iBAAiB,eAAe,QAAQ,iBAAiB,cAAc;AACnF,cAAM,IAAI,MAAM,uDAAuD;MACzE;AACA,cAAQ,OAAO;AACf,WAAK,UAAU;AACf,sBAAgB,SAAS,KAAK,UAAU;IAC1C;AAEA,SAAK,cAAc,MAAM,eAAe,qBAAqB,KAAK,YAAY,KAAK,OAAO;AAC1F,QAAI,CAAC,OAAO,UAAU,KAAK,WAAW,KAAK,KAAK,cAAc,GAAG;AAC/D,YAAM,IAAI,MAAM,qDAAqD;IACvE;EACF;EAEA,iBAAc;AACZ,WAAO,KAAK;EACd;EAEA,gBAAa;AACX,WACE,KAAK,UAAU,EAAC,SAAS,KAAK,SAAS,GAAG,KAAK,WAAU,IAAI,KAAK;EAEtE;;AAGF,SAAS,mBAAmB,OAA6B;AACvD,QAAM,YAAY,aAAa,KAAK,IAAI,EAAC,OAAO,MAAK,IAAI,EAAC,GAAG,MAAK;AAClE,MAAI,CAAC,aAAa,UAAU,KAAK,GAAG;AAClC,UAAM,IAAI,MAAM,sDAAsD;EACxE;AACA,MAAI,UAAU,SAAS,WAAc,CAAC,OAAO,UAAU,UAAU,IAAI,KAAK,UAAU,OAAO,IAAI;AAC7F,UAAM,IAAI,MAAM,oDAAoD;EACtE;AACA,MAAI,UAAU,QAAQ,UAAU,MAAM,SAAS,UAAU,SAAS,GAAG;AACnE,UAAM,IAAI,MAAM,yDAAyD;EAC3E;AACA,SAAO;AACT;AAEA,SAAS,aAAa,OAAc;AAClC,SAAO,YAAY,OAAO,KAAK,KAAK,EAAE,iBAAiB;AACzD;AAEA,SAAS,gBACP,SACA,YAA6C;AAE7C,MAAI,eAAe;AACnB,aAAW,SAAS,QAAQ;AAAO,mBAAe,KAAK,IAAI,cAAc,OAAO,KAAK,CAAC;AACtF,aAAW,CAAC,MAAM,SAAS,KAAK,OAAO,QAAQ,UAAU,GAAG;AAC1D,QAAI,CAAC,UAAU,YAAY,UAAU,MAAM;AACzC,YAAM,uBAAuB,UAAU,MAAM,SAAS,UAAU;AAChE,UAAI,gBAAgB,sBAAsB;AACxC,cAAM,IAAI,MACR,kBAAkB,YAAY,YAAY,IAAI,iBAAiB,oBAAoB,EAAE;MAEzF;IACF;EACF;AACF;AAEA,SAAS,qBACP,YACA,SAA2B;AAE3B,MAAI;AAAS,WAAO,QAAQ,MAAM;AAClC,MAAI,QAAQ;AACZ,aAAW,aAAa,OAAO,OAAO,UAAU,GAAG;AACjD,QAAI,CAAC,UAAU,YAAY,UAAU,MAAM;AACzC,cAAQ,KAAK,IAAI,OAAO,UAAU,MAAM,SAAS,UAAU,IAAI;IACjE;EACF;AACA,MAAI,CAAC,OAAO,SAAS,KAAK;AAAG,UAAM,IAAI,MAAM,sCAAsC;AACnF,SAAO;AACT;;;AC9HM,SAAU,sBAA8C,UAAW;AACvE,MAAI,CAAC,SAAS;AAAS,WAAO;AAC9B,QAAM,UAAU,SAAS,QAAQ;AACjC,QAAM,aAAgD,CAAA;AACtD,aAAW,CAAC,MAAM,SAAS,KAAK,OAAO,QAAQ,SAAS,UAAU,GAAG;AACnE,QAAI,CAAC;AAAW;AAChB,QAAI,UAAU,YAAY,CAAC,UAAU,MAAM;AACzC,iBAAW,IAAI,IAAI;AACnB;IACF;AACA,UAAM,YAAY,UAAU,MAAM;AAClC,UAAM,QAAQ,IAAI,UAAU,QAAQ,SAAS,UAAU,IAAI;AAC3D,aAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACvC,eAAS,YAAY,GAAG,YAAY,UAAU,MAAM,aAAa;AAC/D,cAAM,IAAI,UAAU,OAAO,SAAS,IAClC,UAAU,MAAM,OAAO,QAAQ,CAAC,CAAC,IAAI,UAAU,OAAO,SAAS;MACnE;IACF;AACA,eAAW,IAAI,IAAI,EAAC,GAAG,WAAW,MAAK;EACzC;AACA,SAAO,EAAC,WAAU;AACpB;;;ACvBM,SAAU,eAAe,OAAe,MAAY;AACxD,MAAI,CAAC,OAAO,SAAS,KAAK,KAAK,SAAS;AAAG,UAAM,IAAI,MAAM,GAAG,IAAI,4BAA4B;AAChG;AAEM,SAAU,kBAAkB,OAAe,MAAY;AAC3D,MAAI,CAAC,OAAO,SAAS,KAAK,KAAK,QAAQ;AAAG,UAAM,IAAI,MAAM,GAAG,IAAI,uBAAuB;AAC1F;AAEM,SAAU,eAAe,OAAe,MAAc,UAAU,GAAC;AACrE,MAAI,CAAC,OAAO,UAAU,KAAK,KAAK,QAAQ;AACtC,UAAM,IAAI,MAAM,GAAG,IAAI,0BAA0B,OAAO,EAAE;AAC9D;AAEM,SAAU,YAAY,aAAqB,QAAgB;AAC/D,SAAO,cAAc,QAAS,IAAI,YAAY,MAAM,IAAI,IAAI,YAAY,MAAM;AAChF;;;AChBM,IAAO,cAAP,cAA2B,SAAQ;EACvC,YAAY,QAA0B,CAAA,GAAE;AACtC,UAAM,OAAO,MAAM,QAAQ,CAAC,GAAG,GAAG,CAAC;AACnC,mBAAe,KAAK,CAAC,GAAG,SAAS;AACjC,mBAAe,KAAK,CAAC,GAAG,SAAS;AACjC,mBAAe,KAAK,CAAC,GAAG,SAAS;AACjC,UAAM,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AACnD,UAAM,YAAsB,CAAA;AAC5B,UAAM,UAAoB,CAAA;AAC1B,UAAM,YAAsB,CAAA;AAC5B,UAAM,UAAoB,CAAA;AAC1B,UAAM,QAAQ;MACZ,EAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,EAAC;MACpE,EAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,EAAC;MACpE,EAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,EAAC;MACpE,EAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,EAAC;MACpE,EAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,EAAC;MACnE,EAAC,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,EAAC;;AAEvE,eAAW,QAAQ,OAAO;AACxB,YAAM,OAAO,UAAU,SAAS;AAChC,iBAAW,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK;QACzB,CAAC,IAAI,IAAI,GAAG,CAAC;QACb,CAAC,GAAG,IAAI,GAAG,CAAC;QACZ,CAAC,GAAG,GAAG,GAAG,CAAC;QACX,CAAC,IAAI,GAAG,GAAG,CAAC;SACX;AACD,kBAAU,KACR,KAAK,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,EAAE,CAAC,IAAI,KAAK,KAAK,GACtE,KAAK,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,EAAE,CAAC,IAAI,KAAK,KAAK,GACtE,KAAK,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC;AAEzE,gBAAQ,KAAK,GAAG,KAAK,CAAC;AACtB,kBAAU,KAAK,GAAG,CAAC;MACrB;AACA,cAAQ,KAAK,MAAM,OAAO,GAAG,OAAO,GAAG,MAAM,OAAO,GAAG,OAAO,CAAC;IACjE;AACA,UAAM;MACJ,IAAI,MAAM;MACV,UAAU;MACV,SAAS,YAAY,IAAI,OAAO;MAChC,YAAY;QACV,UAAU,EAAC,MAAM,GAAG,OAAO,IAAI,aAAa,SAAS,EAAC;QACtD,QAAQ,EAAC,MAAM,GAAG,OAAO,IAAI,aAAa,OAAO,EAAC;QAClD,YAAY,EAAC,MAAM,GAAG,OAAO,IAAI,aAAa,SAAS,EAAC;QACxD,GAAG,MAAM;;KAEZ;EACH;;AAMI,IAAO,eAAP,cAA4B,YAAW;EAC3C,YAAY,QAA2B,CAAA,GAAE;AACvC,UAAM,OAAO,MAAM,QAAQ;AAC3B,UAAM,EAAC,GAAG,OAAO,MAAM,CAAC,MAAM,MAAM,IAAI,EAAC,CAAC;EAC5C;;;;AC5DI,SAAU,wBACd,OACA,SAAe;AAEf,QAAM,YAAsB,CAAA;AAC5B,QAAM,UAAoB,CAAA;AAC1B,QAAM,YAAsB,CAAA;AAC5B,QAAM,UAAoB,CAAA;AAC1B,QAAM,SAAS,UAAU;AACzB,WAAS,YAAY,GAAG,YAAY,MAAM,QAAQ,aAAa;AAC7D,UAAM,OAAO,MAAM,SAAS;AAC5B,aAAS,SAAS,GAAG,UAAU,SAAS,UAAU;AAChD,YAAM,IAAI,SAAS;AACnB,YAAM,QAAQ,IAAI,KAAK,KAAK;AAC5B,YAAM,MAAM,KAAK,IAAI,KAAK;AAC1B,YAAM,MAAM,KAAK,IAAI,KAAK;AAC1B,gBAAU,KAAK,MAAM,KAAK,QAAQ,KAAK,GAAG,MAAM,KAAK,MAAM;AAC3D,cAAQ,KAAK,MAAM,KAAK,cAAc,KAAK,SAAS,MAAM,KAAK,YAAY;AAC3E,gBAAU,KAAK,GAAG,aAAa,MAAM,SAAS,EAAE;IAClD;EACF;AACA,WAAS,OAAO,GAAG,OAAO,MAAM,SAAS,GAAG,QAAQ;AAClD,aAAS,SAAS,GAAG,SAAS,SAAS,UAAU;AAC/C,YAAM,IAAI,OAAO,SAAS;AAC1B,YAAM,IAAI,IAAI;AACd,YAAM,IAAI,IAAI;AACd,YAAM,IAAI,IAAI;AACd,cAAQ,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC/B;EACF;AACA,SAAO;IACL,GAAG,EAAC,WAAW,SAAS,WAAW,QAAO;IAC1C,YAAY,YAAY,UAAU,SAAS,GAAG,OAAO;;AAEzD;;;ACnBM,IAAO,kBAAP,cAA+B,SAAQ;EAC3C,YAAY,QAA8B,CAAA,GAAE;AAC1C,UAAM,EACJ,SAAS,GACT,eAAe,KACf,YAAY,KACZ,UAAU,IACV,OAAO,GACP,YAAY,EAAC,IACX;AACJ,mBAAe,QAAQ,QAAQ;AAC/B,sBAAkB,cAAc,cAAc;AAC9C,sBAAkB,WAAW,WAAW;AACxC,QAAI,iBAAiB,KAAK,cAAc;AACtC,YAAM,IAAI,MAAM,+CAA+C;AACjE,mBAAe,SAAS,WAAW,CAAC;AACpC,mBAAe,MAAM,QAAQ,CAAC;AAC9B,mBAAe,WAAW,aAAa,CAAC;AAExC,UAAM,QAAuB,CAAA;AAC7B,UAAM,cAAc,YAAY;AAChC,QAAI,KAAK,IAAI,WAAW,KAAK,QAAQ;AACnC,YAAM,UAAU,aAAa;AAC7B,YAAM,SAAS,UAAU,YAAY;AACrC,YAAM,SAAS,UAAU,SAAS,IAAI,CAAC,SAAS;AAChD,qBAAe,OAAO,QAAQ,QAAQ,OAAO,CAAC;IAChD,OAAO;AACL,YAAM,WAAW,cAAc;AAC/B,YAAM,eAAe,KAAK,KAAK,IAAI,WAAW,QAAQ;AACtD,YAAM,cAAc,CAAC;AACrB,YAAM,eAAe,CAAC,SAAS;AAC/B,YAAM,YAAY,SAAS;AAC3B,eAAS,IAAI,GAAG,KAAK,MAAM,KAAK;AAC9B,cAAM,UAAU,MAAO,cAAc,KAAK,IAAK;AAC/C,cAAM,eAAe,KAAK,KAAK,KAAK,IAAI,GAAG,IAAI,UAAU,OAAO,CAAC;AACjE,cAAM,KAAK;UACT,QAAQ,eAAe;UACvB,GAAG,eAAe,eAAe;UACjC;UACA;SACD;MACH;AACA,eAAS,IAAI,GAAG,KAAK,WAAW,KAAK;AACnC,cAAM,IAAI,IAAI;AACd,cAAM,SAAS,eAAe,cAAc;AAC5C,cAAM,SAAS,eAAe,SAAS;AACvC,cAAM,KAAK;UACT,QAAQ,SAAS;UACjB,GAAG,SAAS,SAAS;UACrB,cAAc;UACd,SAAS;SACV;MACH;AACA,eAAS,IAAI,GAAG,KAAK,MAAM,KAAK;AAC9B,cAAM,UAAU,eAAgB,IAAI,eAAe,IAAK;AACxD,cAAM,eAAe,KAAK,KAAK,KAAK,IAAI,GAAG,IAAI,UAAU,OAAO,CAAC;AACjE,cAAM,KAAK;UACT,QAAQ,YAAY;UACpB,GAAG,YAAY,YAAY;UAC3B;UACA;SACD;MACH;IACF;AACA,UAAM,OAAO,wBAAwB,OAAO,OAAO;AACnD,UAAM;MACJ,IAAI,MAAM;MACV,UAAU;MACV,SAAS,KAAK;MACd,YAAY;QACV,UAAU,EAAC,MAAM,GAAG,OAAO,IAAI,aAAa,KAAK,SAAS,EAAC;QAC3D,QAAQ,EAAC,MAAM,GAAG,OAAO,IAAI,aAAa,KAAK,OAAO,EAAC;QACvD,YAAY,EAAC,MAAM,GAAG,OAAO,IAAI,aAAa,KAAK,SAAS,EAAC;QAC7D,GAAG,MAAM;;KAEZ;EACH;;AAGF,SAAS,eACP,OACA,QACA,QACA,UAAgB;AAEhB,WAAS,IAAI,GAAG,KAAK,UAAU,KAAK;AAClC,UAAM,QAAQ,CAAC,KAAK,KAAK,IAAK,IAAI,WAAY,KAAK;AACnD,UAAM,eAAe,KAAK,IAAI,KAAK;AACnC,UAAM,UAAU,KAAK,IAAI,KAAK;AAC9B,UAAM,KAAK;MACT,QAAQ,SAAS;MACjB,GAAG,SAAS,SAAS;MACrB;MACA;KACD;EACH;AACF;;;AC9FM,IAAO,wBAAP,cAAqC,SAAQ;EACjD,YAAY,QAAoC,CAAA,GAAE;AAChD,UAAM,EACJ,YAAY,GACZ,eAAe,GACf,SAAS,OACT,YAAY,OACZ,SAAS,GACT,UAAU,IACV,YAAY,GACZ,eAAe,IAAG,IAChB;AACJ,sBAAkB,WAAW,WAAW;AACxC,sBAAkB,cAAc,cAAc;AAC9C,QAAI,cAAc,KAAK,iBAAiB;AACtC,YAAM,IAAI,MAAM,+CAA+C;AACjE,mBAAe,QAAQ,QAAQ;AAC/B,mBAAe,SAAS,WAAW,CAAC;AACpC,mBAAe,WAAW,WAAW;AAErC,UAAM,YAAsB,CAAA;AAC5B,UAAM,UAAoB,CAAA;AAC1B,UAAM,YAAsB,CAAA;AAC5B,UAAM,UAAoB,CAAA;AAC1B,UAAM,SAAS,UAAU;AACzB,UAAM,SAAS,eAAe,aAAa;AAC3C,UAAM,cAAc,IAAI,KAAK,MAAM,GAAG,KAAK;AAE3C,UAAM,UAAU,CACd,QACA,GACA,cACA,SACA,MACU;AACV,YAAM,OAAO,UAAU,SAAS,IAAI;AACpC,eAAS,SAAS,GAAG,UAAU,SAAS,UAAU;AAChD,cAAM,IAAI,SAAS;AACnB,cAAM,QAAQ,IAAI,KAAK,KAAK;AAC5B,cAAM,MAAM,KAAK,IAAI,KAAK;AAC1B,cAAM,MAAM,KAAK,IAAI,KAAK;AAC1B,cAAM,QAAQ,OAAO,CAAC,MAAM,QAAQ,GAAG,MAAM,MAAM,GAAG,YAAY;AAClE,cAAM,SAAS,OAAO,CAAC,MAAM,cAAc,SAAS,MAAM,YAAY,GAAG,YAAY;AACrF,kBAAU,KAAK,GAAG,KAAK;AACvB,gBAAQ,KAAK,GAAG,MAAM;AACtB,kBAAU,KAAK,GAAG,CAAC;MACrB;AACA,aAAO;IACT;AACA,UAAM,UAAU,CAAC,OAAe,UAAuB;AACrD,eAAS,SAAS,GAAG,SAAS,SAAS,UAAU;AAC/C,cAAM,IAAI,QAAQ,SAAS;AAC3B,cAAM,IAAI,IAAI;AACd,cAAM,IAAI,QAAQ,SAAS;AAC3B,cAAM,IAAI,IAAI;AACd,gBAAQ,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;MAC/B;IACF;AAEA,QAAI;AACJ,QAAI,WAAW;AACb,YAAM,SAAS,QAAQ,GAAG,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC;AAC/C,YAAM,OAAO,QAAQ,cAAc,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC;AACxD,cAAQ,QAAQ,IAAI;AACpB,iBAAW,QAAQ,cAAc,CAAC,SAAS,GAAG,aAAa,QAAQ,aAAa,CAAC;IACnF;AACA,aAAS,WAAW,GAAG,YAAY,WAAW,YAAY;AACxD,YAAM,IAAI,WAAW;AACrB,YAAM,SAAS,gBAAgB,YAAY,gBAAgB;AAC3D,YAAM,OAAO,QAAQ,SAAS,IAAI,OAAO,QAAQ,aAAa,QAAQ,aAAa,CAAC;AACpF,UAAI,aAAa,UAAa,EAAE,aAAa,aAAa;AAAI,gBAAQ,UAAU,IAAI;AACpF,iBAAW;IACb;AACA,QAAI,UAAU,aAAa,QAAW;AACpC,YAAM,OAAO,QAAQ,WAAW,SAAS,GAAG,GAAG,GAAG,CAAC;AACnD,YAAM,SAAS,QAAQ,GAAG,SAAS,GAAG,GAAG,GAAG,CAAC;AAC7C,cAAQ,MAAM,MAAM;IACtB;AAEA,UAAM,cAAc,UAAU,SAAS;AACvC,UAAM;MACJ,IAAI,MAAM;MACV,UAAU;MACV,SAAS,YAAY,aAAa,OAAO;MACzC,YAAY;QACV,UAAU,EAAC,MAAM,GAAG,OAAO,IAAI,aAAa,SAAS,EAAC;QACtD,QAAQ,EAAC,MAAM,GAAG,OAAO,IAAI,aAAa,OAAO,EAAC;QAClD,YAAY,EAAC,MAAM,GAAG,OAAO,IAAI,aAAa,SAAS,EAAC;QACxD,GAAG,MAAM;;KAEZ;EACH;;AAGF,SAAS,OAAO,QAA2B,MAAqB;AAC9D,UAAQ,MAAM;IACZ,KAAK;AACH,aAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;IACzC,KAAK;AACH,aAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;IACzC;AACE,aAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;EAC3C;AACF;;;ACjHM,IAAO,mBAAP,cAAgC,sBAAqB;EACzD,YAAY,QAA+B,CAAA,GAAE;AAC3C,UAAM,EAAC,SAAS,GAAG,YAAY,KAAK,eAAe,IAAG,IAAI;AAC1D,UAAM;MACJ,GAAG;MACH;MACA,WAAW;MACX,cAAc;MACd,QAAQ;MACR,WAAW;MACX,cAAc;KACf;EACH;;AAQI,IAAO,eAAP,cAA4B,sBAAqB;EACrD,YAAY,QAA2B,CAAA,GAAE;AACvC,UAAM,EAAC,SAAS,KAAK,SAAS,OAAO,YAAY,KAAI,IAAI;AACzD,UAAM,EAAC,GAAG,OAAO,WAAW,GAAG,cAAc,QAAQ,QAAQ,UAAS,CAAC;EACzE;;;;ACnBI,IAAO,gBAAP,cAA6B,SAAQ;EACzC,YAAY,OAAyB;AACnC,UAAM,EAAC,OAAO,OAAO,KAAK,GAAG,KAAK,EAAC,IAAI;AACvC,mBAAe,OAAO,OAAO;AAC7B,mBAAe,OAAO,OAAO;AAC7B,mBAAe,IAAI,IAAI;AACvB,mBAAe,IAAI,IAAI;AACvB,UAAM,YAAsB,CAAA;AAC5B,UAAM,UAAoB,CAAA;AAC1B,UAAM,YAAsB,CAAA;AAC5B,UAAM,cAAwB,CAAA;AAC9B,aAAS,IAAI,GAAG,KAAK,IAAI,KAAK;AAC5B,YAAM,IAAI,IAAI;AACd,eAAS,IAAI,GAAG,KAAK,IAAI,KAAK;AAC5B,cAAM,IAAI,IAAI;AACd,kBAAU,MAAM,IAAI,OAAO,OAAO,IAAI,MAAM,KAAK,KAAK;AACtD,gBAAQ,KAAK,GAAG,GAAG,CAAC;AACpB,kBAAU,KAAK,GAAG,CAAC;MACrB;IACF;AACA,UAAM,SAAS,KAAK;AACpB,aAAS,IAAI,GAAG,IAAI,IAAI,KAAK;AAC3B,eAAS,IAAI,GAAG,IAAI,IAAI,KAAK;AAC3B,cAAM,IAAI,IAAI,SAAS;AACvB,cAAM,IAAI,IAAI;AACd,cAAM,IAAI,IAAI;AACd,cAAM,IAAI,IAAI;AACd,oBAAY,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;MACnC;IACF;AACA,UAAM,cAAc,UAAU,SAAS;AACvC,UAAM;MACJ,IAAI,MAAM;MACV,UAAU;MACV,SAAS,YAAY,aAAa,WAAW;MAC7C,YAAY;QACV,UAAU,EAAC,MAAM,GAAG,OAAO,IAAI,aAAa,SAAS,EAAC;QACtD,QAAQ,EAAC,MAAM,GAAG,OAAO,IAAI,aAAa,OAAO,EAAC;QAClD,YAAY,EAAC,MAAM,GAAG,OAAO,IAAI,aAAa,SAAS,EAAC;QACxD,GAAG,MAAM;;KAEZ;EACH;;;;AC/CI,IAAO,iBAAP,cAA8B,SAAQ;EAC1C,YAAY,QAA6B,CAAA,GAAE;AACzC,UAAM,EAAC,SAAS,KAAK,OAAO,IAAI,QAAQ,GAAE,IAAI;AAC9C,mBAAe,QAAQ,QAAQ;AAC/B,mBAAe,MAAM,QAAQ,CAAC;AAC9B,mBAAe,OAAO,SAAS,CAAC;AAChC,UAAM,QAAuB,CAAA;AAC7B,aAAS,WAAW,GAAG,YAAY,MAAM,YAAY;AACnD,YAAM,QAAQ,CAAC,KAAK,KAAK,IAAK,WAAW,OAAQ,KAAK;AACtD,YAAM,eAAe,KAAK,IAAI,KAAK;AACnC,YAAM,UAAU,KAAK,IAAI,KAAK;AAC9B,YAAM,KAAK,EAAC,QAAQ,SAAS,cAAc,GAAG,SAAS,SAAS,cAAc,QAAO,CAAC;IACxF;AACA,UAAM,OAAO,wBAAwB,OAAO,KAAK;AACjD,UAAM;MACJ,IAAI,MAAM;MACV,UAAU;MACV,SAAS,KAAK;MACd,YAAY;QACV,UAAU,EAAC,MAAM,GAAG,OAAO,IAAI,aAAa,KAAK,SAAS,EAAC;QAC3D,QAAQ,EAAC,MAAM,GAAG,OAAO,IAAI,aAAa,KAAK,OAAO,EAAC;QACvD,YAAY,EAAC,MAAM,GAAG,OAAO,IAAI,aAAa,KAAK,SAAS,EAAC;QAC7D,GAAG,MAAM;;KAEZ;EACH;;;;AC3BI,IAAO,oBAAP,cAAiC,SAAQ;EAC7C,YAAY,QAAgC,CAAA,GAAE;AAC5C,UAAM,EAAC,SAAS,KAAK,aAAa,EAAC,IAAI;AACvC,mBAAe,QAAQ,QAAQ;AAC/B,mBAAe,YAAY,cAAc,CAAC;AAC1C,QAAI,aAAa;AAAG,YAAM,IAAI,MAAM,yBAAyB;AAC7D,UAAM,KAAK,IAAI,KAAK,KAAK,CAAC,KAAK;AAC/B,UAAM,WAAW;MACf,CAAC,IAAI,GAAG,CAAC;MACT,CAAC,GAAG,GAAG,CAAC;MACR,CAAC,IAAI,CAAC,GAAG,CAAC;MACV,CAAC,GAAG,CAAC,GAAG,CAAC;MACT,CAAC,GAAG,IAAI,CAAC;MACT,CAAC,GAAG,GAAG,CAAC;MACR,CAAC,GAAG,IAAI,CAAC,CAAC;MACV,CAAC,GAAG,GAAG,CAAC,CAAC;MACT,CAAC,GAAG,GAAG,EAAE;MACT,CAAC,GAAG,GAAG,CAAC;MACR,CAAC,CAAC,GAAG,GAAG,EAAE;MACV,CAAC,CAAC,GAAG,GAAG,CAAC;MACT,IAAI,SAAS;AACf,QAAI,QAAQ;MACV,CAAC,GAAG,IAAI,CAAC;MACT,CAAC,GAAG,GAAG,CAAC;MACR,CAAC,GAAG,GAAG,CAAC;MACR,CAAC,GAAG,GAAG,EAAE;MACT,CAAC,GAAG,IAAI,EAAE;MACV,CAAC,GAAG,GAAG,CAAC;MACR,CAAC,GAAG,IAAI,CAAC;MACT,CAAC,IAAI,IAAI,CAAC;MACV,CAAC,IAAI,GAAG,CAAC;MACT,CAAC,GAAG,GAAG,CAAC;MACR,CAAC,GAAG,GAAG,CAAC;MACR,CAAC,GAAG,GAAG,CAAC;MACR,CAAC,GAAG,GAAG,CAAC;MACR,CAAC,GAAG,GAAG,CAAC;MACR,CAAC,GAAG,GAAG,CAAC;MACR,CAAC,GAAG,GAAG,CAAC;MACR,CAAC,GAAG,GAAG,EAAE;MACT,CAAC,GAAG,GAAG,EAAE;MACT,CAAC,GAAG,GAAG,CAAC;MACR,CAAC,GAAG,GAAG,CAAC;MACR,IAAI,UAAQ,KAAK,IAAI,WAAS,SAAS,KAAK,CAAC,CAAC;AAChD,aAAS,YAAY,GAAG,YAAY,YAAY,aAAa;AAC3D,YAAM,aAA2B,CAAA;AACjC,iBAAW,CAAC,GAAG,GAAG,CAAC,KAAK,OAAO;AAC7B,cAAM,KAAK,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5D,cAAM,KAAK,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5D,cAAM,KAAK,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5D,mBAAW,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;MACrE;AACA,cAAQ;IACV;AACA,UAAM,YAAsB,CAAA;AAC5B,UAAM,UAAoB,CAAA;AAC1B,UAAM,YAAsB,CAAA;AAC5B,eAAW,QAAQ,OAAO;AACxB,iBAAW,UAAU,MAAM;AACzB,kBAAU,KAAK,OAAO,CAAC,IAAI,QAAQ,OAAO,CAAC,IAAI,QAAQ,OAAO,CAAC,IAAI,MAAM;AACzE,gBAAQ,KAAK,GAAG,MAAM;AACtB,kBAAU,KACR,MAAM,KAAK,MAAM,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,IAAI,KAAK,KACnD,MAAM,KAAK,KAAK,OAAO,CAAC,CAAC,IAAI,KAAK,EAAE;MAExC;IACF;AACA,UAAM;MACJ,IAAI,MAAM;MACV,UAAU;MACV,YAAY;QACV,UAAU,EAAC,MAAM,GAAG,OAAO,IAAI,aAAa,SAAS,EAAC;QACtD,QAAQ,EAAC,MAAM,GAAG,OAAO,IAAI,aAAa,OAAO,EAAC;QAClD,YAAY,EAAC,MAAM,GAAG,OAAO,IAAI,aAAa,SAAS,EAAC;QACxD,GAAG,MAAM;;KAEZ;EACH;;AAGF,SAAS,UAAU,QAAgB;AACjC,QAAM,SAAS,KAAK,MAAM,GAAG,MAAM;AACnC,SAAO,OAAO,IAAI,eAAa,YAAY,MAAM;AACnD;",
|
|
5
|
-
"names": []
|
|
3
|
+
"sources": ["../src/index.ts", "../src/lib/geometry.ts", "../src/lib/geometry-utils.ts", "../src/geometries/geometry-helpers.ts", "../src/geometries/box-geometry.ts", "../src/geometries/surface-of-revolution.ts", "../src/geometries/capsule-geometry.ts", "../src/geometries/truncated-cone-geometry.ts", "../src/geometries/cylinder-geometry.ts", "../src/geometries/plane-geometry.ts", "../src/geometries/sphere-geometry.ts", "../src/geometries/ico-sphere-geometry.ts", "../src/geometries/primitive-mesh-builder.ts", "../src/geometries/prism-geometry.ts", "../src/geometries/ring-geometry.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["radial", "radial", "height"]
|
|
6
6
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -15,4 +15,8 @@ export { TruncatedConeGeometry } from "./geometries/truncated-cone-geometry.js";
|
|
|
15
15
|
export type { TruncatedConeGeometryProps } from "./geometries/truncated-cone-geometry.js";
|
|
16
16
|
export { IcoSphereGeometry } from "./geometries/ico-sphere-geometry.js";
|
|
17
17
|
export type { IcoSphereGeometryProps } from "./geometries/ico-sphere-geometry.js";
|
|
18
|
+
export { PrismGeometry } from "./geometries/prism-geometry.js";
|
|
19
|
+
export type { PrismGeometryProps } from "./geometries/prism-geometry.js";
|
|
20
|
+
export { RingGeometry } from "./geometries/ring-geometry.js";
|
|
21
|
+
export type { RingGeometryProps } from "./geometries/ring-geometry.js";
|
|
18
22
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,QAAQ,EAAC,0BAAuB;AACxC,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EAClB,0BAAuB;AACxB,OAAO,EAAC,qBAAqB,EAAC,gCAA6B;AAE3D,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,qCAAkC;AACpE,YAAY,EAAC,gBAAgB,EAAE,iBAAiB,EAAC,qCAAkC;AACnF,OAAO,EAAC,eAAe,EAAC,yCAAsC;AAC9D,YAAY,EAAC,oBAAoB,EAAC,yCAAsC;AACxE,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,0CAAuC;AAC9E,YAAY,EAAC,qBAAqB,EAAE,iBAAiB,EAAC,0CAAuC;AAC7F,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAC1D,YAAY,EAAC,kBAAkB,EAAC,uCAAoC;AACpE,OAAO,EAAC,cAAc,EAAC,wCAAqC;AAC5D,YAAY,EAAC,mBAAmB,EAAC,wCAAqC;AACtE,OAAO,EAAC,qBAAqB,EAAC,gDAA6C;AAC3E,YAAY,EAAC,0BAA0B,EAAC,gDAA6C;AACrF,OAAO,EAAC,iBAAiB,EAAC,4CAAyC;AACnE,YAAY,EAAC,sBAAsB,EAAC,4CAAyC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,QAAQ,EAAC,0BAAuB;AACxC,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EAClB,0BAAuB;AACxB,OAAO,EAAC,qBAAqB,EAAC,gCAA6B;AAE3D,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,qCAAkC;AACpE,YAAY,EAAC,gBAAgB,EAAE,iBAAiB,EAAC,qCAAkC;AACnF,OAAO,EAAC,eAAe,EAAC,yCAAsC;AAC9D,YAAY,EAAC,oBAAoB,EAAC,yCAAsC;AACxE,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,0CAAuC;AAC9E,YAAY,EAAC,qBAAqB,EAAE,iBAAiB,EAAC,0CAAuC;AAC7F,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAC1D,YAAY,EAAC,kBAAkB,EAAC,uCAAoC;AACpE,OAAO,EAAC,cAAc,EAAC,wCAAqC;AAC5D,YAAY,EAAC,mBAAmB,EAAC,wCAAqC;AACtE,OAAO,EAAC,qBAAqB,EAAC,gDAA6C;AAC3E,YAAY,EAAC,0BAA0B,EAAC,gDAA6C;AACrF,OAAO,EAAC,iBAAiB,EAAC,4CAAyC;AACnE,YAAY,EAAC,sBAAsB,EAAC,4CAAyC;AAE7E,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAC1D,YAAY,EAAC,kBAAkB,EAAC,uCAAoC;AAEpE,OAAO,EAAC,YAAY,EAAC,sCAAmC;AACxD,YAAY,EAAC,iBAAiB,EAAC,sCAAmC"}
|
package/dist/index.js
CHANGED
|
@@ -10,4 +10,6 @@ export { PlaneGeometry } from "./geometries/plane-geometry.js";
|
|
|
10
10
|
export { SphereGeometry } from "./geometries/sphere-geometry.js";
|
|
11
11
|
export { TruncatedConeGeometry } from "./geometries/truncated-cone-geometry.js";
|
|
12
12
|
export { IcoSphereGeometry } from "./geometries/ico-sphere-geometry.js";
|
|
13
|
+
export { PrismGeometry } from "./geometries/prism-geometry.js";
|
|
14
|
+
export { RingGeometry } from "./geometries/ring-geometry.js";
|
|
13
15
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;AAE5D,OAAO,EAAC,QAAQ,EAAC,0BAAuB;AAQxC,OAAO,EAAC,qBAAqB,EAAC,gCAA6B;AAE3D,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,qCAAkC;AAEpE,OAAO,EAAC,eAAe,EAAC,yCAAsC;AAE9D,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,0CAAuC;AAE9E,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAE1D,OAAO,EAAC,cAAc,EAAC,wCAAqC;AAE5D,OAAO,EAAC,qBAAqB,EAAC,gDAA6C;AAE3E,OAAO,EAAC,iBAAiB,EAAC,4CAAyC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;AAE5D,OAAO,EAAC,QAAQ,EAAC,0BAAuB;AAQxC,OAAO,EAAC,qBAAqB,EAAC,gCAA6B;AAE3D,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,qCAAkC;AAEpE,OAAO,EAAC,eAAe,EAAC,yCAAsC;AAE9D,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,0CAAuC;AAE9E,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAE1D,OAAO,EAAC,cAAc,EAAC,wCAAqC;AAE5D,OAAO,EAAC,qBAAqB,EAAC,gDAA6C;AAE3E,OAAO,EAAC,iBAAiB,EAAC,4CAAyC;AAGnE,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAG1D,OAAO,EAAC,YAAY,EAAC,sCAAmC"}
|
|
@@ -5,8 +5,12 @@ export type TorusGeometryProps = PrimitiveGeometryProps & {
|
|
|
5
5
|
minorRadius?: number;
|
|
6
6
|
majorSegments?: number;
|
|
7
7
|
minorSegments?: number;
|
|
8
|
-
/** Sweep in radians, (0, 2π]. Partial sweeps have open ends. */
|
|
8
|
+
/** Sweep in radians, (0, 2π]. Partial sweeps have open ends unless cap is enabled. */
|
|
9
9
|
arc?: number;
|
|
10
|
+
/** Rotation in radians about Y; positive angles turn toward negative Z. */
|
|
11
|
+
startAngle?: number;
|
|
12
|
+
/** Close partial sweeps with flat end disks. Ignored for a full revolution. */
|
|
13
|
+
cap?: boolean;
|
|
10
14
|
};
|
|
11
15
|
/** Ring torus around Y, with outward analytic normals and separate UV seam rows. */
|
|
12
16
|
export declare class TorusGeometry extends ParametricGeometry {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"torus-geometry.d.ts","sourceRoot":"","sources":["../../src/parametric/torus-geometry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"torus-geometry.d.ts","sourceRoot":"","sources":["../../src/parametric/torus-geometry.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,KAAK,sBAAsB,EAC5B,0CAAuC;AACxC,OAAO,EAAC,kBAAkB,EAAC,iCAA8B;AACzD,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sFAAsF;IACtF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AACF,oFAAoF;AACpF,qBAAa,aAAc,SAAQ,kBAAkB;gBACvC,KAAK,GAAE,kBAAuB;CA4F3C"}
|