v1.2.0
kevinraymond/fosforav1.2.0Mar 4, 2026by github-actions[bot]
AI Summary
Introduction of the GPU-driven particle system and new particle-based effects.
Key Highlights
- GPU-driven particle pipeline with indirect draw
- New effects: Flux, Ribbons, Chaos, Helix, Murmuration
- 3D curl noise flow field
- Trail rendering and spatial hash grid
New Features
- GPU-driven particle pipeline
- Trail rendering with ribbon strips
- Spatial hash grid (40x40)
- New Effects: Flux, Ribbons, Chaos, Helix, Murmuration, Cymatics, Coral
Full Release Notes
### GPU Particle System - GPU-driven pipeline: counter buffer, indirect draw, alive/dead index lists — zero dead particle processing - `particle_lib.wgsl` auto-prepended to all compute shaders: shared structs, bindings, hash/rand, emit/alive helpers - Alive/dead protocol: atomic emission claims, compact alive index rendering - 3D curl noise flow field: 64x64x64 baked texture at `@group(1)`, `sample_flow_field()` helper - Trail rendering: per-particle ring buffer, ribbon triangle strips with tapering width/alpha, separate indirect draw - Spatial hash grid: 40x40 GPU 3-pass pipeline (count → prefix sum → scatter), neighbor query at `@group(3)` - ParticleUniforms extended from 128 to 192 bytes (flow field + trail params) - ParticleRenderUniforms extended from 32 to 48 bytes (frame_index + trail params) - Particle UI panel: alive/max count with utilization bar, emit rate, burst, lifetime, speed, size, drag sliders, feature badges ### New Effects - **Flux**: 30K particles following curl noise flow field, audio-reactive flow strength and speed - **Ribbons**: 8K particles with flow field + 16-point trail ribbons, audio-reactive width/opacity - **Chaos**: 50K particles tracing Lorenz/Rossler strange attractors with RK4 integration, 3D perspective projection, audio-reactive bifurcation parameters - **Helix**: 20K charged particles spiraling via Lorentz force F=q(E+v×B), positive/negative charges, audio-reactive B_z and E fields - **Murmuration**: 80K flocking particles with Vicsek model, spatial hash neighbor query, audio-reactive order↔disorder phase transition - **Cymatics**: 40K particles forming Chladni nodal line patterns via gradient descent, audio frequency bands select mode numbers - **Coral**: 50K particles tracing Turing-like organic growth patterns, hexagonal spots morphing to labyrinthine stripes ## Downloads | Platform | File | Notes | |----------|------|-------| | **macOS** | `.dmg` | Universal binary (Apple Silicon + Intel) | | **Linux x86_64** | `.tar.gz` | glibc 2.35+ (Ubuntu 22.04+, Debian 12+) | | **Windows x64** | `.zip` | Windows 10+ | ## Getting started **macOS**: Open the DMG, drag Phosphor.app to Applications (or run directly). Signed and notarized. **Linux / Windows**: Extract, run `phosphor` from the extracted directory. The `assets/` folder must be next to the binary. ## Requirements - **GPU**: Vulkan (Linux/Windows) or Metal (macOS) - **Audio**: Built-in mic or line-in for audio-reactive visuals - **NDI®** (optional): [NDI® SDK runtime](https://ndi.video) for network video output - **Video playback** (optional): `ffmpeg` on PATH for media layers --- NDI® is a registered trademark of Vizrt NDI AB.