@womp/spark-agent 9.0.0 → 9.1.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/CHANGELOG.md +27 -0
- package/dist/capabilities/materials.d.ts +10 -1
- package/dist/capabilities/materials.js +30 -10
- package/dist/generated/materials-declarations.d.ts +1 -1
- package/dist/generated/materials-declarations.js +1 -1
- package/dist/generated/materials-flowir-declarations.d.ts +1 -0
- package/dist/generated/materials-flowir-declarations.js +3 -0
- package/dist/materials/flowir.d.ts +15 -0
- package/dist/materials/flowir.js +362 -0
- package/dist/materials/graph.d.ts +7 -0
- package/dist/materials/graph.js +13 -1
- package/dist/materials/lift.d.ts +3 -0
- package/dist/materials/lift.js +216 -0
- package/dist/materials/schemas/materials-dialect.json +690 -0
- package/dist/materials/types.d.ts +15 -0
- package/dist/sdk-materials-host.js +136 -10
- package/package.json +3 -1
|
@@ -0,0 +1,690 @@
|
|
|
1
|
+
{
|
|
2
|
+
"types": ["Int", "Float", "Bool", "Vec3", "String"],
|
|
3
|
+
"enums": [
|
|
4
|
+
{
|
|
5
|
+
"name": "BlendMode",
|
|
6
|
+
"values": ["Mix", "Add", "Subtract", "Multiply", "Divide", "Difference", "Screen", "Lighten", "Darken", "LinearLight", "SoftLight", "Overlay", "ColorBurn", "ColorDodge", "Color", "Hue", "Saturation", "Value"]
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"name": "CompareOperation",
|
|
10
|
+
"values": ["Less", "Greater", "Equal", "NotEqual", "LessOrEqual", "GreaterOrEqual"]
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "SmoothOperation",
|
|
14
|
+
"values": ["SmoothMin", "SmoothMax"]
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "VoronoiFeature",
|
|
18
|
+
"values": ["Distance", "EdgeDistance", "Color", "SmoothDistance", "SmoothColor"]
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "VoronoiMetric",
|
|
22
|
+
"values": ["Euclidean", "Manhattan", "Chebyshev", "Minkowski"]
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "RampInterpolation",
|
|
26
|
+
"values": ["Linear", "Constant", "Smooth", "Sine", "Cosine"]
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"name": "TextureTransform",
|
|
30
|
+
"values": ["Raw", "SRGB", "NormalMap"]
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "ProjectionMode",
|
|
34
|
+
"values": ["Triplanar", "Cylindrical", "Cubic", "Equirectangular", "NormalizedSpherical", "NormalizedCylindrical", "Planar", "TriplanarUniform"]
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"casts": [
|
|
38
|
+
{ "from": "Float", "to": "Vec3", "desc": "splat: x -> Vec3(x,x,x)" },
|
|
39
|
+
{ "from": "Vec3", "to": "Float", "desc": "its x component" },
|
|
40
|
+
{ "from": "ProjectionMode", "to": "Vec3", "desc": "its position in ProjectionMode, from 0, splatted" }
|
|
41
|
+
],
|
|
42
|
+
"param": ["Float", "Vec3"],
|
|
43
|
+
"const": ["Float", "Vec3"],
|
|
44
|
+
"nodes": [
|
|
45
|
+
{
|
|
46
|
+
"name": "IncomingMaterial",
|
|
47
|
+
"type": "InputMaterial",
|
|
48
|
+
"desc": "the material entering this layer, including previous procedural layers; colors in layer 0 have legacy display encoding, later layers return linear RGB",
|
|
49
|
+
"inputs": [],
|
|
50
|
+
"outputs": [
|
|
51
|
+
{ "name": "PrimaryColor", "type": "Vec3" },
|
|
52
|
+
{ "name": "SecondaryColor", "type": "Vec3" },
|
|
53
|
+
{ "name": "Subsurface", "type": "Vec3" },
|
|
54
|
+
{ "name": "Metalness", "type": "Float" },
|
|
55
|
+
{ "name": "Roughness", "type": "Float" },
|
|
56
|
+
{ "name": "Transmittance", "type": "Float" },
|
|
57
|
+
{ "name": "Translucency", "type": "Float" },
|
|
58
|
+
{ "name": "IndexOfRefraction", "type": "Float" },
|
|
59
|
+
{ "name": "Iridescence", "type": "Float" },
|
|
60
|
+
{ "name": "Emission", "type": "Float" },
|
|
61
|
+
{ "name": "Absorption", "type": "Float" },
|
|
62
|
+
{ "name": "Sheen", "type": "Float" },
|
|
63
|
+
{ "name": "SpecularTint", "type": "Float" }
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"name": "InputPosition",
|
|
68
|
+
"type": "InputPosition",
|
|
69
|
+
"desc": "the shaded point in object space, y up, in the units of InputObjectInfo's LocalBounds: 1 unit is 25 mm on an unscaled object; SplitValues.Y gives its height",
|
|
70
|
+
"inputs": [],
|
|
71
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"name": "InputWorldPosition",
|
|
75
|
+
"type": "InputWorldPosition",
|
|
76
|
+
"desc": "the shaded point in scene space, y up; 1 unit is 25 mm",
|
|
77
|
+
"inputs": [],
|
|
78
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": "InputNormal",
|
|
82
|
+
"type": "InputNormal",
|
|
83
|
+
"desc": "the unit surface normal in object space; SplitValues.Y gives how much it faces up",
|
|
84
|
+
"inputs": [],
|
|
85
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "InputWorldNormal",
|
|
89
|
+
"type": "InputWorldNormal",
|
|
90
|
+
"desc": "the unit surface normal in scene space; use with InputWorldPosition for projection",
|
|
91
|
+
"inputs": [],
|
|
92
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "InputObjectInfo",
|
|
96
|
+
"type": "InputObjectInfo",
|
|
97
|
+
"desc": "the object's bounding box",
|
|
98
|
+
"inputs": [],
|
|
99
|
+
"outputs": [
|
|
100
|
+
{ "name": "Bounds", "type": "Vec3", "desc": "size in scene space" },
|
|
101
|
+
{ "name": "Center", "type": "Vec3", "desc": "center in scene space" },
|
|
102
|
+
{ "name": "LocalBounds", "type": "Vec3", "desc": "size in object space" },
|
|
103
|
+
{ "name": "LocalCenter", "type": "Vec3", "desc": "center in object space" }
|
|
104
|
+
]
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"name": "ScalarNoise",
|
|
108
|
+
"type": "Noise1D",
|
|
109
|
+
"desc": "3D gradient noise at Position*FrequencyScale, broadcast to x,y,z; Amplitude multiplies its 0..1 range, or -1..1 with ExtendedRange",
|
|
110
|
+
"inputs": [
|
|
111
|
+
{ "name": "Position", "type": "Vec3" },
|
|
112
|
+
{ "name": "FrequencyScale", "type": "Vec3" },
|
|
113
|
+
{ "name": "Detail", "type": "Int", "desc": "octaves, 1 to 16; 3 to 6 is typical" },
|
|
114
|
+
{ "name": "Amplitude", "type": "Float", "desc": "multiplies the result" },
|
|
115
|
+
{ "name": "ExtendedRange", "type": "Bool", "optional": true, "desc": "result in -1..1 instead of 0..1" }
|
|
116
|
+
],
|
|
117
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"name": "VectorNoise",
|
|
121
|
+
"type": "Noise3D",
|
|
122
|
+
"desc": "3D gradient noise at three offset positions, one sample per RGB/XYZ component; Amplitude multiplies the range",
|
|
123
|
+
"inputs": [
|
|
124
|
+
{ "name": "Position", "type": "Vec3" },
|
|
125
|
+
{ "name": "FrequencyScale", "type": "Vec3" },
|
|
126
|
+
{ "name": "Detail", "type": "Int", "desc": "octaves, 1 to 16; 3 to 6 is typical" },
|
|
127
|
+
{ "name": "Amplitude", "type": "Float", "desc": "multiplies the result" },
|
|
128
|
+
{ "name": "ExtendedRange", "type": "Bool", "optional": true, "desc": "result in -1..1 instead of 0..1" }
|
|
129
|
+
],
|
|
130
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"name": "NoiseFBM",
|
|
134
|
+
"type": "NoiseFBM",
|
|
135
|
+
"desc": "equal-amplitude Perlin octaves at Position*FrequencyScale, doubling frequency; remapped and clamped to 0..1, broadcast to x,y,z; Detail also changes contrast",
|
|
136
|
+
"inputs": [
|
|
137
|
+
{ "name": "Position", "type": "Vec3" },
|
|
138
|
+
{ "name": "FrequencyScale", "type": "Vec3" },
|
|
139
|
+
{ "name": "Detail", "type": "Int", "desc": "octaves, 1 to 16; 3 to 6 is typical" },
|
|
140
|
+
{ "name": "Amplitude", "type": "Float", "desc": "multiplies the result" },
|
|
141
|
+
{ "name": "ExtendedRange", "type": "Bool", "optional": true, "desc": "result in -1..1 instead of 0..1" }
|
|
142
|
+
],
|
|
143
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"name": "NoiseVoronoi",
|
|
147
|
+
"type": "NoiseVoronoi",
|
|
148
|
+
"desc": "cellular noise at Position*Scale",
|
|
149
|
+
"inputs": [
|
|
150
|
+
{ "name": "Position", "type": "Vec3" },
|
|
151
|
+
{ "name": "Scale", "type": "Vec3" },
|
|
152
|
+
{ "name": "Feature", "type": "VoronoiFeature", "desc": "Distance and EdgeDistance give a value, Color gives a random color per cell" },
|
|
153
|
+
{ "name": "Metric", "type": "VoronoiMetric", "optional": true, "desc": "defaults to Euclidean" }
|
|
154
|
+
],
|
|
155
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"name": "WavesTexture",
|
|
159
|
+
"type": "WavesTexture",
|
|
160
|
+
"desc": "rings around the origin: Amplitude*(0.5*sin(length(Position*FrequencyScale)-pi/2)+0.5); ExtendedRange=true uses Amplitude*sin(...)",
|
|
161
|
+
"inputs": [
|
|
162
|
+
{ "name": "Position", "type": "Vec3" },
|
|
163
|
+
{ "name": "FrequencyScale", "type": "Vec3" },
|
|
164
|
+
{ "name": "Amplitude", "type": "Float", "desc": "multiplies the result" },
|
|
165
|
+
{ "name": "ExtendedRange", "type": "Bool", "optional": true, "desc": "result in -1..1 instead of 0..1" }
|
|
166
|
+
],
|
|
167
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"name": "CheckerTexture",
|
|
171
|
+
"type": "CheckerTexture",
|
|
172
|
+
"desc": "a 3D checkerboard of unit cells at Position*FrequencyScale: 1 or 0",
|
|
173
|
+
"inputs": [
|
|
174
|
+
{ "name": "Position", "type": "Vec3" },
|
|
175
|
+
{ "name": "FrequencyScale", "type": "Vec3" }
|
|
176
|
+
],
|
|
177
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"name": "BrickTexture",
|
|
181
|
+
"type": "BrickTexture",
|
|
182
|
+
"desc": "bricks in the xy plane of Position*FrequencyScale, every other row offset by half a brick; BrickWidth, RowHeight and MortarSize are in units of Position*FrequencyScale",
|
|
183
|
+
"inputs": [
|
|
184
|
+
{ "name": "Position", "type": "Vec3" },
|
|
185
|
+
{ "name": "FrequencyScale", "type": "Vec3" },
|
|
186
|
+
{ "name": "BrickWidth", "type": "Float" },
|
|
187
|
+
{ "name": "RowHeight", "type": "Float" },
|
|
188
|
+
{ "name": "MortarSize", "type": "Float" },
|
|
189
|
+
{ "name": "Color0", "type": "Vec3", "optional": true },
|
|
190
|
+
{ "name": "Color1", "type": "Vec3", "optional": true },
|
|
191
|
+
{ "name": "ColorBias", "type": "Float", "optional": true, "desc": "added to each brick's random value" }
|
|
192
|
+
],
|
|
193
|
+
"outputs": [
|
|
194
|
+
{ "name": "Variation", "type": "Float", "desc": "a random value per brick, 0..1" },
|
|
195
|
+
{ "name": "MortarMask", "type": "Float", "desc": "1 in the mortar, 0 on a brick, fractional at smooth edges" },
|
|
196
|
+
{ "name": "Color", "type": "Vec3", "desc": "Color0 mixed toward Color1 by Variation; mortar color is separate" }
|
|
197
|
+
]
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"name": "ScalarAdd",
|
|
201
|
+
"type": "Math",
|
|
202
|
+
"desc": "First + Second, using scalar x components",
|
|
203
|
+
"inputs": [
|
|
204
|
+
{ "name": "First", "type": "Float" },
|
|
205
|
+
{ "name": "Second", "type": "Float" },
|
|
206
|
+
{ "name": "Clamp", "type": "Bool", "optional": true, "desc": "clamps to 0..1" }
|
|
207
|
+
],
|
|
208
|
+
"outputs": [{ "name": "Output", "type": "Float" }]
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"name": "ScalarSubtract",
|
|
212
|
+
"type": "Math",
|
|
213
|
+
"desc": "First - Second, using scalar x components",
|
|
214
|
+
"inputs": [
|
|
215
|
+
{ "name": "First", "type": "Float" },
|
|
216
|
+
{ "name": "Second", "type": "Float" },
|
|
217
|
+
{ "name": "Clamp", "type": "Bool", "optional": true, "desc": "clamps to 0..1" }
|
|
218
|
+
],
|
|
219
|
+
"outputs": [{ "name": "Output", "type": "Float" }]
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
"name": "ScalarMultiply",
|
|
223
|
+
"type": "Math",
|
|
224
|
+
"desc": "First * Second, using scalar x components",
|
|
225
|
+
"inputs": [
|
|
226
|
+
{ "name": "First", "type": "Float" },
|
|
227
|
+
{ "name": "Second", "type": "Float" },
|
|
228
|
+
{ "name": "Clamp", "type": "Bool", "optional": true, "desc": "clamps to 0..1" }
|
|
229
|
+
],
|
|
230
|
+
"outputs": [{ "name": "Output", "type": "Float" }]
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"name": "ScalarDivide",
|
|
234
|
+
"type": "Math",
|
|
235
|
+
"desc": "First / Second, using scalar x components",
|
|
236
|
+
"inputs": [
|
|
237
|
+
{ "name": "First", "type": "Float" },
|
|
238
|
+
{ "name": "Second", "type": "Float" },
|
|
239
|
+
{ "name": "Clamp", "type": "Bool", "optional": true, "desc": "clamps to 0..1" }
|
|
240
|
+
],
|
|
241
|
+
"outputs": [{ "name": "Output", "type": "Float" }]
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"name": "MathAdd",
|
|
245
|
+
"type": "Math",
|
|
246
|
+
"desc": "First + Second, per component",
|
|
247
|
+
"inputs": [
|
|
248
|
+
{ "name": "First", "type": "Vec3" },
|
|
249
|
+
{ "name": "Second", "type": "Vec3" },
|
|
250
|
+
{ "name": "Clamp", "type": "Bool", "optional": true, "desc": "clamps the result to 0..1" }
|
|
251
|
+
],
|
|
252
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"name": "MathSubtract",
|
|
256
|
+
"type": "Math",
|
|
257
|
+
"desc": "First - Second, per component",
|
|
258
|
+
"inputs": [
|
|
259
|
+
{ "name": "First", "type": "Vec3" },
|
|
260
|
+
{ "name": "Second", "type": "Vec3" },
|
|
261
|
+
{ "name": "Clamp", "type": "Bool", "optional": true, "desc": "clamps the result to 0..1" }
|
|
262
|
+
],
|
|
263
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"name": "MathMultiply",
|
|
267
|
+
"type": "Math",
|
|
268
|
+
"desc": "First * Second, per component",
|
|
269
|
+
"inputs": [
|
|
270
|
+
{ "name": "First", "type": "Vec3" },
|
|
271
|
+
{ "name": "Second", "type": "Vec3" },
|
|
272
|
+
{ "name": "Clamp", "type": "Bool", "optional": true, "desc": "clamps the result to 0..1" }
|
|
273
|
+
],
|
|
274
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"name": "MathDivide",
|
|
278
|
+
"type": "Math",
|
|
279
|
+
"desc": "First / Second, per component",
|
|
280
|
+
"inputs": [
|
|
281
|
+
{ "name": "First", "type": "Vec3" },
|
|
282
|
+
{ "name": "Second", "type": "Vec3" }
|
|
283
|
+
],
|
|
284
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"name": "MathPower",
|
|
288
|
+
"type": "Math",
|
|
289
|
+
"desc": "First to the power of Second, per component; First below 0 counts as 0",
|
|
290
|
+
"inputs": [
|
|
291
|
+
{ "name": "First", "type": "Vec3" },
|
|
292
|
+
{ "name": "Second", "type": "Vec3" }
|
|
293
|
+
],
|
|
294
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"name": "MathSine",
|
|
298
|
+
"type": "Math",
|
|
299
|
+
"desc": "sin(Value), in radians, per component",
|
|
300
|
+
"inputs": [{ "name": "Value", "type": "Vec3" }],
|
|
301
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
"name": "MathCosine",
|
|
305
|
+
"type": "Math",
|
|
306
|
+
"desc": "cos(Value), in radians, per component",
|
|
307
|
+
"inputs": [{ "name": "Value", "type": "Vec3" }],
|
|
308
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
"name": "MathAbsoluteValue",
|
|
312
|
+
"type": "Math",
|
|
313
|
+
"desc": "abs(Value), per component",
|
|
314
|
+
"inputs": [{ "name": "Value", "type": "Vec3" }],
|
|
315
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
"name": "MathLength",
|
|
319
|
+
"type": "Math",
|
|
320
|
+
"desc": "the length of Value, in x, y and z",
|
|
321
|
+
"inputs": [{ "name": "Value", "type": "Vec3" }],
|
|
322
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"name": "MathFraction",
|
|
326
|
+
"type": "Math",
|
|
327
|
+
"desc": "Value minus its floor, per component",
|
|
328
|
+
"inputs": [{ "name": "Value", "type": "Vec3" }],
|
|
329
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"name": "MathModulo",
|
|
333
|
+
"type": "Math",
|
|
334
|
+
"desc": "First modulo Second, floored, per component",
|
|
335
|
+
"inputs": [
|
|
336
|
+
{ "name": "First", "type": "Vec3" },
|
|
337
|
+
{ "name": "Second", "type": "Vec3" }
|
|
338
|
+
],
|
|
339
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
"name": "MathFloor",
|
|
343
|
+
"type": "Math",
|
|
344
|
+
"desc": "Value rounded down, per component",
|
|
345
|
+
"inputs": [{ "name": "Value", "type": "Vec3" }],
|
|
346
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
"name": "MathMin",
|
|
350
|
+
"type": "Math",
|
|
351
|
+
"desc": "the smaller of First and Second, per component",
|
|
352
|
+
"inputs": [
|
|
353
|
+
{ "name": "First", "type": "Vec3" },
|
|
354
|
+
{ "name": "Second", "type": "Vec3" }
|
|
355
|
+
],
|
|
356
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
"name": "MathMax",
|
|
360
|
+
"type": "Math",
|
|
361
|
+
"desc": "the larger of First and Second, per component",
|
|
362
|
+
"inputs": [
|
|
363
|
+
{ "name": "First", "type": "Vec3" },
|
|
364
|
+
{ "name": "Second", "type": "Vec3" }
|
|
365
|
+
],
|
|
366
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
"name": "MathDotProduct",
|
|
370
|
+
"type": "Math",
|
|
371
|
+
"desc": "the dot product of First and Second, in x, y and z",
|
|
372
|
+
"inputs": [
|
|
373
|
+
{ "name": "First", "type": "Vec3" },
|
|
374
|
+
{ "name": "Second", "type": "Vec3" }
|
|
375
|
+
],
|
|
376
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
"name": "MathNormalize",
|
|
380
|
+
"type": "Math",
|
|
381
|
+
"desc": "Value scaled to length 1",
|
|
382
|
+
"inputs": [{ "name": "Value", "type": "Vec3" }],
|
|
383
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"name": "MathDistance",
|
|
387
|
+
"type": "Math",
|
|
388
|
+
"desc": "the distance from First to Second, in x, y and z",
|
|
389
|
+
"inputs": [
|
|
390
|
+
{ "name": "First", "type": "Vec3" },
|
|
391
|
+
{ "name": "Second", "type": "Vec3" }
|
|
392
|
+
],
|
|
393
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
"name": "MathSnap",
|
|
397
|
+
"type": "Math",
|
|
398
|
+
"desc": "First rounded down to a multiple of Second, per component",
|
|
399
|
+
"inputs": [
|
|
400
|
+
{ "name": "First", "type": "Vec3" },
|
|
401
|
+
{ "name": "Second", "type": "Vec3" }
|
|
402
|
+
],
|
|
403
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
"name": "MathPingPong",
|
|
407
|
+
"type": "Math",
|
|
408
|
+
"desc": "First bounced back and forth between 0 and Second, per component",
|
|
409
|
+
"inputs": [
|
|
410
|
+
{ "name": "First", "type": "Vec3" },
|
|
411
|
+
{ "name": "Second", "type": "Vec3" }
|
|
412
|
+
],
|
|
413
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"name": "MathTangent",
|
|
417
|
+
"type": "Math",
|
|
418
|
+
"desc": "tan(Value), in radians, per component",
|
|
419
|
+
"inputs": [{ "name": "Value", "type": "Vec3" }],
|
|
420
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
"name": "MathArcsine",
|
|
424
|
+
"type": "Math",
|
|
425
|
+
"desc": "asin(clamp(Value,-1,1)), in radians, per component",
|
|
426
|
+
"inputs": [{ "name": "Value", "type": "Vec3" }],
|
|
427
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
"name": "MathArccosine",
|
|
431
|
+
"type": "Math",
|
|
432
|
+
"desc": "acos(clamp(Value,-1,1)), in radians, per component",
|
|
433
|
+
"inputs": [{ "name": "Value", "type": "Vec3" }],
|
|
434
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
"name": "MathArctangent",
|
|
438
|
+
"type": "Math",
|
|
439
|
+
"desc": "atan(Value), in radians, per component",
|
|
440
|
+
"inputs": [{ "name": "Value", "type": "Vec3" }],
|
|
441
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
"name": "MathArctan2",
|
|
445
|
+
"type": "Math",
|
|
446
|
+
"desc": "atan2(First, Second), in radians, per component",
|
|
447
|
+
"inputs": [
|
|
448
|
+
{ "name": "First", "type": "Vec3" },
|
|
449
|
+
{ "name": "Second", "type": "Vec3" }
|
|
450
|
+
],
|
|
451
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
"name": "MathLerp",
|
|
455
|
+
"type": "MathLerp",
|
|
456
|
+
"desc": "From + (To - From) * Value, per component",
|
|
457
|
+
"inputs": [
|
|
458
|
+
{ "name": "From", "type": "Vec3" },
|
|
459
|
+
{ "name": "To", "type": "Vec3" },
|
|
460
|
+
{ "name": "Value", "type": "Vec3" }
|
|
461
|
+
],
|
|
462
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
"name": "MathSmoothstep",
|
|
466
|
+
"type": "MathSmoothstep",
|
|
467
|
+
"desc": "0 below LowerBound, 1 above UpperBound, a smooth curve between, per component",
|
|
468
|
+
"inputs": [
|
|
469
|
+
{ "name": "LowerBound", "type": "Vec3" },
|
|
470
|
+
{ "name": "UpperBound", "type": "Vec3" },
|
|
471
|
+
{ "name": "Value", "type": "Vec3" }
|
|
472
|
+
],
|
|
473
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
"name": "MathRemap",
|
|
477
|
+
"type": "MathRemap",
|
|
478
|
+
"desc": "(Value - LowerBound) / (UpperBound - LowerBound), clamped to 0..1, per component",
|
|
479
|
+
"inputs": [
|
|
480
|
+
{ "name": "LowerBound", "type": "Vec3" },
|
|
481
|
+
{ "name": "UpperBound", "type": "Vec3" },
|
|
482
|
+
{ "name": "Value", "type": "Vec3" }
|
|
483
|
+
],
|
|
484
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
485
|
+
},
|
|
486
|
+
{
|
|
487
|
+
"name": "MathOneMinus",
|
|
488
|
+
"type": "MathOneMinus",
|
|
489
|
+
"desc": "1 - Value",
|
|
490
|
+
"inputs": [{ "name": "Value", "type": "Vec3" }],
|
|
491
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
"name": "MathMulAdd",
|
|
495
|
+
"type": "MathMulAdd",
|
|
496
|
+
"desc": "Value * Multiply + Add",
|
|
497
|
+
"inputs": [
|
|
498
|
+
{ "name": "Value", "type": "Vec3" },
|
|
499
|
+
{ "name": "Multiply", "type": "Vec3" },
|
|
500
|
+
{ "name": "Add", "type": "Vec3" }
|
|
501
|
+
],
|
|
502
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
503
|
+
},
|
|
504
|
+
{
|
|
505
|
+
"name": "SmoothMinMax",
|
|
506
|
+
"type": "SmoothMinMax",
|
|
507
|
+
"desc": "the minimum or maximum of First and Second, rounded over Distance",
|
|
508
|
+
"inputs": [
|
|
509
|
+
{ "name": "Operation", "type": "SmoothOperation" },
|
|
510
|
+
{ "name": "First", "type": "Vec3" },
|
|
511
|
+
{ "name": "Second", "type": "Vec3" },
|
|
512
|
+
{ "name": "Distance", "type": "Vec3" }
|
|
513
|
+
],
|
|
514
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
515
|
+
},
|
|
516
|
+
{
|
|
517
|
+
"name": "Boolean",
|
|
518
|
+
"type": "Boolean",
|
|
519
|
+
"desc": "compares First with Second per component: 1 when true, else 0",
|
|
520
|
+
"inputs": [
|
|
521
|
+
{ "name": "Operation", "type": "CompareOperation" },
|
|
522
|
+
{ "name": "First", "type": "Vec3" },
|
|
523
|
+
{ "name": "Second", "type": "Vec3" }
|
|
524
|
+
],
|
|
525
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
"name": "GetComponent",
|
|
529
|
+
"type": "GetComponent",
|
|
530
|
+
"desc": "one component of Value, in x, y and z",
|
|
531
|
+
"inputs": [
|
|
532
|
+
{ "name": "Value", "type": "Vec3" },
|
|
533
|
+
{ "name": "Component", "type": "Int", "desc": "0 for x, 1 for y, 2 for z" }
|
|
534
|
+
],
|
|
535
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
"name": "SplitValues",
|
|
539
|
+
"type": "SplitValues",
|
|
540
|
+
"desc": "extract XYZ or RGB components as scalars",
|
|
541
|
+
"inputs": [{ "name": "Value", "type": "Vec3" }],
|
|
542
|
+
"outputs": [
|
|
543
|
+
{ "name": "X", "type": "Float" },
|
|
544
|
+
{ "name": "Y", "type": "Float" },
|
|
545
|
+
{ "name": "Z", "type": "Float" }
|
|
546
|
+
]
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
"name": "CombineValues",
|
|
550
|
+
"type": "CombineValues",
|
|
551
|
+
"desc": "assemble XYZ or linear RGB from three scalars",
|
|
552
|
+
"inputs": [
|
|
553
|
+
{ "name": "X", "type": "Float" },
|
|
554
|
+
{ "name": "Y", "type": "Float" },
|
|
555
|
+
{ "name": "Z", "type": "Float" }
|
|
556
|
+
],
|
|
557
|
+
"outputs": [{ "name": "Value", "type": "Vec3" }]
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
"name": "Blend",
|
|
561
|
+
"type": "Blend",
|
|
562
|
+
"desc": "blends B over A by Factor, 0 keeps A",
|
|
563
|
+
"inputs": [
|
|
564
|
+
{ "name": "BlendMode", "type": "BlendMode" },
|
|
565
|
+
{ "name": "A", "type": "Vec3" },
|
|
566
|
+
{ "name": "B", "type": "Vec3" },
|
|
567
|
+
{ "name": "Factor", "type": "Float" }
|
|
568
|
+
],
|
|
569
|
+
"outputs": [{ "name": "Value", "type": "Vec3" }]
|
|
570
|
+
},
|
|
571
|
+
{
|
|
572
|
+
"name": "HSL",
|
|
573
|
+
"type": "HSL",
|
|
574
|
+
"desc": "adds Hue in turns, Saturation and Lightness as offsets; 0 leaves each unchanged. Native hue does not wrap: keep the resulting hue within 0..1",
|
|
575
|
+
"inputs": [
|
|
576
|
+
{ "name": "Color", "type": "Vec3" },
|
|
577
|
+
{ "name": "Hue", "type": "Float", "optional": true },
|
|
578
|
+
{ "name": "Saturation", "type": "Float", "optional": true },
|
|
579
|
+
{ "name": "Lightness", "type": "Float", "optional": true }
|
|
580
|
+
],
|
|
581
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
"name": "Mapping",
|
|
585
|
+
"type": "Mapping",
|
|
586
|
+
"desc": "rotates Value by Rotation in degrees, multiplies by Scale, then adds Translation",
|
|
587
|
+
"inputs": [
|
|
588
|
+
{ "name": "Value", "type": "Vec3" },
|
|
589
|
+
{ "name": "Translation", "type": "Vec3", "optional": true },
|
|
590
|
+
{ "name": "Rotation", "type": "Vec3", "optional": true },
|
|
591
|
+
{ "name": "Scale", "type": "Vec3" }
|
|
592
|
+
],
|
|
593
|
+
"outputs": [{ "name": "Remapped", "type": "Vec3" }]
|
|
594
|
+
},
|
|
595
|
+
{
|
|
596
|
+
"name": "ColorRamp",
|
|
597
|
+
"type": "ColorRamp",
|
|
598
|
+
"desc": "maps Value to a color through two to four stops, with positions ascending in 0..1",
|
|
599
|
+
"inputs": [
|
|
600
|
+
{ "name": "Value", "type": "Float" },
|
|
601
|
+
{ "name": "Mode", "type": "RampInterpolation", "optional": true, "desc": "defaults to Linear" },
|
|
602
|
+
{ "name": "Position1", "type": "Float", "literal": true },
|
|
603
|
+
{ "name": "Color1", "type": "Vec3", "literal": true },
|
|
604
|
+
{ "name": "Position2", "type": "Float", "literal": true },
|
|
605
|
+
{ "name": "Color2", "type": "Vec3", "literal": true },
|
|
606
|
+
{ "name": "Position3", "type": "Float", "literal": true, "optional": true },
|
|
607
|
+
{ "name": "Color3", "type": "Vec3", "literal": true, "optional": true },
|
|
608
|
+
{ "name": "Position4", "type": "Float", "literal": true, "optional": true },
|
|
609
|
+
{ "name": "Color4", "type": "Vec3", "literal": true, "optional": true }
|
|
610
|
+
],
|
|
611
|
+
"outputs": [{ "name": "Color", "type": "Vec3" }]
|
|
612
|
+
},
|
|
613
|
+
{
|
|
614
|
+
"name": "Projection",
|
|
615
|
+
"type": "Projection",
|
|
616
|
+
"desc": "coordinates for PredefinedTexture, using Position and Normal in the same space. Triplanar/Uniform/Cubic/Planar repeat every position unit; Cylindrical wraps U and repeats V every unit; Equirectangular uses Normal, NormalizedSpherical uses centered Position. Cylindrical modes differ with a dropdown; use a fixed mode for reproducible mapping and exports",
|
|
617
|
+
"inputs": [
|
|
618
|
+
{ "name": "Mode", "type": "ProjectionMode" },
|
|
619
|
+
{ "name": "Position", "type": "Vec3" },
|
|
620
|
+
{ "name": "Normal", "type": "Vec3", "desc": "InputNormal for object Position, InputWorldNormal for world Position; Planar can use a constant plane normal" },
|
|
621
|
+
{ "name": "Sharpness", "type": "Float", "desc": "Triplanar blend power, typically 1..100; fixed Cylindrical and normalized modes scale Offset; other modes ignore it" },
|
|
622
|
+
{ "name": "Offset", "type": "Vec3", "optional": true, "desc": "the projection center" }
|
|
623
|
+
],
|
|
624
|
+
"outputs": [{ "name": "Output", "type": "Vec3" }]
|
|
625
|
+
},
|
|
626
|
+
{
|
|
627
|
+
"name": "ProjectionModeSelector",
|
|
628
|
+
"type": "OptionSelector",
|
|
629
|
+
"desc": "a panel dropdown of projection modes, shown by name; Mode returns the choice. Selected is its 1-based option number, default 1; preserve it when editing",
|
|
630
|
+
"inputs": [
|
|
631
|
+
{ "name": "Option1", "type": "ProjectionMode", "literal": true },
|
|
632
|
+
{ "name": "Option2", "type": "ProjectionMode", "literal": true },
|
|
633
|
+
{ "name": "Option3", "type": "ProjectionMode", "literal": true, "optional": true },
|
|
634
|
+
{ "name": "Option4", "type": "ProjectionMode", "literal": true, "optional": true },
|
|
635
|
+
{ "name": "Selected", "type": "Int", "literal": true, "optional": true, "desc": "1..number of options; defaults to 1" }
|
|
636
|
+
],
|
|
637
|
+
"outputs": [{ "name": "Mode", "type": "ProjectionMode" }]
|
|
638
|
+
},
|
|
639
|
+
{
|
|
640
|
+
"name": "PredefinedTexture",
|
|
641
|
+
"type": "PredefinedTexture",
|
|
642
|
+
"desc": "samples an image file of the scene at Coordinates.xy",
|
|
643
|
+
"inputs": [
|
|
644
|
+
{ "name": "Coordinates", "type": "Vec3", "desc": "as Projection gives" },
|
|
645
|
+
{ "name": "Texture", "type": "String", "desc": "an available image path from the texture catalog" },
|
|
646
|
+
{ "name": "Transform", "type": "TextureTransform", "desc": "SRGB decodes display colors with pow(c,2.2); NormalMap maps RGB to signed normals; Raw keeps already-linear colors or scalar data" },
|
|
647
|
+
{ "name": "DisableFiltering", "type": "Bool", "optional": true }
|
|
648
|
+
],
|
|
649
|
+
"outputs": [{ "name": "Color", "type": "Vec3" }]
|
|
650
|
+
},
|
|
651
|
+
{
|
|
652
|
+
"name": "OutputMaterial",
|
|
653
|
+
"type": "OutputMaterial",
|
|
654
|
+
"desc": "sets selected channels; unset channels inherit the incoming layer values, subject to layer-0 color legacy encoding. Values are not automatically clamped",
|
|
655
|
+
"inputs": [
|
|
656
|
+
{ "name": "PrimaryColor", "type": "Vec3", "optional": true },
|
|
657
|
+
{ "name": "SecondaryColor", "type": "Vec3", "optional": true, "desc": "the sheen color and the specular tint color" },
|
|
658
|
+
{ "name": "Subsurface", "type": "Vec3", "optional": true },
|
|
659
|
+
{ "name": "Metalness", "type": "Float", "optional": true, "desc": "0..1" },
|
|
660
|
+
{ "name": "Roughness", "type": "Float", "optional": true, "desc": "0..1" },
|
|
661
|
+
{ "name": "Transmittance", "type": "Float", "optional": true, "desc": "0..1" },
|
|
662
|
+
{ "name": "Translucency", "type": "Float", "optional": true, "desc": "native amount in 0..100; distinct from translucency weight" },
|
|
663
|
+
{ "name": "IndexOfRefraction", "type": "Float", "optional": true, "desc": "native supported range 1.010..2.419" },
|
|
664
|
+
{ "name": "Iridescence", "type": "Float", "optional": true },
|
|
665
|
+
{ "name": "Emission", "type": "Float", "optional": true, "desc": "how strongly each point glows; the glow has PrimaryColor" },
|
|
666
|
+
{ "name": "Absorption", "type": "Float", "optional": true },
|
|
667
|
+
{ "name": "Sheen", "type": "Float", "optional": true },
|
|
668
|
+
{ "name": "SpecularTint", "type": "Float", "optional": true }
|
|
669
|
+
],
|
|
670
|
+
"outputs": []
|
|
671
|
+
},
|
|
672
|
+
{
|
|
673
|
+
"name": "OutputHeight",
|
|
674
|
+
"type": "OutputHeight",
|
|
675
|
+
"desc": "bump relief from Height",
|
|
676
|
+
"inputs": [
|
|
677
|
+
{ "name": "Height", "type": "Float" },
|
|
678
|
+
{ "name": "Scale", "type": "Float", "desc": "the relief's strength, typically 1 to 8" }
|
|
679
|
+
],
|
|
680
|
+
"outputs": []
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
"name": "OutputSurfaceNormal",
|
|
684
|
+
"type": "OutputSurfaceNormal",
|
|
685
|
+
"desc": "sets a tangent-space shading normal, such as a NormalMap texture's Color; takes precedence over OutputHeight in this layer",
|
|
686
|
+
"inputs": [{ "name": "Normal", "type": "Vec3" }],
|
|
687
|
+
"outputs": []
|
|
688
|
+
}
|
|
689
|
+
]
|
|
690
|
+
}
|