const glm::dvec3 &Velocity() const noexcept { return state.vel; }
bool Moving() const noexcept { return glm::length2(state.vel) > 0.0000001; }
void Move(const glm::dvec3 &dp) noexcept;
+ void Accelerate(const glm::dvec3 &dv) noexcept;
+ void EnforceConstraints(State &) noexcept;
void Heading(const glm::dvec3 &h) noexcept { state.dir = h; }
const glm::dvec3 &Heading() const noexcept { return state.dir; }