Skip to content

v13.3.0 — Helix

Latest

Choose a tag to compare

@rohan-deshpande rohan-deshpande released this 19 Sep 01:22
· 10 commits to master since this release

The flow & shapes release. Backward-compatible, additive, deterministic.

From here on, every release will follow a nebula-specific naming convention — Helix is the first!

Added

  • Vortex behaviour — a coherent tangential swirl around an axis, with optional inward/outward pull and radial falloff (vortices, spell charge-ups, tornados, orbiting motes). Applied to particle velocity, so it isn't subject to the Force ×100 (MEASURE) scaling; deterministic by construction.
  • CurlNoise behaviour — drives particles with the curl of a seeded Perlin field (divergence-free, so they roil without clumping) — the standard for organic turbulence: smoke, fire, dust, energy. Seeded via mulberry32, never Math.random.
  • Parametric emission zones — RingZone, DiscZone, CylinderZone, ConeZone. Uniform-sampled, deterministic, axis-aligned to +Y. Summoning circles / frost novas (ring, disc), pillars / beams (cylinder), cones of cold / sprays (cone).
    • Planar zones (Ring, Disc) are emission-first (supportsCrossing = false).
    • Solid zones (Cone, Cylinder) are true 3D CrossZone boundaries (_dead; Cylinder also _bound).
  • All five new types round-trip through System.fromJSON, and the debug renderer draws wireframes for the new zones.

Notes

  • Vortex/CurlNoise write to particle.velocity — tune magnitudes in the hundreds; they do not use the Force ×100 convention.
  • The new zones sample uniformly by area/volume (the older SphereZone centre-clustering is left unchanged for compatibility).

Full notes in CHANGELOG.md.