update method

void update(
  1. double deltaSeconds
)

Per-frame update: Schedules.postPhysics (the frame's fixed steps and physics integration have all run by the time the scene calls this), then onCommandBoundary, onBeforeUpdate, Schedules.update, onCommandBoundary again (where Game mounts nodes spawned during update), Schedules.renderSync, and finally onFrameEnd (e.g. flush scene-graph mutations) before render.

deltaSeconds arrives already clock-scaled under the standard driver: it is the value frameStart returned, routed through Scene.update's component walk. FrameTime.unscaledDelta (set at frameStart) carries this frame's wall delta.

Implementation

void update(double deltaSeconds) {
  app.world.resources.get<FrameTime>().delta = deltaSeconds;
  app.runSchedule(Schedules.postPhysics);
  onCommandBoundary?.call();
  onBeforeUpdate?.call();
  app.runSchedule(Schedules.update);
  onCommandBoundary?.call();
  app.runSchedule(Schedules.renderSync);
  onFrameEnd?.call();
}