Amplitude, frequency, seed, rotational amplitude and the decay rate are
authored configuration and are always written (rotational amplitude is
omitted when it is the zero default, so a position-only shake stays a
small document). Trauma is scene state — a camera saved mid-impulse
is still shaking, and nothing else can reconstruct the envelope — so it
is written the way CHARACTER_CONTROLLER_SERIALIZER writes
verticalVelocity. skippedSteps is a diagnostic of a run and is not
carried.
The seed is the hash salt, not a live SeededRandom stream: the noise is
a pure function of (seed, simulationTime) and there is no stream
position to restore.
The §79 serializer for CameraShake (§44, R-36/R-37 residue).
Amplitude, frequency, seed, rotational amplitude and the decay rate are authored configuration and are always written (rotational amplitude is omitted when it is the zero default, so a position-only shake stays a small document). Trauma is scene state — a camera saved mid-impulse is still shaking, and nothing else can reconstruct the envelope — so it is written the way
CHARACTER_CONTROLLER_SERIALIZERwritesverticalVelocity.skippedStepsis a diagnostic of a run and is not carried.The seed is the hash salt, not a live
SeededRandomstream: the noise is a pure function of(seed, simulationTime)and there is no stream position to restore.