@mulmoclaude/shapescript-plugin 2.0.0 → 2.4.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.
- package/README.md +117 -26
- package/dist/core/definition.d.ts.map +1 -1
- package/dist/core/index.d.ts +2 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/plugin.d.ts.map +1 -1
- package/dist/{core-BvTjfhU2.js → core-CvNYv5VF.js} +2 -2
- package/dist/{core-DZvhTmuk.cjs → core-DmD6zaRF.cjs} +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.js +4 -4
- package/dist/index.cjs +1 -1
- package/dist/index.js +4 -4
- package/dist/lang/de.d.ts.map +1 -1
- package/dist/lang/en.d.ts.map +1 -1
- package/dist/lang/es.d.ts.map +1 -1
- package/dist/lang/fr.d.ts.map +1 -1
- package/dist/lang/ja.d.ts.map +1 -1
- package/dist/lang/ko.d.ts.map +1 -1
- package/dist/lang/messages.d.ts +4 -0
- package/dist/lang/messages.d.ts.map +1 -1
- package/dist/lang/ptBR.d.ts.map +1 -1
- package/dist/lang/zh.d.ts.map +1 -1
- package/dist/render/page.d.ts.map +1 -1
- package/dist/render.cjs +8 -4
- package/dist/render.js +14 -10
- package/dist/samples-BrJ4z8v-.cjs +324 -0
- package/dist/{samples-CXhuDdDd.js → samples-y59fsGq8.js} +281 -276
- package/dist/shapescript/builders.d.ts +17 -2
- package/dist/shapescript/builders.d.ts.map +1 -1
- package/dist/shapescript/evaluator.d.ts +76 -2
- package/dist/shapescript/evaluator.d.ts.map +1 -1
- package/dist/shapescript/meshValues.d.ts +54 -0
- package/dist/shapescript/meshValues.d.ts.map +1 -0
- package/dist/shapescript/minkowski.d.ts +37 -0
- package/dist/shapescript/minkowski.d.ts.map +1 -0
- package/dist/shapescript/parser.d.ts +81 -2
- package/dist/shapescript/parser.d.ts.map +1 -1
- package/dist/shapescript/text.d.ts +29 -0
- package/dist/shapescript/text.d.ts.map +1 -0
- package/dist/shapescript/toThreeJS.d.ts +159 -9
- package/dist/shapescript/toThreeJS.d.ts.map +1 -1
- package/dist/shapescript/types.d.ts +160 -17
- package/dist/shapescript/types.d.ts.map +1 -1
- package/dist/style.css +1 -1
- package/dist/toThreeJS-CaZGJjfO.cjs +24 -0
- package/dist/{toThreeJS-FsP-Na75.js → toThreeJS-OGEAi4zV.js} +6136 -3781
- package/dist/vue/Preview.vue.d.ts.map +1 -1
- package/dist/vue/View.vue.d.ts.map +1 -1
- package/dist/vue/index.d.ts +1 -1
- package/dist/vue/index.d.ts.map +1 -1
- package/dist/vue.cjs +37 -25
- package/dist/vue.js +1534 -1493
- package/package.json +1 -1
- package/dist/samples-DGD0Kjwg.cjs +0 -276
- package/dist/toThreeJS-MvllBF9e.cjs +0 -10
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
import * as THREE from "three";
|
|
2
2
|
import { SceneNode } from "./types";
|
|
3
|
+
import { RGBA } from "./evaluator";
|
|
4
|
+
/** What a conversion reports besides geometry. Stored on the root group's
|
|
5
|
+
* `userData` so both viewers and the tool result can read it. */
|
|
6
|
+
export interface ShapeScriptSceneInfo {
|
|
7
|
+
/** `background r g b a` from the script's root, when set. */
|
|
8
|
+
background?: RGBA;
|
|
9
|
+
/** Commands that were accepted but not rendered (`texture`, `camera`, …). */
|
|
10
|
+
warnings: string[];
|
|
11
|
+
/** Every `print`, one line each. */
|
|
12
|
+
logs: string[];
|
|
13
|
+
}
|
|
14
|
+
export declare function sceneInfoOf(group: THREE.Object3D): ShapeScriptSceneInfo;
|
|
3
15
|
export interface ConversionOptions {
|
|
4
16
|
wireframe?: boolean;
|
|
5
17
|
/** Hard ceiling on the objects one script may produce. See
|
|
@@ -43,6 +55,22 @@ export declare class Converter {
|
|
|
43
55
|
/** When this conversion began, checked against `maxDurationMs` on every node. */
|
|
44
56
|
private readonly startedAt;
|
|
45
57
|
private transformStack;
|
|
58
|
+
/** > 0 while building a builder's operands, where a bare `path` must be a
|
|
59
|
+
* flat mesh for `profileOf`; at the scene level it draws as a line. */
|
|
60
|
+
private operandDepth;
|
|
61
|
+
private readonly warnings;
|
|
62
|
+
private readonly warningSet;
|
|
63
|
+
private readonly logs;
|
|
64
|
+
private background;
|
|
65
|
+
private sceneDepth;
|
|
66
|
+
/** While set, polygons and shape values produced by statements are
|
|
67
|
+
* collected here instead of entering the scene: the body of `mesh { }`,
|
|
68
|
+
* and a function body whose result is what it built. */
|
|
69
|
+
private valueSink;
|
|
70
|
+
/** Geometries that live on as values (defined shapes, function results,
|
|
71
|
+
* `inset` results). Never in the scene themselves — placing one clones it —
|
|
72
|
+
* so they are released together once the conversion is over. */
|
|
73
|
+
private retained;
|
|
46
74
|
constructor(options?: ConversionOptions);
|
|
47
75
|
convert(nodes: SceneNode[]): THREE.Group;
|
|
48
76
|
private get maxNodes();
|
|
@@ -70,11 +98,23 @@ export declare class Converter {
|
|
|
70
98
|
* one primitive is bounded by `MAX_DETAIL²`, so the allocation that trips the
|
|
71
99
|
* limit is small, and it is freed before the refusal propagates. */
|
|
72
100
|
private makeMesh;
|
|
73
|
-
/** Expand a `for … from to to step` range without materialising it first.
|
|
74
|
-
* The array used to be built up front, so an absurd bound exhausted memory
|
|
75
|
-
* before a single node existed and the budget below never got a turn. */
|
|
76
|
-
private rangeIterations;
|
|
77
101
|
private convertNode;
|
|
102
|
+
/** A `path` handed to a builder: the flat face it encloses, which `profileOf`
|
|
103
|
+
* reads the perimeter back from. */
|
|
104
|
+
private convertPathProfile;
|
|
105
|
+
/** A `detail` inside a path applies to that path alone, as inside any
|
|
106
|
+
* block: restore the enclosing level once its points are read. */
|
|
107
|
+
private withPathDetail;
|
|
108
|
+
/** A `path` in the scene draws as a stroke, as upstream: `fill` makes a
|
|
109
|
+
* face of it, and a builder consumes it. Open paths are allowed here. */
|
|
110
|
+
private convertPathLine;
|
|
111
|
+
private lineFromPath;
|
|
112
|
+
/** Deduplicated and capped: a `texture` inside a 100k-iteration loop must
|
|
113
|
+
* not turn the warning list into a transcript, nor the check into a scan. */
|
|
114
|
+
private warn;
|
|
115
|
+
/** `background` at the root: a colour is kept for the viewer, a texture
|
|
116
|
+
* file cannot be loaded here. */
|
|
117
|
+
private handleBackground;
|
|
78
118
|
/** Build `group` inside a fresh symbol + transform scope.
|
|
79
119
|
*
|
|
80
120
|
* The `catch` is not tidiness: nothing downstream can reach a group that was
|
|
@@ -95,8 +135,56 @@ export declare class Converter {
|
|
|
95
135
|
* the loop is five too many. */
|
|
96
136
|
private addChildren;
|
|
97
137
|
private convertBlock;
|
|
138
|
+
/** A control-flow body: `for`, `if` and `switch` scope SYMBOLS only. Their
|
|
139
|
+
* `translate` / `rotate` / `color` carry on past the closing brace, as
|
|
140
|
+
* upstream (scope.md, "Conditional Scope") — a loop that rotates each
|
|
141
|
+
* iteration leaves the frame where the last one ended. */
|
|
142
|
+
private inSymbolScope;
|
|
143
|
+
/** Wrap a finished geometry in a mesh with the node's material and
|
|
144
|
+
* placement. `scaleBySize` is for builders and groups, whose `size` scales
|
|
145
|
+
* the result; a primitive's `size` is already in its geometry. */
|
|
98
146
|
private finishMesh;
|
|
147
|
+
/** Run `build` with the shape's own `detail` / `smoothing` in force, then
|
|
148
|
+
* restore the enclosing values. */
|
|
149
|
+
private withShapeOptions;
|
|
99
150
|
private convertShape;
|
|
151
|
+
/** Run `build` with produced values going to `sink` rather than the scene. */
|
|
152
|
+
private captureValues;
|
|
153
|
+
/** A value a statement produced: collected when a sink is open, otherwise
|
|
154
|
+
* a shape is placed in the scene and anything else is an error, as
|
|
155
|
+
* upstream's "unused value" is. */
|
|
156
|
+
private placeValue;
|
|
157
|
+
private transformedForCapture;
|
|
158
|
+
private convertExpressionStatement;
|
|
159
|
+
/** Place a mesh value in the scene with the current material and frame.
|
|
160
|
+
* Its own vertex colours win over the material colour, as upstream. */
|
|
161
|
+
private placeMesh;
|
|
162
|
+
private placePolygons;
|
|
163
|
+
/** A geometry that stays alive as a value (a `define`d shape, a function's
|
|
164
|
+
* result) counts against the vertex budget for good, since a script can
|
|
165
|
+
* keep making them: refuse when it would overflow, then count it. */
|
|
166
|
+
private chargeRetained;
|
|
167
|
+
/** Build `nodes` at the origin in a throwaway group, collecting the values
|
|
168
|
+
* their statements produced and the geometry of every mesh they built (in
|
|
169
|
+
* the group's frame). The group is disposed and its vertex charge refunded;
|
|
170
|
+
* what is returned is the caller's to charge. */
|
|
171
|
+
private buildScratch;
|
|
172
|
+
/** `mesh { … }`: every polygon its body produces, and every mesh it builds,
|
|
173
|
+
* merged into one mesh in the current frame. */
|
|
174
|
+
private convertMesh;
|
|
175
|
+
/** `polygon { point … }`: one face from explicit 3D vertices, with `color`
|
|
176
|
+
* per vertex, loops and defines, as in a path block. */
|
|
177
|
+
private polygonValue;
|
|
178
|
+
/** `point 1 2 3`, or `point v` where `v` is a tuple. */
|
|
179
|
+
private pointCoordinates;
|
|
180
|
+
private meshesIn;
|
|
181
|
+
/** A shape as a value: built at the origin in a scratch group, its meshes
|
|
182
|
+
* merged into one geometry the script can read members of and place. A
|
|
183
|
+
* polygon block or a function that returned one is that value itself. */
|
|
184
|
+
private shapeValue;
|
|
185
|
+
/** A function whose body builds shapes: run it at the origin with its
|
|
186
|
+
* parameters bound, and return what it built — one value, or a tuple. */
|
|
187
|
+
private callShapeFunction;
|
|
100
188
|
/** A solid whose extent is zero in any dimension draws nothing.
|
|
101
189
|
*
|
|
102
190
|
* `sphere { size 0 }` built a mesh with an empty bounding box, and
|
|
@@ -106,19 +194,35 @@ export declare class Converter {
|
|
|
106
194
|
* definition and fall back to a unit size of their own. */
|
|
107
195
|
private requireExtent;
|
|
108
196
|
private createGeometry;
|
|
197
|
+
/** `roundrect { size w h radius r }`: the corner radius is `r` times the
|
|
198
|
+
* smaller side (default 0.25), as upstream. */
|
|
199
|
+
private createRoundrect;
|
|
109
200
|
/** A plugin extension (upstream has no torus). `size` is the OVERALL
|
|
110
201
|
* diameter, tube included, so it follows the same rule as the other curved
|
|
111
202
|
* primitives: the ring radius is what is left once the tube is subtracted.
|
|
112
203
|
* `outerRadius` (ring) and `innerRadius` (tube) override the derivation. */
|
|
113
204
|
private createTorus;
|
|
114
|
-
|
|
205
|
+
/** The material state a shape's own properties produce on top of `base`:
|
|
206
|
+
* a `material` bundle first, then the individual properties, the way the
|
|
207
|
+
* same commands would apply in order inside its block. */
|
|
208
|
+
private materialFor;
|
|
209
|
+
private applyColor;
|
|
210
|
+
/** `glow` takes a colour or a brightness; the alpha is ignored upstream. */
|
|
211
|
+
private glowColor;
|
|
212
|
+
private warnTexture;
|
|
213
|
+
private applyMaterialValue;
|
|
115
214
|
private createMaterial;
|
|
116
215
|
private convertCSG;
|
|
117
216
|
private convertForLoop;
|
|
217
|
+
/** Expand a loop's iterable without materialising an absurd range first:
|
|
218
|
+
* the walk stops at the budget rather than after allocating past it. */
|
|
219
|
+
private iterations;
|
|
118
220
|
private convertIf;
|
|
119
221
|
private convertSwitch;
|
|
120
222
|
private handleDefine;
|
|
121
223
|
private convertCustomShape;
|
|
224
|
+
/** Post-multiply a shape's `position` / `orientation` / `size` into a frame. */
|
|
225
|
+
private applyPlacement;
|
|
122
226
|
private pushTransform;
|
|
123
227
|
private popTransform;
|
|
124
228
|
private currentTransform;
|
|
@@ -135,6 +239,7 @@ export declare class Converter {
|
|
|
135
239
|
private rotationComponents;
|
|
136
240
|
private handleDetail;
|
|
137
241
|
private handleColorCommand;
|
|
242
|
+
private handleMaterialCommand;
|
|
138
243
|
private handleRotateCommand;
|
|
139
244
|
private handleOrientationCommand;
|
|
140
245
|
private handleTranslateCommand;
|
|
@@ -148,7 +253,25 @@ export declare class Converter {
|
|
|
148
253
|
* path. Sampled at the same resolution the geometry will use, so a curve
|
|
149
254
|
* that only looks flat at low detail is not rejected. */
|
|
150
255
|
private requireEnclosedArea;
|
|
256
|
+
/** `size` on an extrude: X and Y scale the profile, Z is the depth. The
|
|
257
|
+
* depth goes into the geometry (centred on the profile plane, as
|
|
258
|
+
* upstream), so the mesh keeps a unit Z scale. */
|
|
259
|
+
private extrudeProperties;
|
|
151
260
|
private convertExtrude;
|
|
261
|
+
/** Path samples as 3D points, refused when they would not survive the trip
|
|
262
|
+
* into a Float32 position attribute. */
|
|
263
|
+
private finitePoints;
|
|
264
|
+
/** `extrude { section … along path }`: every planar child is a section swept
|
|
265
|
+
* along the path — its +Z turned to the path's tangent — and the sections
|
|
266
|
+
* are joined into one solid, capped at the ends of an open path. `size`
|
|
267
|
+
* scales the result as a whole, as on any shape. */
|
|
268
|
+
private convertExtrudeAlong;
|
|
269
|
+
/** A planar child's perimeter as a section in the XY plane, wound
|
|
270
|
+
* counter-clockwise so the swept walls face outward. */
|
|
271
|
+
private sectionOf;
|
|
272
|
+
/** The points of the `along` path — a stroke for an open path, a planar
|
|
273
|
+
* shape's perimeter for a closed one — built in a scratch group. */
|
|
274
|
+
private sweepPathOf;
|
|
152
275
|
private buildPath;
|
|
153
276
|
/** Bake the path's own `position` / `orientation` / `size` into geometry
|
|
154
277
|
* built from it. Baked rather than set on the mesh so the consuming
|
|
@@ -164,6 +287,11 @@ export declare class Converter {
|
|
|
164
287
|
* post-multiplied like the shape transform, and checked after every command
|
|
165
288
|
* because individually finite operands can still overflow it. */
|
|
166
289
|
private collectPathPoints;
|
|
290
|
+
private placePathPoint;
|
|
291
|
+
/** `arc { angle a }`: `a` half-turns clockwise from +Y at radius `size / 2`,
|
|
292
|
+
* placed by its own position/orientation, sampled as corners at the current
|
|
293
|
+
* detail (upstream's own segment count for the span). */
|
|
294
|
+
private placeArc;
|
|
167
295
|
private runPathLoop;
|
|
168
296
|
/** Join path points into an outline, treating `curve` points as upstream does.
|
|
169
297
|
*
|
|
@@ -190,20 +318,42 @@ export declare class Converter {
|
|
|
190
318
|
private buildOperands;
|
|
191
319
|
private buildFromChildren;
|
|
192
320
|
private convertLoft;
|
|
193
|
-
private
|
|
321
|
+
private buildLoft;
|
|
322
|
+
/** A flat child's faces as shapes, holes included, so a filled letter
|
|
323
|
+
* extrudes with its counter. */
|
|
324
|
+
private planarShapes;
|
|
325
|
+
/** `text`: laid out from the origin (see `layoutText`). Inside a builder or
|
|
326
|
+
* as a value it is the filled glyphs, which `fill` and `extrude` read back
|
|
327
|
+
* as shapes with holes; in the scene it draws as outlines, as upstream
|
|
328
|
+
* draws paths. `size` scales it — upstream's line height is one unit. */
|
|
329
|
+
private convertText;
|
|
330
|
+
private textWrapWidth;
|
|
331
|
+
/** The lines of a `text` block joined, each line's values interpolated. */
|
|
332
|
+
private textOf;
|
|
333
|
+
/** The glyph outlines as one set of line segments — two vertices per ring
|
|
334
|
+
* point — in the text's own material (its `color`, `opacity`, `material`),
|
|
335
|
+
* falling back to the enclosing one as a mesh would. */
|
|
336
|
+
private textOutline;
|
|
194
337
|
private convertFill;
|
|
338
|
+
/** `minkowski { a b … }`: the children summed left to right, each solid
|
|
339
|
+
* swept over every point of the next. The result keeps the first child's
|
|
340
|
+
* colour, as upstream keeps its material. */
|
|
341
|
+
private convertMinkowski;
|
|
195
342
|
private convertHull;
|
|
196
343
|
private evaluateNumber;
|
|
344
|
+
/** A `position`: one value is X alone (`position 1` is `1 0 0`, as
|
|
345
|
+
* upstream and as `translate` here), the rest are padded with zeros. */
|
|
197
346
|
private evaluateVector3;
|
|
347
|
+
/** A `size`: one value is uniform, two are `x y x` (a cylinder's diameter
|
|
348
|
+
* and height), three are as given — Euclid's `Vector(size:)`. */
|
|
349
|
+
private evaluateSize;
|
|
350
|
+
private evaluateRGBA;
|
|
198
351
|
private evaluateTranslateVector;
|
|
199
|
-
private evaluateColor;
|
|
200
352
|
/** Colour channels get the same treatment as sizes and translations.
|
|
201
353
|
* `new THREE.Color(Infinity, …)` throws nothing — it serialises as
|
|
202
354
|
* `[null, null, null]`, so validation reported success and the browser was
|
|
203
355
|
* handed a material it cannot draw. */
|
|
204
356
|
private requireFiniteColor;
|
|
205
|
-
private evaluateVector3OrColor;
|
|
206
|
-
private valuesEqual;
|
|
207
357
|
}
|
|
208
358
|
export declare function astToThreeJS(nodes: SceneNode[], options?: ConversionOptions): THREE.Group;
|
|
209
359
|
//# sourceMappingURL=toThreeJS.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toThreeJS.d.ts","sourceRoot":"","sources":["../../src/shapescript/toThreeJS.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"toThreeJS.d.ts","sourceRoot":"","sources":["../../src/shapescript/toThreeJS.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
export type Vector3 = [number, number, number];
|
|
2
2
|
export type Color = [number, number, number];
|
|
3
|
-
export type Expression = NumberLiteral | StringLiteral | IdentifierExpr | BinaryExpr | UnaryExpr | FunctionCall | MemberAccess | SubscriptExpr | TupleExpr;
|
|
3
|
+
export type Expression = NumberLiteral | StringLiteral | IdentifierExpr | BinaryExpr | UnaryExpr | FunctionCall | MemberAccess | SubscriptExpr | TupleExpr | RangeExpr | MaterialExpr | ShapeExpr | ForExpr | IfExpr;
|
|
4
|
+
/** A shape used as a value: `define ico icosphere { detail 0 }`. Built by the
|
|
5
|
+
* converter into a mesh value the script can read members of and place. */
|
|
6
|
+
export interface ShapeExpr {
|
|
7
|
+
type: "shape";
|
|
8
|
+
node: SceneNode;
|
|
9
|
+
}
|
|
10
|
+
/** `for v in iterable { expr }` as a value: the tuple of every iteration's result. */
|
|
11
|
+
export interface ForExpr {
|
|
12
|
+
type: "for";
|
|
13
|
+
variable: string;
|
|
14
|
+
iterable: Expression;
|
|
15
|
+
body: Expression;
|
|
16
|
+
}
|
|
17
|
+
/** `if cond { a } else { b }` as a value. */
|
|
18
|
+
export interface IfExpr {
|
|
19
|
+
type: "if";
|
|
20
|
+
condition: Expression;
|
|
21
|
+
then: Expression;
|
|
22
|
+
else?: Expression;
|
|
23
|
+
}
|
|
4
24
|
export interface NumberLiteral {
|
|
5
25
|
type: "number";
|
|
6
26
|
value: number;
|
|
@@ -43,21 +63,64 @@ export interface TupleExpr {
|
|
|
43
63
|
type: "tuple";
|
|
44
64
|
elements: Expression[];
|
|
45
65
|
}
|
|
46
|
-
|
|
66
|
+
/** `from to to [step s]`, or `existing step s` when `to` is absent — a range
|
|
67
|
+
* value a `for` loop walks and the `in` operator tests, as upstream. */
|
|
68
|
+
export interface RangeExpr {
|
|
69
|
+
type: "range";
|
|
70
|
+
from: Expression;
|
|
71
|
+
to?: Expression;
|
|
72
|
+
step?: Expression;
|
|
73
|
+
}
|
|
74
|
+
/** `material { color … roughness … }` — a bundle of material properties that
|
|
75
|
+
* `define` can name and the `material` command re-applies. */
|
|
76
|
+
export interface MaterialExpr {
|
|
77
|
+
type: "material";
|
|
78
|
+
properties: MaterialProperties;
|
|
79
|
+
}
|
|
80
|
+
export interface MaterialProperties {
|
|
81
|
+
color?: Color | Expression;
|
|
82
|
+
opacity?: number | Expression;
|
|
83
|
+
metallicity?: number | Expression;
|
|
84
|
+
roughness?: number | Expression;
|
|
85
|
+
glow?: Color | Expression;
|
|
86
|
+
texture?: Expression;
|
|
87
|
+
}
|
|
88
|
+
export type SceneNode = ShapeNode | CSGNode | BlockNode | ForLoopNode | IfNode | SwitchNode | DefineNode | ExtrudeNode | LoftNode | LatheNode | FillNode | HullNode | MinkowskiNode | TextNode | GroupNode | DetailNode | SeedNode | PathNode | BackgroundNode | MaterialNode | SmoothingNode | PrintNode | AssertNode | IgnoredNode | MeshNode | ExpressionStatementNode | ColorNode | RotateNode | OrientationNode | TranslateNode | ScaleNode | CustomShapeNode;
|
|
47
89
|
export interface ShapeNode {
|
|
48
90
|
type: "shape";
|
|
49
|
-
primitive:
|
|
91
|
+
primitive: ShapePrimitive;
|
|
50
92
|
properties: ShapeProperties;
|
|
51
93
|
children?: SceneNode[];
|
|
94
|
+
/** `polygon { point … }`: explicit vertices (3D), with `color` and loops,
|
|
95
|
+
* making a single face rather than a regular polygon. */
|
|
96
|
+
points?: PathCommand[];
|
|
97
|
+
}
|
|
98
|
+
/** `mesh { polygon { … } … }` — a mesh assembled from polygon values. */
|
|
99
|
+
export interface MeshNode {
|
|
100
|
+
type: "mesh";
|
|
101
|
+
children: SceneNode[];
|
|
102
|
+
}
|
|
103
|
+
/** A bare expression as a statement: a call that returns a shape (`face data`
|
|
104
|
+
* inside `mesh`), or the value a function body ends with. */
|
|
105
|
+
export interface ExpressionStatementNode {
|
|
106
|
+
type: "expression";
|
|
107
|
+
value: Expression;
|
|
52
108
|
}
|
|
53
|
-
export
|
|
109
|
+
export type ShapePrimitive = "cube" | "sphere" | "icosphere" | "cylinder" | "cone" | "torus" | "circle" | "square" | "roundrect" | "polygon";
|
|
110
|
+
export interface ShapeProperties extends MaterialProperties {
|
|
54
111
|
position?: Vector3 | Expression;
|
|
55
112
|
rotation?: Vector3 | Expression;
|
|
56
113
|
orientation?: Vector3 | Expression;
|
|
57
114
|
size?: Vector3 | Expression;
|
|
58
|
-
|
|
59
|
-
|
|
115
|
+
/** `material name` inside a block: every property of the named bundle. */
|
|
116
|
+
material?: Expression;
|
|
117
|
+
/** Per-shape `detail` / `smoothing`, as upstream allows inside any block. */
|
|
118
|
+
detail?: number | Expression;
|
|
119
|
+
smoothing?: number | Expression;
|
|
120
|
+
name?: Expression;
|
|
60
121
|
sides?: number | Expression;
|
|
122
|
+
/** `roundrect` corner radius, as a proportion of the smaller side. */
|
|
123
|
+
radius?: number | Expression;
|
|
61
124
|
radiusTop?: number | Expression;
|
|
62
125
|
radiusBottom?: number | Expression;
|
|
63
126
|
height?: number | Expression;
|
|
@@ -73,15 +136,13 @@ export interface BlockNode {
|
|
|
73
136
|
type: "block";
|
|
74
137
|
children: SceneNode[];
|
|
75
138
|
}
|
|
139
|
+
/** `for v in <iterable> { … }`. The iterable is one expression: a range
|
|
140
|
+
* (`1 to 5 step 2`, or a symbol holding one) or a tuple of values. */
|
|
76
141
|
export interface ForLoopNode {
|
|
77
142
|
type: "for";
|
|
78
143
|
variable: string;
|
|
79
|
-
|
|
80
|
-
to: Expression | number;
|
|
81
|
-
step?: Expression | number;
|
|
82
|
-
iterableValues?: Expression;
|
|
144
|
+
iterable: Expression;
|
|
83
145
|
body: SceneNode[];
|
|
84
|
-
transforms?: TransformNode[];
|
|
85
146
|
}
|
|
86
147
|
export interface IfNode {
|
|
87
148
|
type: "if";
|
|
@@ -108,6 +169,10 @@ export interface DefineNode {
|
|
|
108
169
|
value?: Expression;
|
|
109
170
|
options?: OptionNode[];
|
|
110
171
|
body?: SceneNode[];
|
|
172
|
+
/** `define name(a b) { … }` — a function. `body` holds its statements
|
|
173
|
+
* (defines, or shapes it builds) and `value` the expression it ends with,
|
|
174
|
+
* if any; a function with no final expression returns what it built. */
|
|
175
|
+
params?: string[];
|
|
111
176
|
}
|
|
112
177
|
export interface OptionNode {
|
|
113
178
|
type: "option";
|
|
@@ -127,10 +192,34 @@ export interface BackgroundNode {
|
|
|
127
192
|
type: "background";
|
|
128
193
|
value: Expression;
|
|
129
194
|
}
|
|
130
|
-
|
|
131
|
-
|
|
195
|
+
/** A scoped material command: `opacity 0.5`, `metallicity 1`, `roughness 0.2`,
|
|
196
|
+
* `glow red`, `texture "file.png"` (warned, not rendered) or `material name`. */
|
|
197
|
+
export interface MaterialNode {
|
|
198
|
+
type: "material";
|
|
199
|
+
property: "opacity" | "metallicity" | "roughness" | "glow" | "texture" | "material";
|
|
200
|
+
value: Expression;
|
|
201
|
+
}
|
|
202
|
+
/** `smoothing N` — 0 draws every edge sharp (flat shading); anything else smooth. */
|
|
203
|
+
export interface SmoothingNode {
|
|
204
|
+
type: "smoothing";
|
|
205
|
+
value: Expression;
|
|
206
|
+
}
|
|
207
|
+
/** `print a b …` — logged, and returned to the agent with the tool result. */
|
|
208
|
+
export interface PrintNode {
|
|
209
|
+
type: "print";
|
|
210
|
+
value: Expression;
|
|
211
|
+
}
|
|
212
|
+
/** `assert condition` — a failing assertion stops the script. */
|
|
213
|
+
export interface AssertNode {
|
|
214
|
+
type: "assert";
|
|
132
215
|
value: Expression;
|
|
133
216
|
}
|
|
217
|
+
/** A block upstream renders but this renderer does not (`camera`, `light`):
|
|
218
|
+
* parsed and skipped, with a warning naming it. */
|
|
219
|
+
export interface IgnoredNode {
|
|
220
|
+
type: "ignored";
|
|
221
|
+
command: string;
|
|
222
|
+
}
|
|
134
223
|
export interface ColorNode {
|
|
135
224
|
type: "color";
|
|
136
225
|
value: Expression;
|
|
@@ -161,6 +250,8 @@ export interface ExtrudeNode {
|
|
|
161
250
|
path?: PathNode;
|
|
162
251
|
properties: ShapeProperties;
|
|
163
252
|
children?: SceneNode[];
|
|
253
|
+
/** `along <path>`: sweep the children (as sections) along this path. */
|
|
254
|
+
along?: SceneNode;
|
|
164
255
|
}
|
|
165
256
|
export interface LoftNode {
|
|
166
257
|
type: "loft";
|
|
@@ -182,6 +273,26 @@ export interface HullNode {
|
|
|
182
273
|
properties: ShapeProperties;
|
|
183
274
|
children: SceneNode[];
|
|
184
275
|
}
|
|
276
|
+
/** `minkowski { a b … }`: the Minkowski sum of its children, left to right. */
|
|
277
|
+
export interface MinkowskiNode {
|
|
278
|
+
type: "minkowski";
|
|
279
|
+
properties: ShapeProperties;
|
|
280
|
+
children: SceneNode[];
|
|
281
|
+
}
|
|
282
|
+
/** `text "Hello"` / `text { size 0.5 … "Hello" }`: glyph outlines laid out
|
|
283
|
+
* from the origin — the left margin at x = 0, the first baseline at y = 0. */
|
|
284
|
+
export interface TextNode {
|
|
285
|
+
type: "text";
|
|
286
|
+
/** One expression per line of text; a tuple's values are interpolated. */
|
|
287
|
+
lines: Expression[];
|
|
288
|
+
properties: ShapeProperties;
|
|
289
|
+
/** `wrapwidth`: wrap lines to this width in world units. */
|
|
290
|
+
wrapWidth?: Expression;
|
|
291
|
+
/** `linespacing`: extra distance between lines, in world units. */
|
|
292
|
+
lineSpacing?: Expression;
|
|
293
|
+
/** `font` inside the block: accepted and skipped with a warning. */
|
|
294
|
+
font?: Expression;
|
|
295
|
+
}
|
|
185
296
|
export interface GroupNode {
|
|
186
297
|
type: "group";
|
|
187
298
|
children: SceneNode[];
|
|
@@ -194,11 +305,29 @@ export interface PathNode {
|
|
|
194
305
|
* `loft` section is placed in 3D without a wrapping `fill`. */
|
|
195
306
|
properties?: ShapeProperties;
|
|
196
307
|
}
|
|
197
|
-
export type PathCommand = DefineNode | PointCommand | CurveCommand | RotateCommand | TranslateCommand | ScaleCommand | DetailPathCommand | ForLoopPathCommand;
|
|
308
|
+
export type PathCommand = DefineNode | PointCommand | CurveCommand | ArcCommand | RotateCommand | TranslateCommand | ScaleCommand | DetailPathCommand | ColorPathCommand | ForLoopPathCommand;
|
|
309
|
+
/** `color …` inside a path or polygon block: the colour of the points that follow. */
|
|
310
|
+
export interface ColorPathCommand {
|
|
311
|
+
type: "color";
|
|
312
|
+
value: Expression;
|
|
313
|
+
}
|
|
198
314
|
export interface PointCommand {
|
|
199
315
|
type: "point";
|
|
200
316
|
x: number | Expression;
|
|
201
317
|
y: number | Expression;
|
|
318
|
+
/** A third coordinate is accepted for upstream compatibility; paths here are
|
|
319
|
+
* planar, so it must be zero. */
|
|
320
|
+
z?: Expression;
|
|
321
|
+
}
|
|
322
|
+
/** `arc { angle A [position] [orientation] [size] }` inside a path: a circular
|
|
323
|
+
* arc of `angle` half-turns, clockwise from +Y, radius `size / 2` (default
|
|
324
|
+
* 0.5), sampled at the current detail. */
|
|
325
|
+
export interface ArcCommand {
|
|
326
|
+
type: "arc";
|
|
327
|
+
angle?: Expression;
|
|
328
|
+
position?: Expression;
|
|
329
|
+
orientation?: Expression;
|
|
330
|
+
size?: Expression;
|
|
202
331
|
}
|
|
203
332
|
/** A quadratic Bézier CONTROL point. The curve passes through the neighbouring
|
|
204
333
|
* `point`s, not through this one; two `curve`s in a row get an implicit
|
|
@@ -207,6 +336,7 @@ export interface CurveCommand {
|
|
|
207
336
|
type: "curve";
|
|
208
337
|
x: number | Expression;
|
|
209
338
|
y: number | Expression;
|
|
339
|
+
z?: Expression;
|
|
210
340
|
}
|
|
211
341
|
export interface RotateCommand {
|
|
212
342
|
type: "rotate";
|
|
@@ -231,14 +361,14 @@ export interface DetailPathCommand {
|
|
|
231
361
|
export interface ForLoopPathCommand {
|
|
232
362
|
type: "for";
|
|
233
363
|
variable: string;
|
|
234
|
-
|
|
235
|
-
to: number | Expression;
|
|
236
|
-
step?: number | Expression;
|
|
364
|
+
iterable: Expression;
|
|
237
365
|
commands: PathCommand[];
|
|
238
366
|
}
|
|
239
367
|
export declare enum TokenType {
|
|
240
368
|
CUBE = "CUBE",
|
|
241
369
|
SPHERE = "SPHERE",
|
|
370
|
+
ICOSPHERE = "ICOSPHERE",
|
|
371
|
+
ROUNDRECT = "ROUNDRECT",
|
|
242
372
|
CYLINDER = "CYLINDER",
|
|
243
373
|
CONE = "CONE",
|
|
244
374
|
TORUS = "TORUS",
|
|
@@ -250,14 +380,25 @@ export declare enum TokenType {
|
|
|
250
380
|
LATHE = "LATHE",
|
|
251
381
|
FILL = "FILL",
|
|
252
382
|
HULL = "HULL",
|
|
383
|
+
MINKOWSKI = "MINKOWSKI",
|
|
384
|
+
TEXT = "TEXT",
|
|
253
385
|
GROUP = "GROUP",
|
|
386
|
+
MESH = "MESH",
|
|
254
387
|
PATH = "PATH",
|
|
255
388
|
POINT = "POINT",
|
|
256
389
|
CURVE = "CURVE",
|
|
390
|
+
ARC = "ARC",
|
|
257
391
|
DETAIL = "DETAIL",
|
|
392
|
+
SMOOTHING = "SMOOTHING",
|
|
258
393
|
SEED = "SEED",
|
|
259
394
|
BACKGROUND = "BACKGROUND",
|
|
260
395
|
TEXTURE = "TEXTURE",
|
|
396
|
+
MATERIAL = "MATERIAL",
|
|
397
|
+
METALLICITY = "METALLICITY",
|
|
398
|
+
ROUGHNESS = "ROUGHNESS",
|
|
399
|
+
GLOW = "GLOW",
|
|
400
|
+
PRINT = "PRINT",
|
|
401
|
+
ASSERT = "ASSERT",
|
|
261
402
|
UNION = "UNION",
|
|
262
403
|
DIFFERENCE = "DIFFERENCE",
|
|
263
404
|
INTERSECTION = "INTERSECTION",
|
|
@@ -285,6 +426,8 @@ export declare enum TokenType {
|
|
|
285
426
|
NUMBER = "NUMBER",
|
|
286
427
|
IDENTIFIER = "IDENTIFIER",
|
|
287
428
|
STRING = "STRING",
|
|
429
|
+
/** `#RGB`, `#RGBA`, `#RRGGBB` or `#RRGGBBAA`; the value is the digits. */
|
|
430
|
+
HEXCOLOR = "HEXCOLOR",
|
|
288
431
|
PLUS = "PLUS",
|
|
289
432
|
MINUS = "MINUS",
|
|
290
433
|
STAR = "STAR",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shapescript/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shapescript/types.ts"],"names":[],"mappings":"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"}
|