A structural type on purpose: any object exposing a position and a
velocity — a MotionComponent paired with a transform, a particle record,
a throwaway literal in a test — can be integrated without adapting to a class.
The vectors are mutated in place, so hooked vectors (plan D3) fire their
change hook once per component write.
The pair of vectors an integrator advances.
A structural type on purpose: any object exposing a
positionand avelocity— aMotionComponentpaired with a transform, a particle record, a throwaway literal in a test — can be integrated without adapting to a class. The vectors are mutated in place, so hooked vectors (plan D3) fire their change hook once per component write.