Skip to main content

rlx_core/
lib.rs

1//! rlx-core — the shared, source-agnostic brain of Ritmolux.
2//!
3//! Takes PCM frames in (it never knows whether they came from loopback capture
4//! or foobar2000), runs DSP (spectrum, onset/beat), and renders scenes via wgpu.
5//! See ADR-0001 for the architecture and the layering rules in CLAUDE.md:
6//! no audio-source or platform types in this crate, ever.
7
8// core is the shared public-API crate; its surface stays documented. Binding
9// under CI's `-D warnings` by design (Plan 0002 Phase 0).
10#![warn(missing_docs)]
11
12/// The `wgpu` this crate was built against, re-exported.
13///
14/// A caller that hands [`render::Renderer::new_from_surface_target`] a surface
15/// target has to build it from **this** `wgpu`, not from its own copy: two
16/// versions in one tree are two distinct types, and the mismatch is a confusing
17/// error at the seam rather than at the dependency. `core-cabi` builds the
18/// Win32 handle through this, which is what keeps the platform out of `core`
19/// (ADR-0001, ADR-0072) without giving the ABI crate a second `wgpu`.
20pub use wgpu;
21
22pub mod audio;
23pub mod diag;
24pub mod dsp;
25pub mod milk;
26pub mod preset;
27pub mod render;
28pub mod signal;