Rendering: rotation render fix, additive/opaque blend modes, flipbook animation, gradients and lifetime curves, unified DrawItem2D render path (Vulkan + WebGPU). Simulation: timed bursts, prewarm, line/ring shapes, gravity, damping, velocity limits/curves, inherit velocity, local/world space, collision (bounds + resolver), CPU noise, sub-emitters, stretched trails, overflow policies, dt caps, offscreen sim skip. Advanced: radial force fields, custom particle shaders, pooled Light2D particle lights, opt-in GPU-accelerated simulation with automatic CPU fallback. Fixes: Vulkan pipeline builder lifetime bug (crash on window init), emitter-life emission timing, emit() syncs attachment position. Tests: new coverage incl. scale regression (128 emitters).
30 lines
847 B
JSON
30 lines
847 B
JSON
{
|
|
"buffer": 256,
|
|
"x": 400,
|
|
"y": 300,
|
|
"emissionRate": 200,
|
|
"emitterLife": 0.3,
|
|
"particleLifetime": [0.5, 1.2],
|
|
"direction": -1.5708,
|
|
"spread": 6.283,
|
|
"speed": [40, 160],
|
|
"linearAcceleration": [-20, -60, 20, -10],
|
|
"emissionArea": { "type": "ellipse", "x": 6, "y": 6 },
|
|
"particleSize": [10, 10],
|
|
"blendMode": "additive",
|
|
"startRotation": [-45, 45],
|
|
"colorOverLifetime": [
|
|
{ "t": 0.0, "r": 1.0, "g": 0.95, "b": 0.6, "a": 1.0 },
|
|
{ "t": 0.35, "r": 1.0, "g": 0.4, "b": 0.1, "a": 0.9 },
|
|
{ "t": 0.7, "r": 0.6, "g": 0.1, "b": 0.8, "a": 0.5 },
|
|
{ "t": 1.0, "r": 0.2, "g": 0.0, "b": 0.4, "a": 0.0 }
|
|
],
|
|
"sizeOverLifetime": [[0.0, 0.4], [0.3, 1.0], [1.0, 0.1]],
|
|
"rotationOverLifetime": [[0.0, 0.0], [1.0, 180.0]],
|
|
"spin": [-3, 3],
|
|
"layer": 2,
|
|
"visible": true,
|
|
"autoStart": true,
|
|
"autoReload": true
|
|
}
|