1cb93a386Sopenharmony_ci{
2cb93a386Sopenharmony_ci   "MaxCount": 800,
3cb93a386Sopenharmony_ci   "Drawable": {
4cb93a386Sopenharmony_ci      "Type": "SkCircleDrawable",
5cb93a386Sopenharmony_ci      "Radius": 2
6cb93a386Sopenharmony_ci   },
7cb93a386Sopenharmony_ci   "Code": [
8cb93a386Sopenharmony_ci      "void effectSpawn(inout Effect effect) {",
9cb93a386Sopenharmony_ci      "  effect.lifetime = 4;",
10cb93a386Sopenharmony_ci      "  effect.rate = 120;",
11cb93a386Sopenharmony_ci      "  effect.spin = 6;",
12cb93a386Sopenharmony_ci      "}",
13cb93a386Sopenharmony_ci      "",
14cb93a386Sopenharmony_ci      "void spawn(inout Particle p) {",
15cb93a386Sopenharmony_ci      "  p.lifetime = 2 + rand(p.seed);",
16cb93a386Sopenharmony_ci      "  p.vel = p.dir * mix(50, 60, rand(p.seed));",
17cb93a386Sopenharmony_ci      "}",
18cb93a386Sopenharmony_ci      "",
19cb93a386Sopenharmony_ci      "void update(inout Particle p) {",
20cb93a386Sopenharmony_ci      "  p.scale = 0.5 + 1.5 * p.age;",
21cb93a386Sopenharmony_ci      "  float3 a0 = float3(0.098, 0.141, 0.784);",
22cb93a386Sopenharmony_ci      "  float3 a1 = float3(0.525, 0.886, 0.980);",
23cb93a386Sopenharmony_ci      "  float3 b0 = float3(0.376, 0.121, 0.705);",
24cb93a386Sopenharmony_ci      "  float3 b1 = float3(0.933, 0.227, 0.953);",
25cb93a386Sopenharmony_ci      "  p.color.rgb = mix(mix(a0, a1, p.age), mix(b0, b1, p.age), rand(p.seed));",
26cb93a386Sopenharmony_ci      "}",
27cb93a386Sopenharmony_ci      ""
28cb93a386Sopenharmony_ci   ],
29cb93a386Sopenharmony_ci   "Bindings": []
30cb93a386Sopenharmony_ci}