Skip to content

Procedural songs and sdf editor - #61

Merged
damacaa merged 33 commits into
mainfrom
feature/procedural-music
Sep 13, 2026
Merged

damacaa merged 33 commits into
mainfrom
feature/procedural-music

Conversation

@damacaa

@damacaa damacaa commented Sep 13, 2026

Copy link
Copy Markdown
Owner

No description provided.

damacaa and others added 30 commits August 30, 2026 23:22
… and UI visualization

- Derive tempo (BPM), volume, musical scale, and root note directly from SDF shapes.
- Rebalance tones: sub/warm bass (40-85 Hz), mid-range chords/leads, and synthesized drum kit (kick, snare, hi-hat).
- Anchor song visualization to the top-left UI corner with songPoint() and 10x UI scale.
- Implement physics collision and friction audio with spatial panning and Doppler effect.
- Update all sample scenes and add comprehensive documentation in docs/AUDIO.md.
# Conflicts:
#	include/weird-engine/math/MathExpressions.h
#	include/weird-engine/math/SDF.h
- Add SystemParams::AUDIO_VOLUME (var11) and audioVolume() expression helper
- Pass u_audioVolume uniform to 2D distance and 3D raymarching shaders
- Feed audio volume into Simulation2D physics distance field evaluations
- Remove var7 reservation assert in SdfSong and use audioVolume() for UI song pulsating
- Add Audio Volume node to SDF node editor
- Update MATH.md and AUDIO.md documentation
…lick, and inspector controls

- Upgrade synth voice filters to 2-pole resonant TPT State Variable Filter (12 dB/oct) with dynamic attack Q bite and denormal protection.
- Replace std::rand() in audio render loop with lock-free, branchless XorShift32 PRNG (fastNoise).
- Normalize phase accumulator to [0.0, 1.0) to eliminate floating-point drift and inner-loop 2pi multiplications.
- Redesign UI positive click into short, tactile mechanical switch click / thock with dual micro-transients and low-mid cavity body.
- Implement organic sequential track shutdown on death (Lead -> Drums -> Pad -> Bass) with natural note ring-out and zero abrupt voice cutting.
- Update node editor inspector with track play status badges, dynamic trigger sizing, and reset controls.
- Update docs/AUDIO.md with DSP hardening, revised synthesizer channel diagram, and dynamic API methods.
…ck to resonant acoustic pop

- Remove automatic music surge triggering on physical collisions in AudioEngine.
- Remove impact energy tracking from PhysicsAudioEngine.
- Lengthen UI positive click sound to 75ms with resonant acoustic pop in A4-A5 register without internal double-decay choke.
- Update docs/AUDIO.md with revised UI positive click sound specifications.
- Add vortex.json preset to sdf-node-editor assets.
@damacaa
damacaa merged commit 0e6e5de into main Sep 13, 2026
4 checks passed
@damacaa
damacaa deleted the feature/procedural-music branch September 13, 2026 15:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant