Skip to main content

Crate rlx_core

Crate rlx_core 

Source
Expand description

rlx-core — the shared, source-agnostic brain of Ritmolux.

Takes PCM frames in (it never knows whether they came from loopback capture or foobar2000), runs DSP (spectrum, onset/beat), and renders scenes via wgpu. See ADR-0001 for the architecture and the layering rules in CLAUDE.md: no audio-source or platform types in this crate, ever.

Re-exports§

pub use wgpu;

Modules§

audio
Source-agnostic sample intake: format validation plus a lock-free SPSC ring buffer.
diag
Runtime diagnostics: rolling frame-time statistics, core-tracked GPU-byte accounting, and the flags that gate the on-screen overlay (Plan 0011).
dsp
Deterministic analysis of the PCM stream: windowed FFT spectrum plus an onset envelope and beat flag, delivered once per hop as an AnalysisFrame.
milk
The MilkDrop runtime: compiled EEL2 programs, the machine that executes them, and the driver that turns their output into warp-mesh parameters (ADR-0113).
preset
The preset layer — ADR-0002 layers 1-2: TOML data binding built-in system parameters to a pure expression language over the audio analysis.
render
The render seam: take an AnalysisFrame, drive the active preset’s system, draw one frame.
signal
Pure, deterministic PCM signal synthesis for the capture / visual-QA path (Plan 0013). These generate synthetic signals by math over a sample clock — they are not an audio source (no WASAPI, no file, no OS), so they live in the source-agnostic core and can be fed straight through the real Analyzer to exercise the actual DSP.