@woosh/meep-engine 3.18.0 → 3.19.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 (120) hide show
  1. package/build/bundle-worker-image-decoder.js +1 -1
  2. package/editor/view/particles/effect/ParticleCurveEditorView.d.ts.map +1 -1
  3. package/editor/view/particles/effect/ParticleCurveEditorView.js +303 -120
  4. package/editor/view/particles/effect/ParticleGradientEditorView.d.ts.map +1 -1
  5. package/editor/view/particles/effect/ParticleGradientEditorView.js +108 -63
  6. package/editor/view/particles/effect/ParticleGraphEditorView.js +1 -1
  7. package/editor/view/particles/effect/ParticleNodeParametersView.d.ts.map +1 -1
  8. package/editor/view/particles/effect/ParticleNodeParametersView.js +3 -1
  9. package/editor/view/particles/effect/particle-editor.css +60 -30
  10. package/package.json +1 -2
  11. package/samples/engine/README.md +1 -1
  12. package/src/core/binary/compression/decompress_bytes.d.ts +13 -0
  13. package/src/core/binary/compression/decompress_bytes.d.ts.map +1 -0
  14. package/src/core/binary/compression/decompress_bytes.js +28 -0
  15. package/src/core/model/node-graph/visual/layout/layout_assign_coordinates.js +67 -22
  16. package/src/engine/asset/loaders/image/ImageDecoderWorker.js +12 -27
  17. package/src/engine/asset/loaders/image/prototypePNG.js +8 -7
  18. package/src/engine/ecs/storage/populateEngineSerializationRegistry.d.ts.map +1 -1
  19. package/src/engine/ecs/storage/populateEngineSerializationRegistry.js +4 -0
  20. package/src/engine/graphics/ecs/particles/ParticleEffect.d.ts +266 -0
  21. package/src/engine/graphics/ecs/particles/ParticleEffect.d.ts.map +1 -0
  22. package/src/engine/graphics/ecs/particles/ParticleEffect.js +455 -0
  23. package/src/engine/graphics/ecs/particles/ParticleEffectSerializationAdapter.d.ts +58 -0
  24. package/src/engine/graphics/ecs/particles/ParticleEffectSerializationAdapter.d.ts.map +1 -0
  25. package/src/engine/graphics/ecs/particles/ParticleEffectSerializationAdapter.js +219 -0
  26. package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts +178 -25
  27. package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts.map +1 -1
  28. package/src/engine/graphics3/GPUParticleEmitterSystem.js +809 -310
  29. package/src/format/image/png/PNGReader.d.ts +7 -6
  30. package/src/format/image/png/PNGReader.d.ts.map +1 -1
  31. package/src/format/image/png/PNGReader.js +13 -12
  32. package/src/format/image/png/chunk/png_chunk_decode_iTXt.d.ts +3 -2
  33. package/src/format/image/png/chunk/png_chunk_decode_iTXt.d.ts.map +1 -1
  34. package/src/format/image/png/chunk/png_chunk_decode_iTXt.js +5 -4
  35. package/src/format/image/png/chunk/png_chunk_decode_zTXt.d.ts +3 -2
  36. package/src/format/image/png/chunk/png_chunk_decode_zTXt.d.ts.map +1 -1
  37. package/src/format/image/png/chunk/png_chunk_decode_zTXt.js +5 -4
  38. package/src/format/image/png/png_inflate.d.ts +3 -3
  39. package/src/format/image/png/png_inflate.d.ts.map +1 -1
  40. package/src/format/image/png/png_inflate.js +29 -39
  41. package/src/format/texture/ktx2/ktx2_read.d.ts +4 -4
  42. package/src/format/texture/ktx2/ktx2_read.d.ts.map +1 -1
  43. package/src/format/texture/ktx2/ktx2_read.js +18 -21
  44. package/src/shade/playground/particle_ecs/README.md +203 -0
  45. package/src/shade/playground/particle_ecs/bonfire_editor.d.ts +39 -0
  46. package/src/shade/playground/particle_ecs/bonfire_editor.d.ts.map +1 -0
  47. package/src/shade/playground/particle_ecs/bonfire_editor.js +315 -0
  48. package/src/shade/playground/particle_ecs/bonfire_effects.d.ts +145 -0
  49. package/src/shade/playground/particle_ecs/bonfire_effects.d.ts.map +1 -0
  50. package/src/shade/playground/particle_ecs/bonfire_effects.js +202 -0
  51. package/src/shade/playground/particle_ecs/bonfire_sprites.d.ts +23 -0
  52. package/src/shade/playground/particle_ecs/bonfire_sprites.d.ts.map +1 -0
  53. package/src/shade/playground/particle_ecs/bonfire_sprites.js +315 -0
  54. package/src/shade/playground/particle_ecs/bonfire_world.d.ts +86 -0
  55. package/src/shade/playground/particle_ecs/bonfire_world.d.ts.map +1 -0
  56. package/src/shade/playground/particle_ecs/bonfire_world.js +303 -0
  57. package/src/shade/playground/particle_ecs/effects/embers.json +1634 -0
  58. package/src/shade/playground/particle_ecs/effects/flame.json +1882 -0
  59. package/src/shade/playground/particle_ecs/effects/smoke.json +1860 -0
  60. package/src/shade/playground/particle_ecs/effects/soot.json +1606 -0
  61. package/src/shade/playground/particle_ecs/index.html +330 -0
  62. package/src/shade/playground/particle_ecs/main.d.ts +2 -0
  63. package/src/shade/playground/particle_ecs/main.d.ts.map +1 -0
  64. package/src/shade/playground/particle_ecs/main.js +566 -0
  65. package/src/shade/playground/particle_ecs/moonlit_environment.d.ts +16 -0
  66. package/src/shade/playground/particle_ecs/moonlit_environment.d.ts.map +1 -0
  67. package/src/shade/playground/particle_ecs/moonlit_environment.js +144 -0
  68. package/src/shade/playground/particle_editor/README.md +5 -4
  69. package/src/shade/playground/profile_hotkey.d.ts +58 -0
  70. package/src/shade/playground/profile_hotkey.d.ts.map +1 -0
  71. package/src/shade/playground/profile_hotkey.js +325 -0
  72. package/src/shade/playground/ssr_variance/README.md +105 -0
  73. package/src/shade/playground/ssr_variance/capture.d.ts +16 -0
  74. package/src/shade/playground/ssr_variance/capture.d.ts.map +1 -0
  75. package/src/shade/playground/ssr_variance/capture.js +96 -0
  76. package/src/shade/playground/ssr_variance/index.html +22 -0
  77. package/src/shade/playground/ssr_variance/main.d.ts +2 -0
  78. package/src/shade/playground/ssr_variance/main.d.ts.map +1 -0
  79. package/src/shade/playground/ssr_variance/main.js +246 -0
  80. package/src/shade/playground/ssr_variance/reference.d.ts +18 -0
  81. package/src/shade/playground/ssr_variance/reference.d.ts.map +1 -0
  82. package/src/shade/playground/ssr_variance/reference.js +78 -0
  83. package/src/shade/playground/ssr_variance/scene.d.ts +11 -0
  84. package/src/shade/playground/ssr_variance/scene.d.ts.map +1 -0
  85. package/src/shade/playground/ssr_variance/scene.js +61 -0
  86. package/src/shade/playground/ssr_variance/statistics.d.ts +44 -0
  87. package/src/shade/playground/ssr_variance/statistics.d.ts.map +1 -0
  88. package/src/shade/playground/ssr_variance/statistics.js +51 -0
  89. package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts.map +1 -1
  90. package/src/shade/renderer/loader/gltf/tiny-gltf.js +9 -3
  91. package/src/shade/renderer/loader/usd/usd_decode_image.d.ts +4 -4
  92. package/src/shade/renderer/loader/usd/usd_decode_image.d.ts.map +1 -1
  93. package/src/shade/renderer/loader/usd/usd_decode_image.js +4 -4
  94. package/src/shade/renderer/particles/DESIGN.md +748 -703
  95. package/src/shade/renderer/particles/runtime/ParticleEmitter.d.ts +11 -4
  96. package/src/shade/renderer/particles/runtime/ParticleEmitter.d.ts.map +1 -1
  97. package/src/shade/renderer/particles/runtime/ParticleEmitter.js +431 -424
  98. package/src/shade/renderer/postprocess/ssr/SSR.d.ts.map +1 -1
  99. package/src/shade/renderer/postprocess/ssr/SSR.js +2 -1
  100. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_reprojection.d.ts.map +1 -1
  101. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_reprojection.js +0 -6
  102. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_sample_history.d.ts.map +1 -1
  103. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_sample_history.js +19 -5
  104. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_temporal_accumulate.d.ts +4 -0
  105. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_temporal_accumulate.d.ts.map +1 -0
  106. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_temporal_accumulate.js +133 -0
  107. package/src/shade/renderer/postprocess/ssr/ssr_reproject_shader.d.ts +0 -8
  108. package/src/shade/renderer/postprocess/ssr/ssr_reproject_shader.d.ts.map +1 -1
  109. package/src/shade/renderer/postprocess/ssr/ssr_reproject_shader.js +16 -113
  110. package/src/shade/renderer/texture/source/texel_data_from_ktx2.d.ts +2 -2
  111. package/src/shade/renderer/texture/source/texel_data_from_ktx2.d.ts.map +1 -1
  112. package/src/shade/renderer/texture/source/texel_data_from_ktx2.js +3 -3
  113. package/src/shade/renderer/particles/shaders/chunk_particle_emitter_warmup.d.ts +0 -20
  114. package/src/shade/renderer/particles/shaders/chunk_particle_emitter_warmup.d.ts.map +0 -1
  115. package/src/shade/renderer/particles/shaders/chunk_particle_emitter_world_sphere.d.ts +0 -14
  116. package/src/shade/renderer/particles/shaders/chunk_particle_emitter_world_sphere.d.ts.map +0 -1
  117. package/src/shade/renderer/particles/shaders/shader_particle_reclaim.d.ts +0 -50
  118. package/src/shade/renderer/particles/shaders/shader_particle_reclaim.d.ts.map +0 -1
  119. package/src/shade/renderer/postprocess/ssr/reproject/shader_ffx_denoiser_reflections_reproject.d.ts +0 -17
  120. package/src/shade/renderer/postprocess/ssr/reproject/shader_ffx_denoiser_reflections_reproject.d.ts.map +0 -1
@@ -0,0 +1,1882 @@
1
+ {
2
+ "name": "flame",
3
+ "attributes": [
4
+ {
5
+ "name": "position",
6
+ "components": 3
7
+ },
8
+ {
9
+ "name": "velocity",
10
+ "components": 3
11
+ },
12
+ {
13
+ "name": "age",
14
+ "components": 1
15
+ },
16
+ {
17
+ "name": "life",
18
+ "components": 1
19
+ },
20
+ {
21
+ "name": "size",
22
+ "components": 1
23
+ },
24
+ {
25
+ "name": "size0",
26
+ "components": 1
27
+ },
28
+ {
29
+ "name": "color",
30
+ "components": 4
31
+ },
32
+ {
33
+ "name": "spin",
34
+ "components": 1
35
+ },
36
+ {
37
+ "name": "seed",
38
+ "components": 1
39
+ }
40
+ ],
41
+ "groups": [],
42
+ "init": {
43
+ "nodes": [
44
+ {
45
+ "id": 0,
46
+ "type": "sqrt",
47
+ "parameters": {},
48
+ "x": 989,
49
+ "y": 472
50
+ },
51
+ {
52
+ "id": 1,
53
+ "type": "random",
54
+ "parameters": {
55
+ "components": 1
56
+ },
57
+ "x": 700,
58
+ "y": 472
59
+ },
60
+ {
61
+ "id": 2,
62
+ "type": "scale",
63
+ "parameters": {},
64
+ "x": 1283.5,
65
+ "y": 432.5
66
+ },
67
+ {
68
+ "id": 3,
69
+ "type": "mul",
70
+ "parameters": {},
71
+ "x": 440.5,
72
+ "y": 376
73
+ },
74
+ {
75
+ "id": 4,
76
+ "type": "random",
77
+ "parameters": {
78
+ "components": 1
79
+ },
80
+ "x": 63.5,
81
+ "y": 262
82
+ },
83
+ {
84
+ "id": 5,
85
+ "type": "const",
86
+ "parameters": {
87
+ "value": [
88
+ 6.283185307179586
89
+ ]
90
+ },
91
+ "x": 61,
92
+ "y": 393
93
+ },
94
+ {
95
+ "id": 6,
96
+ "type": "cos",
97
+ "parameters": {},
98
+ "x": 731.5,
99
+ "y": 219.25
100
+ },
101
+ {
102
+ "id": 7,
103
+ "type": "sin",
104
+ "parameters": {},
105
+ "x": 734.5,
106
+ "y": 376
107
+ },
108
+ {
109
+ "id": 8,
110
+ "type": "vec2",
111
+ "parameters": {},
112
+ "x": 984,
113
+ "y": 359
114
+ },
115
+ {
116
+ "id": 9,
117
+ "type": "scale",
118
+ "parameters": {},
119
+ "x": 1536,
120
+ "y": 480.5
121
+ },
122
+ {
123
+ "id": 10,
124
+ "type": "const",
125
+ "parameters": {
126
+ "value": [
127
+ 0.34
128
+ ]
129
+ },
130
+ "x": 1247,
131
+ "y": 545.5
132
+ },
133
+ {
134
+ "id": 11,
135
+ "type": "swizzle",
136
+ "parameters": {
137
+ "pattern": [
138
+ 0
139
+ ]
140
+ },
141
+ "x": 1769,
142
+ "y": 219.25
143
+ },
144
+ {
145
+ "id": 12,
146
+ "type": "swizzle",
147
+ "parameters": {
148
+ "pattern": [
149
+ 1
150
+ ]
151
+ },
152
+ "x": 1769,
153
+ "y": 544
154
+ },
155
+ {
156
+ "id": 13,
157
+ "type": "random",
158
+ "parameters": {
159
+ "components": 1
160
+ },
161
+ "x": 63.5,
162
+ "y": 0
163
+ },
164
+ {
165
+ "id": 14,
166
+ "type": "mul",
167
+ "parameters": {},
168
+ "x": 440.5,
169
+ "y": 114
170
+ },
171
+ {
172
+ "id": 15,
173
+ "type": "const",
174
+ "parameters": {
175
+ "value": [
176
+ 0.18
177
+ ]
178
+ },
179
+ "x": 61,
180
+ "y": 131
181
+ },
182
+ {
183
+ "id": 16,
184
+ "type": "vec3",
185
+ "parameters": {},
186
+ "x": 2065,
187
+ "y": 219.25
188
+ },
189
+ {
190
+ "id": 17,
191
+ "type": "builtin",
192
+ "parameters": {
193
+ "id": 2
194
+ },
195
+ "x": 2041,
196
+ "y": 87.75
197
+ },
198
+ {
199
+ "id": 18,
200
+ "type": "add",
201
+ "parameters": {},
202
+ "x": 2428.5,
203
+ "y": 144.75
204
+ },
205
+ {
206
+ "id": 19,
207
+ "type": "setAttribute",
208
+ "parameters": {
209
+ "name": "position"
210
+ },
211
+ "x": 2722,
212
+ "y": 144.75
213
+ },
214
+ {
215
+ "id": 20,
216
+ "type": "vec3",
217
+ "parameters": {},
218
+ "x": 2065,
219
+ "y": 463.5
220
+ },
221
+ {
222
+ "id": 21,
223
+ "type": "const",
224
+ "parameters": {
225
+ "value": [
226
+ 0
227
+ ]
228
+ },
229
+ "x": 1752,
230
+ "y": 671
231
+ },
232
+ {
233
+ "id": 22,
234
+ "type": "scale",
235
+ "parameters": {},
236
+ "x": 2429,
237
+ "y": 520
238
+ },
239
+ {
240
+ "id": 23,
241
+ "type": "const",
242
+ "parameters": {
243
+ "value": [
244
+ 1.6
245
+ ]
246
+ },
247
+ "x": 2052,
248
+ "y": 593.5
249
+ },
250
+ {
251
+ "id": 24,
252
+ "type": "random",
253
+ "parameters": {
254
+ "components": 3
255
+ },
256
+ "x": 63.5,
257
+ "y": 655
258
+ },
259
+ {
260
+ "id": 25,
261
+ "type": "mad",
262
+ "parameters": {},
263
+ "x": 427,
264
+ "y": 786
265
+ },
266
+ {
267
+ "id": 26,
268
+ "type": "const",
269
+ "parameters": {
270
+ "value": [
271
+ 2
272
+ ]
273
+ },
274
+ "x": 61,
275
+ "y": 786
276
+ },
277
+ {
278
+ "id": 27,
279
+ "type": "const",
280
+ "parameters": {
281
+ "value": [
282
+ -1
283
+ ]
284
+ },
285
+ "x": 61,
286
+ "y": 917
287
+ },
288
+ {
289
+ "id": 28,
290
+ "type": "scale",
291
+ "parameters": {},
292
+ "x": 734,
293
+ "y": 842.5
294
+ },
295
+ {
296
+ "id": 29,
297
+ "type": "const",
298
+ "parameters": {
299
+ "value": [
300
+ 0.45
301
+ ]
302
+ },
303
+ "x": 411,
304
+ "y": 916
305
+ },
306
+ {
307
+ "id": 30,
308
+ "type": "const",
309
+ "parameters": {
310
+ "value": [
311
+ 0,
312
+ 1.5,
313
+ 0
314
+ ]
315
+ },
316
+ "x": 2352,
317
+ "y": 266.75
318
+ },
319
+ {
320
+ "id": 31,
321
+ "type": "add",
322
+ "parameters": {},
323
+ "x": 2754.5,
324
+ "y": 437
325
+ },
326
+ {
327
+ "id": 32,
328
+ "type": "add",
329
+ "parameters": {},
330
+ "x": 3004,
331
+ "y": 563
332
+ },
333
+ {
334
+ "id": 33,
335
+ "type": "setAttribute",
336
+ "parameters": {
337
+ "name": "velocity"
338
+ },
339
+ "x": 3221,
340
+ "y": 563
341
+ },
342
+ {
343
+ "id": 34,
344
+ "type": "setAttribute",
345
+ "parameters": {
346
+ "name": "age"
347
+ },
348
+ "x": 414.5,
349
+ "y": 524
350
+ },
351
+ {
352
+ "id": 35,
353
+ "type": "const",
354
+ "parameters": {
355
+ "value": [
356
+ 0
357
+ ]
358
+ },
359
+ "x": 61,
360
+ "y": 524
361
+ },
362
+ {
363
+ "id": 36,
364
+ "type": "random",
365
+ "parameters": {
366
+ "components": 1
367
+ },
368
+ "x": 63.5,
369
+ "y": 1048
370
+ },
371
+ {
372
+ "id": 37,
373
+ "type": "mad",
374
+ "parameters": {},
375
+ "x": 427,
376
+ "y": 1179
377
+ },
378
+ {
379
+ "id": 38,
380
+ "type": "const",
381
+ "parameters": {
382
+ "value": [
383
+ 0.5
384
+ ]
385
+ },
386
+ "x": 61,
387
+ "y": 1179
388
+ },
389
+ {
390
+ "id": 39,
391
+ "type": "const",
392
+ "parameters": {
393
+ "value": [
394
+ 0.5
395
+ ]
396
+ },
397
+ "x": 61,
398
+ "y": 1310
399
+ },
400
+ {
401
+ "id": 40,
402
+ "type": "setAttribute",
403
+ "parameters": {
404
+ "name": "life"
405
+ },
406
+ "x": 701,
407
+ "y": 1179
408
+ },
409
+ {
410
+ "id": 41,
411
+ "type": "random",
412
+ "parameters": {
413
+ "components": 1
414
+ },
415
+ "x": 63.5,
416
+ "y": 1441
417
+ },
418
+ {
419
+ "id": 42,
420
+ "type": "mad",
421
+ "parameters": {},
422
+ "x": 427,
423
+ "y": 1572
424
+ },
425
+ {
426
+ "id": 43,
427
+ "type": "const",
428
+ "parameters": {
429
+ "value": [
430
+ 0.4
431
+ ]
432
+ },
433
+ "x": 61,
434
+ "y": 1572
435
+ },
436
+ {
437
+ "id": 44,
438
+ "type": "const",
439
+ "parameters": {
440
+ "value": [
441
+ 0.1
442
+ ]
443
+ },
444
+ "x": 61,
445
+ "y": 1703
446
+ },
447
+ {
448
+ "id": 45,
449
+ "type": "setAttribute",
450
+ "parameters": {
451
+ "name": "size0"
452
+ },
453
+ "x": 701,
454
+ "y": 1481
455
+ },
456
+ {
457
+ "id": 46,
458
+ "type": "setAttribute",
459
+ "parameters": {
460
+ "name": "size"
461
+ },
462
+ "x": 701,
463
+ "y": 1677.5
464
+ },
465
+ {
466
+ "id": 47,
467
+ "type": "setAttribute",
468
+ "parameters": {
469
+ "name": "color"
470
+ },
471
+ "x": 414.5,
472
+ "y": 1834
473
+ },
474
+ {
475
+ "id": 48,
476
+ "type": "const",
477
+ "parameters": {
478
+ "value": [
479
+ 1,
480
+ 1,
481
+ 1,
482
+ 0
483
+ ]
484
+ },
485
+ "x": 0,
486
+ "y": 1834
487
+ },
488
+ {
489
+ "id": 49,
490
+ "type": "random",
491
+ "parameters": {
492
+ "components": 1
493
+ },
494
+ "x": 63.5,
495
+ "y": 1965
496
+ },
497
+ {
498
+ "id": 50,
499
+ "type": "mad",
500
+ "parameters": {},
501
+ "x": 427,
502
+ "y": 2096
503
+ },
504
+ {
505
+ "id": 51,
506
+ "type": "const",
507
+ "parameters": {
508
+ "value": [
509
+ 6.28
510
+ ]
511
+ },
512
+ "x": 61,
513
+ "y": 2096
514
+ },
515
+ {
516
+ "id": 52,
517
+ "type": "const",
518
+ "parameters": {
519
+ "value": [
520
+ -3.14
521
+ ]
522
+ },
523
+ "x": 61,
524
+ "y": 2227
525
+ },
526
+ {
527
+ "id": 53,
528
+ "type": "setAttribute",
529
+ "parameters": {
530
+ "name": "spin"
531
+ },
532
+ "x": 701,
533
+ "y": 2096
534
+ },
535
+ {
536
+ "id": 54,
537
+ "type": "random",
538
+ "parameters": {
539
+ "components": 1
540
+ },
541
+ "x": 63.5,
542
+ "y": 2358
543
+ },
544
+ {
545
+ "id": 55,
546
+ "type": "mad",
547
+ "parameters": {},
548
+ "x": 427,
549
+ "y": 2489
550
+ },
551
+ {
552
+ "id": 56,
553
+ "type": "const",
554
+ "parameters": {
555
+ "value": [
556
+ 64
557
+ ]
558
+ },
559
+ "x": 61,
560
+ "y": 2489
561
+ },
562
+ {
563
+ "id": 57,
564
+ "type": "const",
565
+ "parameters": {
566
+ "value": [
567
+ 0
568
+ ]
569
+ },
570
+ "x": 61,
571
+ "y": 2620
572
+ },
573
+ {
574
+ "id": 58,
575
+ "type": "setAttribute",
576
+ "parameters": {
577
+ "name": "seed"
578
+ },
579
+ "x": 701,
580
+ "y": 2489
581
+ }
582
+ ],
583
+ "connections": [
584
+ {
585
+ "from": 1,
586
+ "fromPort": "out",
587
+ "to": 0,
588
+ "toPort": "x"
589
+ },
590
+ {
591
+ "from": 4,
592
+ "fromPort": "out",
593
+ "to": 3,
594
+ "toPort": "a"
595
+ },
596
+ {
597
+ "from": 5,
598
+ "fromPort": "out",
599
+ "to": 3,
600
+ "toPort": "b"
601
+ },
602
+ {
603
+ "from": 3,
604
+ "fromPort": "out",
605
+ "to": 6,
606
+ "toPort": "x"
607
+ },
608
+ {
609
+ "from": 3,
610
+ "fromPort": "out",
611
+ "to": 7,
612
+ "toPort": "x"
613
+ },
614
+ {
615
+ "from": 6,
616
+ "fromPort": "out",
617
+ "to": 8,
618
+ "toPort": "x"
619
+ },
620
+ {
621
+ "from": 7,
622
+ "fromPort": "out",
623
+ "to": 8,
624
+ "toPort": "y"
625
+ },
626
+ {
627
+ "from": 8,
628
+ "fromPort": "out",
629
+ "to": 2,
630
+ "toPort": "v"
631
+ },
632
+ {
633
+ "from": 0,
634
+ "fromPort": "out",
635
+ "to": 2,
636
+ "toPort": "s"
637
+ },
638
+ {
639
+ "from": 2,
640
+ "fromPort": "out",
641
+ "to": 9,
642
+ "toPort": "v"
643
+ },
644
+ {
645
+ "from": 10,
646
+ "fromPort": "out",
647
+ "to": 9,
648
+ "toPort": "s"
649
+ },
650
+ {
651
+ "from": 9,
652
+ "fromPort": "out",
653
+ "to": 11,
654
+ "toPort": "x"
655
+ },
656
+ {
657
+ "from": 9,
658
+ "fromPort": "out",
659
+ "to": 12,
660
+ "toPort": "x"
661
+ },
662
+ {
663
+ "from": 13,
664
+ "fromPort": "out",
665
+ "to": 14,
666
+ "toPort": "a"
667
+ },
668
+ {
669
+ "from": 15,
670
+ "fromPort": "out",
671
+ "to": 14,
672
+ "toPort": "b"
673
+ },
674
+ {
675
+ "from": 11,
676
+ "fromPort": "out",
677
+ "to": 16,
678
+ "toPort": "x"
679
+ },
680
+ {
681
+ "from": 14,
682
+ "fromPort": "out",
683
+ "to": 16,
684
+ "toPort": "y"
685
+ },
686
+ {
687
+ "from": 12,
688
+ "fromPort": "out",
689
+ "to": 16,
690
+ "toPort": "z"
691
+ },
692
+ {
693
+ "from": 17,
694
+ "fromPort": "out",
695
+ "to": 18,
696
+ "toPort": "a"
697
+ },
698
+ {
699
+ "from": 16,
700
+ "fromPort": "out",
701
+ "to": 18,
702
+ "toPort": "b"
703
+ },
704
+ {
705
+ "from": 18,
706
+ "fromPort": "out",
707
+ "to": 19,
708
+ "toPort": "value"
709
+ },
710
+ {
711
+ "from": 11,
712
+ "fromPort": "out",
713
+ "to": 20,
714
+ "toPort": "x"
715
+ },
716
+ {
717
+ "from": 21,
718
+ "fromPort": "out",
719
+ "to": 20,
720
+ "toPort": "y"
721
+ },
722
+ {
723
+ "from": 12,
724
+ "fromPort": "out",
725
+ "to": 20,
726
+ "toPort": "z"
727
+ },
728
+ {
729
+ "from": 20,
730
+ "fromPort": "out",
731
+ "to": 22,
732
+ "toPort": "v"
733
+ },
734
+ {
735
+ "from": 23,
736
+ "fromPort": "out",
737
+ "to": 22,
738
+ "toPort": "s"
739
+ },
740
+ {
741
+ "from": 24,
742
+ "fromPort": "out",
743
+ "to": 25,
744
+ "toPort": "a"
745
+ },
746
+ {
747
+ "from": 26,
748
+ "fromPort": "out",
749
+ "to": 25,
750
+ "toPort": "b"
751
+ },
752
+ {
753
+ "from": 27,
754
+ "fromPort": "out",
755
+ "to": 25,
756
+ "toPort": "c"
757
+ },
758
+ {
759
+ "from": 25,
760
+ "fromPort": "out",
761
+ "to": 28,
762
+ "toPort": "v"
763
+ },
764
+ {
765
+ "from": 29,
766
+ "fromPort": "out",
767
+ "to": 28,
768
+ "toPort": "s"
769
+ },
770
+ {
771
+ "from": 30,
772
+ "fromPort": "out",
773
+ "to": 31,
774
+ "toPort": "a"
775
+ },
776
+ {
777
+ "from": 22,
778
+ "fromPort": "out",
779
+ "to": 31,
780
+ "toPort": "b"
781
+ },
782
+ {
783
+ "from": 31,
784
+ "fromPort": "out",
785
+ "to": 32,
786
+ "toPort": "a"
787
+ },
788
+ {
789
+ "from": 28,
790
+ "fromPort": "out",
791
+ "to": 32,
792
+ "toPort": "b"
793
+ },
794
+ {
795
+ "from": 32,
796
+ "fromPort": "out",
797
+ "to": 33,
798
+ "toPort": "value"
799
+ },
800
+ {
801
+ "from": 35,
802
+ "fromPort": "out",
803
+ "to": 34,
804
+ "toPort": "value"
805
+ },
806
+ {
807
+ "from": 36,
808
+ "fromPort": "out",
809
+ "to": 37,
810
+ "toPort": "a"
811
+ },
812
+ {
813
+ "from": 38,
814
+ "fromPort": "out",
815
+ "to": 37,
816
+ "toPort": "b"
817
+ },
818
+ {
819
+ "from": 39,
820
+ "fromPort": "out",
821
+ "to": 37,
822
+ "toPort": "c"
823
+ },
824
+ {
825
+ "from": 37,
826
+ "fromPort": "out",
827
+ "to": 40,
828
+ "toPort": "value"
829
+ },
830
+ {
831
+ "from": 41,
832
+ "fromPort": "out",
833
+ "to": 42,
834
+ "toPort": "a"
835
+ },
836
+ {
837
+ "from": 43,
838
+ "fromPort": "out",
839
+ "to": 42,
840
+ "toPort": "b"
841
+ },
842
+ {
843
+ "from": 44,
844
+ "fromPort": "out",
845
+ "to": 42,
846
+ "toPort": "c"
847
+ },
848
+ {
849
+ "from": 42,
850
+ "fromPort": "out",
851
+ "to": 45,
852
+ "toPort": "value"
853
+ },
854
+ {
855
+ "from": 42,
856
+ "fromPort": "out",
857
+ "to": 46,
858
+ "toPort": "value"
859
+ },
860
+ {
861
+ "from": 48,
862
+ "fromPort": "out",
863
+ "to": 47,
864
+ "toPort": "value"
865
+ },
866
+ {
867
+ "from": 49,
868
+ "fromPort": "out",
869
+ "to": 50,
870
+ "toPort": "a"
871
+ },
872
+ {
873
+ "from": 51,
874
+ "fromPort": "out",
875
+ "to": 50,
876
+ "toPort": "b"
877
+ },
878
+ {
879
+ "from": 52,
880
+ "fromPort": "out",
881
+ "to": 50,
882
+ "toPort": "c"
883
+ },
884
+ {
885
+ "from": 50,
886
+ "fromPort": "out",
887
+ "to": 53,
888
+ "toPort": "value"
889
+ },
890
+ {
891
+ "from": 54,
892
+ "fromPort": "out",
893
+ "to": 55,
894
+ "toPort": "a"
895
+ },
896
+ {
897
+ "from": 56,
898
+ "fromPort": "out",
899
+ "to": 55,
900
+ "toPort": "b"
901
+ },
902
+ {
903
+ "from": 57,
904
+ "fromPort": "out",
905
+ "to": 55,
906
+ "toPort": "c"
907
+ },
908
+ {
909
+ "from": 55,
910
+ "fromPort": "out",
911
+ "to": 58,
912
+ "toPort": "value"
913
+ }
914
+ ]
915
+ },
916
+ "update": {
917
+ "nodes": [
918
+ {
919
+ "id": 0,
920
+ "type": "builtin",
921
+ "parameters": {
922
+ "id": 0
923
+ },
924
+ "x": 0,
925
+ "y": 1203
926
+ },
927
+ {
928
+ "id": 1,
929
+ "type": "attribute",
930
+ "parameters": {
931
+ "name": "age"
932
+ },
933
+ "x": 14.5,
934
+ "y": 1072
935
+ },
936
+ {
937
+ "id": 2,
938
+ "type": "add",
939
+ "parameters": {},
940
+ "x": 387.5,
941
+ "y": 1072
942
+ },
943
+ {
944
+ "id": 3,
945
+ "type": "setAttribute",
946
+ "parameters": {
947
+ "name": "age"
948
+ },
949
+ "x": 684.5,
950
+ "y": 1072
951
+ },
952
+ {
953
+ "id": 4,
954
+ "type": "attribute",
955
+ "parameters": {
956
+ "name": "life"
957
+ },
958
+ "x": 355,
959
+ "y": 1525
960
+ },
961
+ {
962
+ "id": 5,
963
+ "type": "div",
964
+ "parameters": {},
965
+ "x": 716,
966
+ "y": 1508
967
+ },
968
+ {
969
+ "id": 6,
970
+ "type": "compare",
971
+ "parameters": {
972
+ "op": "ge"
973
+ },
974
+ "x": 1054,
975
+ "y": 2165.75
976
+ },
977
+ {
978
+ "id": 7,
979
+ "type": "const",
980
+ "parameters": {
981
+ "value": [
982
+ 1
983
+ ]
984
+ },
985
+ "x": 681,
986
+ "y": 2182.75
987
+ },
988
+ {
989
+ "id": 8,
990
+ "type": "kill",
991
+ "parameters": {},
992
+ "x": 1389.5,
993
+ "y": 2165.75
994
+ },
995
+ {
996
+ "id": 9,
997
+ "type": "builtin",
998
+ "parameters": {
999
+ "id": 7
1000
+ },
1001
+ "x": 0,
1002
+ "y": 262
1003
+ },
1004
+ {
1005
+ "id": 10,
1006
+ "type": "mul",
1007
+ "parameters": {},
1008
+ "x": 381,
1009
+ "y": 319
1010
+ },
1011
+ {
1012
+ "id": 11,
1013
+ "type": "const",
1014
+ "parameters": {
1015
+ "value": [
1016
+ -1.4
1017
+ ]
1018
+ },
1019
+ "x": 11,
1020
+ "y": 393
1021
+ },
1022
+ {
1023
+ "id": 12,
1024
+ "type": "attribute",
1025
+ "parameters": {
1026
+ "name": "seed"
1027
+ },
1028
+ "x": 355,
1029
+ "y": 170
1030
+ },
1031
+ {
1032
+ "id": 13,
1033
+ "type": "vec3",
1034
+ "parameters": {},
1035
+ "x": 694,
1036
+ "y": 301.75
1037
+ },
1038
+ {
1039
+ "id": 14,
1040
+ "type": "const",
1041
+ "parameters": {
1042
+ "value": [
1043
+ 0
1044
+ ]
1045
+ },
1046
+ "x": 351.5,
1047
+ "y": 441
1048
+ },
1049
+ {
1050
+ "id": 15,
1051
+ "type": "attribute",
1052
+ "parameters": {
1053
+ "name": "position"
1054
+ },
1055
+ "x": 14.5,
1056
+ "y": 0
1057
+ },
1058
+ {
1059
+ "id": 16,
1060
+ "type": "scale",
1061
+ "parameters": {},
1062
+ "x": 388,
1063
+ "y": 57
1064
+ },
1065
+ {
1066
+ "id": 17,
1067
+ "type": "const",
1068
+ "parameters": {
1069
+ "value": [
1070
+ 3.4
1071
+ ]
1072
+ },
1073
+ "x": 11,
1074
+ "y": 131
1075
+ },
1076
+ {
1077
+ "id": 18,
1078
+ "type": "add",
1079
+ "parameters": {},
1080
+ "x": 1062.5,
1081
+ "y": 170.75
1082
+ },
1083
+ {
1084
+ "id": 19,
1085
+ "type": "const",
1086
+ "parameters": {
1087
+ "value": [
1088
+ 0,
1089
+ 0,
1090
+ 0
1091
+ ]
1092
+ },
1093
+ "x": 986,
1094
+ "y": 39.75
1095
+ },
1096
+ {
1097
+ "id": 20,
1098
+ "type": "add",
1099
+ "parameters": {},
1100
+ "x": 1404.5,
1101
+ "y": 80
1102
+ },
1103
+ {
1104
+ "id": 21,
1105
+ "type": "simplex3",
1106
+ "parameters": {},
1107
+ "x": 1654,
1108
+ "y": 80
1109
+ },
1110
+ {
1111
+ "id": 22,
1112
+ "type": "const",
1113
+ "parameters": {
1114
+ "value": [
1115
+ 17.3,
1116
+ 5.1,
1117
+ 31.7
1118
+ ]
1119
+ },
1120
+ "x": 986,
1121
+ "y": 292.25
1122
+ },
1123
+ {
1124
+ "id": 23,
1125
+ "type": "add",
1126
+ "parameters": {},
1127
+ "x": 1404.5,
1128
+ "y": 227.25
1129
+ },
1130
+ {
1131
+ "id": 24,
1132
+ "type": "simplex3",
1133
+ "parameters": {},
1134
+ "x": 1654,
1135
+ "y": 227.25
1136
+ },
1137
+ {
1138
+ "id": 25,
1139
+ "type": "const",
1140
+ "parameters": {
1141
+ "value": [
1142
+ 73.9,
1143
+ 41.3,
1144
+ 11.5
1145
+ ]
1146
+ },
1147
+ "x": 986,
1148
+ "y": 423.25
1149
+ },
1150
+ {
1151
+ "id": 26,
1152
+ "type": "add",
1153
+ "parameters": {},
1154
+ "x": 1404.5,
1155
+ "y": 406.25
1156
+ },
1157
+ {
1158
+ "id": 27,
1159
+ "type": "simplex3",
1160
+ "parameters": {},
1161
+ "x": 1654,
1162
+ "y": 406.25
1163
+ },
1164
+ {
1165
+ "id": 28,
1166
+ "type": "vec3",
1167
+ "parameters": {},
1168
+ "x": 1939,
1169
+ "y": 210.25
1170
+ },
1171
+ {
1172
+ "id": 29,
1173
+ "type": "mul",
1174
+ "parameters": {},
1175
+ "x": 1056,
1176
+ "y": 810
1177
+ },
1178
+ {
1179
+ "id": 30,
1180
+ "type": "const",
1181
+ "parameters": {
1182
+ "value": [
1183
+ 9
1184
+ ]
1185
+ },
1186
+ "x": 681,
1187
+ "y": 810
1188
+ },
1189
+ {
1190
+ "id": 31,
1191
+ "type": "scale",
1192
+ "parameters": {},
1193
+ "x": 2279,
1194
+ "y": 822.25
1195
+ },
1196
+ {
1197
+ "id": 32,
1198
+ "type": "attribute",
1199
+ "parameters": {
1200
+ "name": "position"
1201
+ },
1202
+ "x": 14.5,
1203
+ "y": 524
1204
+ },
1205
+ {
1206
+ "id": 33,
1207
+ "type": "builtin",
1208
+ "parameters": {
1209
+ "id": 2
1210
+ },
1211
+ "x": 0,
1212
+ "y": 655
1213
+ },
1214
+ {
1215
+ "id": 34,
1216
+ "type": "sub",
1217
+ "parameters": {},
1218
+ "x": 380.5,
1219
+ "y": 581
1220
+ },
1221
+ {
1222
+ "id": 35,
1223
+ "type": "mul",
1224
+ "parameters": {},
1225
+ "x": 710.5,
1226
+ "y": 628.75
1227
+ },
1228
+ {
1229
+ "id": 36,
1230
+ "type": "const",
1231
+ "parameters": {
1232
+ "value": [
1233
+ 1,
1234
+ 0,
1235
+ 1
1236
+ ]
1237
+ },
1238
+ "x": 311,
1239
+ "y": 711
1240
+ },
1241
+ {
1242
+ "id": 37,
1243
+ "type": "mul",
1244
+ "parameters": {},
1245
+ "x": 1056,
1246
+ "y": 941
1247
+ },
1248
+ {
1249
+ "id": 38,
1250
+ "type": "const",
1251
+ "parameters": {
1252
+ "value": [
1253
+ -1.7
1254
+ ]
1255
+ },
1256
+ "x": 681,
1257
+ "y": 941
1258
+ },
1259
+ {
1260
+ "id": 39,
1261
+ "type": "scale",
1262
+ "parameters": {},
1263
+ "x": 1405,
1264
+ "y": 628.75
1265
+ },
1266
+ {
1267
+ "id": 40,
1268
+ "type": "const",
1269
+ "parameters": {
1270
+ "value": [
1271
+ 0,
1272
+ 4.2,
1273
+ 0
1274
+ ]
1275
+ },
1276
+ "x": 2202,
1277
+ "y": 691.25
1278
+ },
1279
+ {
1280
+ "id": 41,
1281
+ "type": "add",
1282
+ "parameters": {},
1283
+ "x": 2572,
1284
+ "y": 748.25
1285
+ },
1286
+ {
1287
+ "id": 42,
1288
+ "type": "add",
1289
+ "parameters": {},
1290
+ "x": 2789,
1291
+ "y": 708.5
1292
+ },
1293
+ {
1294
+ "id": 43,
1295
+ "type": "attribute",
1296
+ "parameters": {
1297
+ "name": "velocity"
1298
+ },
1299
+ "x": 3006,
1300
+ "y": 1282.25
1301
+ },
1302
+ {
1303
+ "id": 44,
1304
+ "type": "scale",
1305
+ "parameters": {},
1306
+ "x": 3039,
1307
+ "y": 1413.25
1308
+ },
1309
+ {
1310
+ "id": 45,
1311
+ "type": "add",
1312
+ "parameters": {},
1313
+ "x": 3288,
1314
+ "y": 1339.25
1315
+ },
1316
+ {
1317
+ "id": 46,
1318
+ "type": "setAttribute",
1319
+ "parameters": {
1320
+ "name": "velocity"
1321
+ },
1322
+ "x": 3505,
1323
+ "y": 1339.25
1324
+ },
1325
+ {
1326
+ "id": 47,
1327
+ "type": "attribute",
1328
+ "parameters": {
1329
+ "name": "position"
1330
+ },
1331
+ "x": 3505,
1332
+ "y": 1055
1333
+ },
1334
+ {
1335
+ "id": 48,
1336
+ "type": "scale",
1337
+ "parameters": {},
1338
+ "x": 3538,
1339
+ "y": 1186
1340
+ },
1341
+ {
1342
+ "id": 49,
1343
+ "type": "add",
1344
+ "parameters": {},
1345
+ "x": 3787,
1346
+ "y": 1112
1347
+ },
1348
+ {
1349
+ "id": 50,
1350
+ "type": "setAttribute",
1351
+ "parameters": {
1352
+ "name": "position"
1353
+ },
1354
+ "x": 4004,
1355
+ "y": 1112
1356
+ },
1357
+ {
1358
+ "id": 51,
1359
+ "type": "attribute",
1360
+ "parameters": {
1361
+ "name": "size0"
1362
+ },
1363
+ "x": 1030,
1364
+ "y": 1690.75
1365
+ },
1366
+ {
1367
+ "id": 52,
1368
+ "type": "curveLiteral",
1369
+ "parameters": {
1370
+ "curve": {
1371
+ "keys": [
1372
+ {
1373
+ "time": 0,
1374
+ "value": 0.662916438992136,
1375
+ "inTangent": 2.2471691826185145,
1376
+ "outTangent": 1.2269055440364782
1377
+ },
1378
+ {
1379
+ "time": 0.2192864853655495,
1380
+ "value": 0.9319602436194028,
1381
+ "inTangent": 0,
1382
+ "outTangent": 0
1383
+ },
1384
+ {
1385
+ "time": 0.44971337926304744,
1386
+ "value": 0.9319602436194028,
1387
+ "inTangent": 0.061155585117630966,
1388
+ "outTangent": 0.061155585117630966
1389
+ },
1390
+ {
1391
+ "time": 0.6960317830845106,
1392
+ "value": 0.961115881253485,
1393
+ "inTangent": 0,
1394
+ "outTangent": 0
1395
+ },
1396
+ {
1397
+ "time": 1,
1398
+ "value": 0.010069238351883891,
1399
+ "inTangent": -3.1287700159981378,
1400
+ "outTangent": -2.46508031364683
1401
+ }
1402
+ ]
1403
+ }
1404
+ },
1405
+ "x": 970,
1406
+ "y": 1821.75
1407
+ },
1408
+ {
1409
+ "id": 53,
1410
+ "type": "mul",
1411
+ "parameters": {},
1412
+ "x": 1398,
1413
+ "y": 1747.75
1414
+ },
1415
+ {
1416
+ "id": 54,
1417
+ "type": "setAttribute",
1418
+ "parameters": {
1419
+ "name": "size"
1420
+ },
1421
+ "x": 1655.5,
1422
+ "y": 1747.75
1423
+ },
1424
+ {
1425
+ "id": 55,
1426
+ "type": "gradientRGBA",
1427
+ "parameters": {
1428
+ "stops": [
1429
+ {
1430
+ "position": 0,
1431
+ "color": [
1432
+ 1,
1433
+ 0.95,
1434
+ 0.8,
1435
+ 0
1436
+ ]
1437
+ },
1438
+ {
1439
+ "position": 0.06,
1440
+ "color": [
1441
+ 1,
1442
+ 0.8,
1443
+ 0.45,
1444
+ 0.2
1445
+ ]
1446
+ },
1447
+ {
1448
+ "position": 0.28,
1449
+ "color": [
1450
+ 1,
1451
+ 0.52,
1452
+ 0.14,
1453
+ 0.16
1454
+ ]
1455
+ },
1456
+ {
1457
+ "position": 0.62,
1458
+ "color": [
1459
+ 0.9,
1460
+ 0.22,
1461
+ 0.03,
1462
+ 0.08
1463
+ ]
1464
+ },
1465
+ {
1466
+ "position": 1,
1467
+ "color": [
1468
+ 0.35,
1469
+ 0.04,
1470
+ 0.01,
1471
+ 0
1472
+ ]
1473
+ }
1474
+ ]
1475
+ },
1476
+ "x": 970,
1477
+ "y": 1492.75
1478
+ },
1479
+ {
1480
+ "id": 56,
1481
+ "type": "setAttribute",
1482
+ "parameters": {
1483
+ "name": "color"
1484
+ },
1485
+ "x": 1372,
1486
+ "y": 1492.75
1487
+ }
1488
+ ],
1489
+ "connections": [
1490
+ {
1491
+ "from": 1,
1492
+ "fromPort": "out",
1493
+ "to": 2,
1494
+ "toPort": "a"
1495
+ },
1496
+ {
1497
+ "from": 0,
1498
+ "fromPort": "out",
1499
+ "to": 2,
1500
+ "toPort": "b"
1501
+ },
1502
+ {
1503
+ "from": 2,
1504
+ "fromPort": "out",
1505
+ "to": 3,
1506
+ "toPort": "value"
1507
+ },
1508
+ {
1509
+ "from": 2,
1510
+ "fromPort": "out",
1511
+ "to": 5,
1512
+ "toPort": "a"
1513
+ },
1514
+ {
1515
+ "from": 4,
1516
+ "fromPort": "out",
1517
+ "to": 5,
1518
+ "toPort": "b"
1519
+ },
1520
+ {
1521
+ "from": 5,
1522
+ "fromPort": "out",
1523
+ "to": 6,
1524
+ "toPort": "a"
1525
+ },
1526
+ {
1527
+ "from": 7,
1528
+ "fromPort": "out",
1529
+ "to": 6,
1530
+ "toPort": "b"
1531
+ },
1532
+ {
1533
+ "from": 6,
1534
+ "fromPort": "out",
1535
+ "to": 8,
1536
+ "toPort": "condition"
1537
+ },
1538
+ {
1539
+ "from": 9,
1540
+ "fromPort": "out",
1541
+ "to": 10,
1542
+ "toPort": "a"
1543
+ },
1544
+ {
1545
+ "from": 11,
1546
+ "fromPort": "out",
1547
+ "to": 10,
1548
+ "toPort": "b"
1549
+ },
1550
+ {
1551
+ "from": 12,
1552
+ "fromPort": "out",
1553
+ "to": 13,
1554
+ "toPort": "x"
1555
+ },
1556
+ {
1557
+ "from": 10,
1558
+ "fromPort": "out",
1559
+ "to": 13,
1560
+ "toPort": "y"
1561
+ },
1562
+ {
1563
+ "from": 14,
1564
+ "fromPort": "out",
1565
+ "to": 13,
1566
+ "toPort": "z"
1567
+ },
1568
+ {
1569
+ "from": 15,
1570
+ "fromPort": "out",
1571
+ "to": 16,
1572
+ "toPort": "v"
1573
+ },
1574
+ {
1575
+ "from": 17,
1576
+ "fromPort": "out",
1577
+ "to": 16,
1578
+ "toPort": "s"
1579
+ },
1580
+ {
1581
+ "from": 16,
1582
+ "fromPort": "out",
1583
+ "to": 18,
1584
+ "toPort": "a"
1585
+ },
1586
+ {
1587
+ "from": 13,
1588
+ "fromPort": "out",
1589
+ "to": 18,
1590
+ "toPort": "b"
1591
+ },
1592
+ {
1593
+ "from": 18,
1594
+ "fromPort": "out",
1595
+ "to": 20,
1596
+ "toPort": "a"
1597
+ },
1598
+ {
1599
+ "from": 19,
1600
+ "fromPort": "out",
1601
+ "to": 20,
1602
+ "toPort": "b"
1603
+ },
1604
+ {
1605
+ "from": 20,
1606
+ "fromPort": "out",
1607
+ "to": 21,
1608
+ "toPort": "p"
1609
+ },
1610
+ {
1611
+ "from": 18,
1612
+ "fromPort": "out",
1613
+ "to": 23,
1614
+ "toPort": "a"
1615
+ },
1616
+ {
1617
+ "from": 22,
1618
+ "fromPort": "out",
1619
+ "to": 23,
1620
+ "toPort": "b"
1621
+ },
1622
+ {
1623
+ "from": 23,
1624
+ "fromPort": "out",
1625
+ "to": 24,
1626
+ "toPort": "p"
1627
+ },
1628
+ {
1629
+ "from": 18,
1630
+ "fromPort": "out",
1631
+ "to": 26,
1632
+ "toPort": "a"
1633
+ },
1634
+ {
1635
+ "from": 25,
1636
+ "fromPort": "out",
1637
+ "to": 26,
1638
+ "toPort": "b"
1639
+ },
1640
+ {
1641
+ "from": 26,
1642
+ "fromPort": "out",
1643
+ "to": 27,
1644
+ "toPort": "p"
1645
+ },
1646
+ {
1647
+ "from": 21,
1648
+ "fromPort": "out",
1649
+ "to": 28,
1650
+ "toPort": "x"
1651
+ },
1652
+ {
1653
+ "from": 24,
1654
+ "fromPort": "out",
1655
+ "to": 28,
1656
+ "toPort": "y"
1657
+ },
1658
+ {
1659
+ "from": 27,
1660
+ "fromPort": "out",
1661
+ "to": 28,
1662
+ "toPort": "z"
1663
+ },
1664
+ {
1665
+ "from": 30,
1666
+ "fromPort": "out",
1667
+ "to": 29,
1668
+ "toPort": "a"
1669
+ },
1670
+ {
1671
+ "from": 5,
1672
+ "fromPort": "out",
1673
+ "to": 29,
1674
+ "toPort": "b"
1675
+ },
1676
+ {
1677
+ "from": 28,
1678
+ "fromPort": "out",
1679
+ "to": 31,
1680
+ "toPort": "v"
1681
+ },
1682
+ {
1683
+ "from": 29,
1684
+ "fromPort": "out",
1685
+ "to": 31,
1686
+ "toPort": "s"
1687
+ },
1688
+ {
1689
+ "from": 32,
1690
+ "fromPort": "out",
1691
+ "to": 34,
1692
+ "toPort": "a"
1693
+ },
1694
+ {
1695
+ "from": 33,
1696
+ "fromPort": "out",
1697
+ "to": 34,
1698
+ "toPort": "b"
1699
+ },
1700
+ {
1701
+ "from": 34,
1702
+ "fromPort": "out",
1703
+ "to": 35,
1704
+ "toPort": "a"
1705
+ },
1706
+ {
1707
+ "from": 36,
1708
+ "fromPort": "out",
1709
+ "to": 35,
1710
+ "toPort": "b"
1711
+ },
1712
+ {
1713
+ "from": 38,
1714
+ "fromPort": "out",
1715
+ "to": 37,
1716
+ "toPort": "a"
1717
+ },
1718
+ {
1719
+ "from": 5,
1720
+ "fromPort": "out",
1721
+ "to": 37,
1722
+ "toPort": "b"
1723
+ },
1724
+ {
1725
+ "from": 35,
1726
+ "fromPort": "out",
1727
+ "to": 39,
1728
+ "toPort": "v"
1729
+ },
1730
+ {
1731
+ "from": 37,
1732
+ "fromPort": "out",
1733
+ "to": 39,
1734
+ "toPort": "s"
1735
+ },
1736
+ {
1737
+ "from": 40,
1738
+ "fromPort": "out",
1739
+ "to": 41,
1740
+ "toPort": "a"
1741
+ },
1742
+ {
1743
+ "from": 31,
1744
+ "fromPort": "out",
1745
+ "to": 41,
1746
+ "toPort": "b"
1747
+ },
1748
+ {
1749
+ "from": 41,
1750
+ "fromPort": "out",
1751
+ "to": 42,
1752
+ "toPort": "a"
1753
+ },
1754
+ {
1755
+ "from": 39,
1756
+ "fromPort": "out",
1757
+ "to": 42,
1758
+ "toPort": "b"
1759
+ },
1760
+ {
1761
+ "from": 42,
1762
+ "fromPort": "out",
1763
+ "to": 44,
1764
+ "toPort": "v"
1765
+ },
1766
+ {
1767
+ "from": 0,
1768
+ "fromPort": "out",
1769
+ "to": 44,
1770
+ "toPort": "s"
1771
+ },
1772
+ {
1773
+ "from": 43,
1774
+ "fromPort": "out",
1775
+ "to": 45,
1776
+ "toPort": "a"
1777
+ },
1778
+ {
1779
+ "from": 44,
1780
+ "fromPort": "out",
1781
+ "to": 45,
1782
+ "toPort": "b"
1783
+ },
1784
+ {
1785
+ "from": 45,
1786
+ "fromPort": "out",
1787
+ "to": 46,
1788
+ "toPort": "value"
1789
+ },
1790
+ {
1791
+ "from": 45,
1792
+ "fromPort": "out",
1793
+ "to": 48,
1794
+ "toPort": "v"
1795
+ },
1796
+ {
1797
+ "from": 0,
1798
+ "fromPort": "out",
1799
+ "to": 48,
1800
+ "toPort": "s"
1801
+ },
1802
+ {
1803
+ "from": 47,
1804
+ "fromPort": "out",
1805
+ "to": 49,
1806
+ "toPort": "a"
1807
+ },
1808
+ {
1809
+ "from": 48,
1810
+ "fromPort": "out",
1811
+ "to": 49,
1812
+ "toPort": "b"
1813
+ },
1814
+ {
1815
+ "from": 49,
1816
+ "fromPort": "out",
1817
+ "to": 50,
1818
+ "toPort": "value"
1819
+ },
1820
+ {
1821
+ "from": 5,
1822
+ "fromPort": "out",
1823
+ "to": 52,
1824
+ "toPort": "t"
1825
+ },
1826
+ {
1827
+ "from": 51,
1828
+ "fromPort": "out",
1829
+ "to": 53,
1830
+ "toPort": "a"
1831
+ },
1832
+ {
1833
+ "from": 52,
1834
+ "fromPort": "out",
1835
+ "to": 53,
1836
+ "toPort": "b"
1837
+ },
1838
+ {
1839
+ "from": 53,
1840
+ "fromPort": "out",
1841
+ "to": 54,
1842
+ "toPort": "value"
1843
+ },
1844
+ {
1845
+ "from": 5,
1846
+ "fromPort": "out",
1847
+ "to": 55,
1848
+ "toPort": "t"
1849
+ },
1850
+ {
1851
+ "from": 55,
1852
+ "fromPort": "out",
1853
+ "to": 56,
1854
+ "toPort": "value"
1855
+ }
1856
+ ]
1857
+ },
1858
+ "emitter": {
1859
+ "spawn_rate": 560,
1860
+ "prewarm": 1.2,
1861
+ "blend": 1,
1862
+ "projection": 0,
1863
+ "lighting": false,
1864
+ "soft_depth": true,
1865
+ "sort": false,
1866
+ "cull": false,
1867
+ "texture": null,
1868
+ "flipbook": [
1869
+ 1,
1870
+ 1
1871
+ ],
1872
+ "render": {
1873
+ "position": "position",
1874
+ "size": "size",
1875
+ "color": "color",
1876
+ "rotation": "spin"
1877
+ }
1878
+ },
1879
+ "source": "graph",
1880
+ "assembly": "",
1881
+ "optimize": true
1882
+ }