gui-loop centralizes frame timing and scheduling logic for GUI runtime loops.
loop := import('gui-loop')
frameIntervalNt(window)- target frame interval in nanosecondsframeMaxDtNt(window)- maximum clamped frame delta in nanosecondsmarkUrgentFrameIfResizeDispatch(window, step)- marks immediate redraw on resize-related Win32 dispatch eventsmaybeRunFrame(window, onFrame, force, publish)- runs frame callback when due and emits frame event throughpublishsleepUntilNextFrame(window)- backend-specific idle sleep until next frame
GUIuses this module internally and re-exports compatibility wrappers.