updateInput method
Integrates held input once per rendered frame. Public for headless hosts.
Implementation
void updateInput(double dt) {
spatialInput.update(dt);
if (!dt.isFinite || dt <= 0 || dt > 0.25) return;
if (spatialInput.lookX != 0 || spatialInput.lookY != 0) {
cameraRig.rotate(
spatialInput.lookX * 2.1 * dt,
-spatialInput.lookY * 1.5 * dt,
);
}
if (spatialInput.moveX == 0 && spatialInput.moveY == 0) return;
spatialInput.writeMovement(
_inputDisplacement,
forward: cameraRig.headTransform.forward,
screenRight: cameraRig.headTransform.right,
dt: dt,
);
cameraRig.position.add(_inputDisplacement);
}