generator: spectral_velocity replaces spectral_random_velocity, channel_spectral_velocity and duct_spectral_velocity: params.wall_axes chooses a periodic box, a channel or a duct, and the fields it writes are byte-identical to theirs. With walls, perturbation_rms becomes normalization: {type: component_rms, target}. The retired names and key are refused with their replacement. The expression language's Python side, periodic_spectral and petsc_binary move into picurv_cli/, leaving generators/ with only .gen scripts.