Follow-up to #61, which lands white-gaussian only (flat PSD up to sweep Nyquist). Add spectrally-shaped variants: pink (1/f), brown (1/f^2), or band-limited [f_low, f_high]. Pre-generation via utils.colorednoise.powerlaw_psd_gaussian (already vendored), indexed by sweep number. Requires an optional prep-hook in the motion registry since stateless per-sample evaluation can't shape the spectrum -- the static one-row-per-kind contract has to evolve.
Follow-up to #61, which lands white-gaussian only (flat PSD up to sweep Nyquist). Add spectrally-shaped variants: pink (1/f), brown (1/f^2), or band-limited [f_low, f_high]. Pre-generation via
utils.colorednoise.powerlaw_psd_gaussian(already vendored), indexed by sweep number. Requires an optional prep-hook in the motion registry since stateless per-sample evaluation can't shape the spectrum -- the static one-row-per-kind contract has to evolve.