{
   "MaxCount": 2000,
   "Drawable": {
      "Type": "SkCircleDrawable",
      "Radius": 4
   },
   "Code": [
      "void effectSpawn(inout Effect effect) {",
      "  effect.lifetime = 2;",
      "  effect.rate = 200;",
      "}",
      "",
      "void spawn(inout Particle p) {",
      "  p.lifetime = 10;",
      "}",
      "",
      "float4x4 rx(float rad) {",
      "  float c = cos(rad);",
      "  float s = sin(rad);",
      "  return float4x4(1, 0,  0, 0,",
      "                  0, c, -s, 0,",
      "                  0, s,  c, 0,",
      "                  0, 0,  0, 1);",
      "}",
      "",
      "float4x4 ry(float rad) {",
      "  float c = cos(rad);",
      "  float s = sin(rad);",
      "  return float4x4(c, 0, -s, 0,",
      "                  0, 1,  0, 0,",
      "                  s, 0,  c, 0,",
      "                  0, 0,  0, 1);",
      "}",
      "",
      "float4x4 rz(float rad) {",
      "  float c = cos(rad);",
      "  float s = sin(rad);",
      "  return float4x4( c, s, 0, 0,",
      "                  -s, c, 0, 0,",
      "                   0, 0, 1, 0,",
      "                   0, 0, 0, 1);",
      "}",
      "",
      "void update(inout Particle p) {",
      "  float3 pos = float3(rand(p.seed), rand(p.seed), rand(p.seed));",
      "  if (rand(p.seed) < 0.33) {",
      "    if (pos.x > 0.5) {",
      "      pos.x = 1;",
      "      p.color.rgb = float3(1, 0.2, 0.2);",
      "    } else {",
      "      pos.x = 0;",
      "      p.color.rgb = float3(0.2, 1, 1);",
      "    }",
      "  } else if (rand(p.seed) < 0.5) {",
      "    if (pos.y > 0.5) {",
      "      pos.y = 1;",
      "      p.color.rgb = float3(0.2, 0.2, 1);",
      "    } else {",
      "      pos.y = 0;",
      "      p.color.rgb = float3(1, 1, 0.2);",
      "    }",
      "  } else {",
      "    if (pos.z > 0.5) {",
      "      pos.z = 1;",
      "      p.color.rgb = float3(0.2, 1, 0.2);",
      "    } else {",
      "      pos.z = 0;",
      "      p.color.rgb = float3(1, 0.2, 1);",
      "    }",
      "  }",
      "",
      "  float s = effect.age * 2 - 1;",
      "  s = s < 0 ? -s : s;",
      "",
      "  pos = pos * 2 - 1;",
      "  pos = mix(pos, normalize(pos), s);",
      "  pos = pos * 100;",
      "",
      "  float age = float(effect.loop) + effect.age;",
      "  float4x4 mat = rx(age * radians(60))",
      "               * ry(age * radians(70))",
      "               * rz(age * radians(80));",
      "  pos = (mat * float4(pos, 1)).xyz;",
      "",
      "  p.pos.x = pos.x;",
      "  p.pos.y = pos.y;",
      "  p.scale = ((pos.z + 50) / 100 + 0.5) / 2;",
      "}",
      ""
   ],
   "Bindings": []
}