@mulmoclaude/shapescript-plugin 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +61 -0
  2. package/dist/core/definition.d.ts +21 -0
  3. package/dist/core/definition.d.ts.map +1 -0
  4. package/dist/core/index.d.ts +8 -0
  5. package/dist/core/index.d.ts.map +1 -0
  6. package/dist/core/plugin.d.ts +8 -0
  7. package/dist/core/plugin.d.ts.map +1 -0
  8. package/dist/core/samples.d.ts +3 -0
  9. package/dist/core/samples.d.ts.map +1 -0
  10. package/dist/core/types.d.ts +22 -0
  11. package/dist/core/types.d.ts.map +1 -0
  12. package/dist/core.cjs +1 -0
  13. package/dist/core.js +2 -0
  14. package/dist/index.cjs +1 -0
  15. package/dist/index.d.ts +2 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +3 -0
  18. package/dist/lang/de.d.ts +4 -0
  19. package/dist/lang/de.d.ts.map +1 -0
  20. package/dist/lang/en.d.ts +4 -0
  21. package/dist/lang/en.d.ts.map +1 -0
  22. package/dist/lang/es.d.ts +4 -0
  23. package/dist/lang/es.d.ts.map +1 -0
  24. package/dist/lang/fr.d.ts +4 -0
  25. package/dist/lang/fr.d.ts.map +1 -0
  26. package/dist/lang/index.d.ts +7 -0
  27. package/dist/lang/index.d.ts.map +1 -0
  28. package/dist/lang/ja.d.ts +4 -0
  29. package/dist/lang/ja.d.ts.map +1 -0
  30. package/dist/lang/ko.d.ts +4 -0
  31. package/dist/lang/ko.d.ts.map +1 -0
  32. package/dist/lang/messages.d.ts +11 -0
  33. package/dist/lang/messages.d.ts.map +1 -0
  34. package/dist/lang/ptBR.d.ts +4 -0
  35. package/dist/lang/ptBR.d.ts.map +1 -0
  36. package/dist/lang/zh.d.ts +4 -0
  37. package/dist/lang/zh.d.ts.map +1 -0
  38. package/dist/shapescript/dispose.d.ts +16 -0
  39. package/dist/shapescript/dispose.d.ts.map +1 -0
  40. package/dist/shapescript/evaluator.d.ts +22 -0
  41. package/dist/shapescript/evaluator.d.ts.map +1 -0
  42. package/dist/shapescript/parser.d.ts +40 -0
  43. package/dist/shapescript/parser.d.ts.map +1 -0
  44. package/dist/shapescript/toThreeJS.d.ts +124 -0
  45. package/dist/shapescript/toThreeJS.d.ts.map +1 -0
  46. package/dist/shapescript/types.d.ts +304 -0
  47. package/dist/shapescript/types.d.ts.map +1 -0
  48. package/dist/style.css +3 -0
  49. package/dist/toThreeJS-CtWReTrz.cjs +169 -0
  50. package/dist/toThreeJS-DjFysw4f.js +11745 -0
  51. package/dist/vue/Preview.vue.d.ts +9 -0
  52. package/dist/vue/Preview.vue.d.ts.map +1 -0
  53. package/dist/vue/View.vue.d.ts +13 -0
  54. package/dist/vue/View.vue.d.ts.map +1 -0
  55. package/dist/vue/index.d.ts +20 -0
  56. package/dist/vue/index.d.ts.map +1 -0
  57. package/dist/vue.cjs +4185 -0
  58. package/dist/vue.js +6741 -0
  59. package/package.json +86 -0
@@ -0,0 +1,304 @@
1
+ export type Vector3 = [number, number, number];
2
+ export type Color = [number, number, number];
3
+ export type Expression = NumberLiteral | IdentifierExpr | BinaryExpr | UnaryExpr | FunctionCall | MemberAccess | SubscriptExpr | TupleExpr;
4
+ export interface NumberLiteral {
5
+ type: "number";
6
+ value: number;
7
+ }
8
+ export interface IdentifierExpr {
9
+ type: "identifier";
10
+ name: string;
11
+ }
12
+ export interface BinaryExpr {
13
+ type: "binary";
14
+ operator: string;
15
+ left: Expression;
16
+ right: Expression;
17
+ }
18
+ export interface UnaryExpr {
19
+ type: "unary";
20
+ operator: string;
21
+ operand: Expression;
22
+ }
23
+ export interface FunctionCall {
24
+ type: "call";
25
+ name: string;
26
+ args: Expression[];
27
+ }
28
+ export interface MemberAccess {
29
+ type: "member";
30
+ object: Expression;
31
+ member: string;
32
+ }
33
+ export interface SubscriptExpr {
34
+ type: "subscript";
35
+ object: Expression;
36
+ index: Expression;
37
+ }
38
+ export interface TupleExpr {
39
+ type: "tuple";
40
+ elements: Expression[];
41
+ }
42
+ export type SceneNode = ShapeNode | CSGNode | BlockNode | ForLoopNode | IfNode | SwitchNode | DefineNode | ExtrudeNode | LoftNode | LatheNode | FillNode | HullNode | GroupNode | DetailNode | PathNode | BackgroundNode | TextureNode | ColorNode | RotateNode | OrientationNode | TranslateNode | ScaleNode | CustomShapeNode;
43
+ export interface ShapeNode {
44
+ type: "shape";
45
+ primitive: "cube" | "sphere" | "cylinder" | "cone" | "torus" | "circle" | "square" | "polygon";
46
+ properties: ShapeProperties;
47
+ children?: SceneNode[];
48
+ }
49
+ export interface ShapeProperties {
50
+ position?: Vector3 | Expression;
51
+ rotation?: Vector3 | Expression;
52
+ orientation?: Vector3 | Expression;
53
+ size?: Vector3 | Expression;
54
+ color?: Color | Expression;
55
+ opacity?: number | Expression;
56
+ radiusTop?: number | Expression;
57
+ radiusBottom?: number | Expression;
58
+ height?: number | Expression;
59
+ innerRadius?: number | Expression;
60
+ outerRadius?: number | Expression;
61
+ }
62
+ export interface CSGNode {
63
+ type: "csg";
64
+ operation: "union" | "difference" | "intersection" | "xor" | "stencil";
65
+ children: SceneNode[];
66
+ }
67
+ export interface BlockNode {
68
+ type: "block";
69
+ children: SceneNode[];
70
+ }
71
+ export interface ForLoopNode {
72
+ type: "for";
73
+ variable: string;
74
+ from: Expression | number;
75
+ to: Expression | number;
76
+ step?: Expression | number;
77
+ iterableValues?: Expression;
78
+ body: SceneNode[];
79
+ transforms?: TransformNode[];
80
+ }
81
+ export interface IfNode {
82
+ type: "if";
83
+ condition: Expression;
84
+ thenBody: SceneNode[];
85
+ elseBody?: SceneNode[];
86
+ }
87
+ export interface SwitchNode {
88
+ type: "switch";
89
+ value: Expression;
90
+ cases: Array<{
91
+ values: Expression[];
92
+ body: SceneNode[];
93
+ }>;
94
+ defaultCase?: SceneNode[];
95
+ }
96
+ export interface TransformNode {
97
+ type: "rotate" | "translate" | "scale";
98
+ values: Vector3;
99
+ }
100
+ export interface DefineNode {
101
+ type: "define";
102
+ name: string;
103
+ value?: Expression;
104
+ options?: OptionNode[];
105
+ body?: SceneNode[];
106
+ }
107
+ export interface OptionNode {
108
+ type: "option";
109
+ name: string;
110
+ defaultValue: Expression;
111
+ }
112
+ export interface DetailNode {
113
+ type: "detail";
114
+ value: number | Expression;
115
+ }
116
+ export interface BackgroundNode {
117
+ type: "background";
118
+ value: Expression;
119
+ }
120
+ export interface TextureNode {
121
+ type: "texture";
122
+ value: Expression;
123
+ }
124
+ export interface ColorNode {
125
+ type: "color";
126
+ value: Expression;
127
+ }
128
+ export interface RotateNode {
129
+ type: "rotate";
130
+ value: Expression;
131
+ }
132
+ export interface OrientationNode {
133
+ type: "orientation";
134
+ value: Expression;
135
+ }
136
+ export interface TranslateNode {
137
+ type: "translate";
138
+ value: Expression;
139
+ }
140
+ export interface ScaleNode {
141
+ type: "scale";
142
+ value: Expression;
143
+ }
144
+ export interface CustomShapeNode {
145
+ type: "customShape";
146
+ name: string;
147
+ properties: Record<string, unknown>;
148
+ }
149
+ export interface ExtrudeNode {
150
+ type: "extrude";
151
+ path?: PathNode;
152
+ properties: ShapeProperties;
153
+ children?: SceneNode[];
154
+ }
155
+ export interface LoftNode {
156
+ type: "loft";
157
+ properties: ShapeProperties;
158
+ children: SceneNode[];
159
+ }
160
+ export interface LatheNode {
161
+ type: "lathe";
162
+ properties: ShapeProperties;
163
+ children: SceneNode[];
164
+ }
165
+ export interface FillNode {
166
+ type: "fill";
167
+ properties: ShapeProperties;
168
+ children: SceneNode[];
169
+ }
170
+ export interface HullNode {
171
+ type: "hull";
172
+ properties: ShapeProperties;
173
+ children: SceneNode[];
174
+ }
175
+ export interface GroupNode {
176
+ type: "group";
177
+ children: SceneNode[];
178
+ }
179
+ export interface PathNode {
180
+ type: "path";
181
+ commands: PathCommand[];
182
+ }
183
+ export type PathCommand = PointCommand | CurveCommand | RotateCommand | TranslateCommand | DetailPathCommand | ForLoopPathCommand;
184
+ export interface PointCommand {
185
+ type: "point";
186
+ x: number | Expression;
187
+ y: number | Expression;
188
+ }
189
+ export interface CurveCommand {
190
+ type: "curve";
191
+ x: number | Expression;
192
+ y: number | Expression;
193
+ controlX?: number | Expression;
194
+ controlY?: number | Expression;
195
+ }
196
+ export interface RotateCommand {
197
+ type: "rotate";
198
+ angle: number | Expression;
199
+ }
200
+ export interface TranslateCommand {
201
+ type: "translate";
202
+ x: number | Expression;
203
+ y: number | Expression;
204
+ }
205
+ export interface DetailPathCommand {
206
+ type: "detail";
207
+ value: number | Expression;
208
+ }
209
+ export interface ForLoopPathCommand {
210
+ type: "for";
211
+ variable: string;
212
+ from: number | Expression;
213
+ to: number | Expression;
214
+ step?: number | Expression;
215
+ commands: PathCommand[];
216
+ }
217
+ export declare enum TokenType {
218
+ CUBE = "CUBE",
219
+ SPHERE = "SPHERE",
220
+ CYLINDER = "CYLINDER",
221
+ CONE = "CONE",
222
+ TORUS = "TORUS",
223
+ CIRCLE = "CIRCLE",
224
+ SQUARE = "SQUARE",
225
+ POLYGON = "POLYGON",
226
+ EXTRUDE = "EXTRUDE",
227
+ LOFT = "LOFT",
228
+ LATHE = "LATHE",
229
+ FILL = "FILL",
230
+ HULL = "HULL",
231
+ GROUP = "GROUP",
232
+ PATH = "PATH",
233
+ POINT = "POINT",
234
+ CURVE = "CURVE",
235
+ DETAIL = "DETAIL",
236
+ BACKGROUND = "BACKGROUND",
237
+ TEXTURE = "TEXTURE",
238
+ UNION = "UNION",
239
+ DIFFERENCE = "DIFFERENCE",
240
+ INTERSECTION = "INTERSECTION",
241
+ XOR = "XOR",
242
+ STENCIL = "STENCIL",
243
+ FOR = "FOR",
244
+ IN = "IN",
245
+ TO = "TO",
246
+ STEP = "STEP",
247
+ IF = "IF",
248
+ ELSE = "ELSE",
249
+ SWITCH = "SWITCH",
250
+ CASE = "CASE",
251
+ DEFINE = "DEFINE",
252
+ OPTION = "OPTION",
253
+ POSITION = "POSITION",
254
+ ROTATION = "ROTATION",
255
+ ORIENTATION = "ORIENTATION",
256
+ SIZE = "SIZE",
257
+ COLOR = "COLOR",
258
+ OPACITY = "OPACITY",
259
+ ROTATE = "ROTATE",
260
+ TRANSLATE = "TRANSLATE",
261
+ SCALE = "SCALE",
262
+ NUMBER = "NUMBER",
263
+ IDENTIFIER = "IDENTIFIER",
264
+ STRING = "STRING",
265
+ PLUS = "PLUS",
266
+ MINUS = "MINUS",
267
+ STAR = "STAR",
268
+ DIVIDE = "DIVIDE",
269
+ PERCENT = "PERCENT",
270
+ LPAREN = "LPAREN",
271
+ RPAREN = "RPAREN",
272
+ LBRACKET = "LBRACKET",
273
+ RBRACKET = "RBRACKET",
274
+ DOT = "DOT",
275
+ EQUALS = "EQUALS",
276
+ NOT_EQUALS = "NOT_EQUALS",
277
+ LESS = "LESS",
278
+ LESS_EQUAL = "LESS_EQUAL",
279
+ GREATER = "GREATER",
280
+ GREATER_EQUAL = "GREATER_EQUAL",
281
+ AND = "AND",
282
+ OR = "OR",
283
+ NOT = "NOT",
284
+ LBRACE = "LBRACE",
285
+ RBRACE = "RBRACE",
286
+ COMMA = "COMMA",
287
+ SLASH = "SLASH",
288
+ NEWLINE = "NEWLINE",
289
+ EOF = "EOF",
290
+ COMMENT = "COMMENT"
291
+ }
292
+ export interface Token {
293
+ type: TokenType;
294
+ value: string | number;
295
+ line: number;
296
+ column: number;
297
+ precedingWhitespace?: boolean;
298
+ }
299
+ export declare class ParseError extends Error {
300
+ line?: number | undefined;
301
+ column?: number | undefined;
302
+ constructor(message: string, line?: number | undefined, column?: number | undefined);
303
+ }
304
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shapescript/types.ts"],"names":[],"mappings":"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"}
package/dist/style.css ADDED
@@ -0,0 +1,3 @@
1
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.present3d-container[data-v-c9f830ea]{color:#fff;background:#1a1a1a;flex-direction:column;width:100%;height:100%;display:flex}.header[data-v-c9f830ea]{background:#2a2a2a;border-bottom:1px solid #444;justify-content:space-between;align-items:center;padding:1rem;display:flex}.header h1[data-v-c9f830ea]{margin:0;font-size:1.5rem;font-weight:600}.controls[data-v-c9f830ea]{gap:.5rem;display:flex}.control-btn[data-v-c9f830ea]{color:#fff;cursor:pointer;background:#3a3a3a;border:1px solid #555;border-radius:4px;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.9rem;transition:background .2s;display:flex}.control-btn[data-v-c9f830ea]:hover{background:#4a4a4a}.control-btn .material-icons[data-v-c9f830ea]{font-size:1.2rem}.viewport[data-v-c9f830ea]{flex:1;min-height:0;position:relative}.error[data-v-c9f830ea]{color:#f66;background:#ff000020;border-bottom:1px solid #ff000040;padding:1rem;font-family:monospace}.script-source[data-v-c9f830ea]{background:#00000040;border-top:1px solid #444;padding:.5rem;font-family:monospace;font-size:.85rem}.script-source summary[data-v-c9f830ea]{cursor:pointer;-webkit-user-select:none;user-select:none;background:#2a2a2a;border-radius:4px;padding:.5rem}.script-source[open] summary[data-v-c9f830ea]{margin-bottom:.5rem}.script-source summary[data-v-c9f830ea]:hover{background:#3a3a3a}.script-editor[data-v-c9f830ea]{color:#aaa;resize:vertical;background:#1a1a1a;border:1px solid #444;border-radius:4px;width:100%;min-height:150px;margin-bottom:.5rem;padding:1rem;font-family:Courier New,monospace;font-size:.9rem}.script-editor[data-v-c9f830ea]:focus{background:#222;border-color:#666;outline:none}.apply-btn[data-v-c9f830ea]{color:#fff;cursor:pointer;background:#4caf50;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;transition:background .2s}.apply-btn[data-v-c9f830ea]:hover{background:#45a049}.apply-btn[data-v-c9f830ea]:active{background:#3d8b40}.apply-btn[data-v-c9f830ea]:disabled{color:#666;cursor:not-allowed;opacity:.6;background:#ccc}.apply-btn[data-v-c9f830ea]:disabled:hover{background:#ccc}.preview-container[data-v-3df26806]{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px;width:100%;height:100%;min-height:150px;position:relative;overflow:hidden}.preview-viewport[data-v-3df26806]{width:100%;height:100%}.preview-title[data-v-3df26806]{color:#fff;text-align:center;white-space:nowrap;text-overflow:ellipsis;background:#000000b3;padding:.5rem;font-size:.75rem;font-weight:500;position:absolute;bottom:0;left:0;right:0;overflow:hidden}
3
+ /*$vite$:1*/