Solution
Implement `ICameraSetup.PostSetup` for world-space shake. — From EnvironmentShake.cs and Notices.cs. Tension: Compute distance falloff via `DistanceCurve.EvaluateDelta((distance/MaxDistance).Clamp(0,1))`. Outcome: Multiply by `GamePreferences.Screenshake` to respect user settings. Use `Noise.Perlin(Time.Now * Rate, offset)` with different offsets per axis (0, 830, 340) for natural-looking shake.
860b445f-5d0e-4a46-8f75-c2f4fe675260
Implement ICameraSetup.PostSetup for world-space shake. — From EnvironmentShake.cs and Notices.cs. Tension: Compute distance falloff via DistanceCurve.EvaluateDelta((distance/MaxDistance).Clamp(0,1)). Outcome: Multiply by GamePreferences.Screenshake to respect user settings. Use Noise.Perlin(Time.Now * Rate, offset) with different offsets per axis (0, 830, 340) for natural-looking shake.