# Clutter Frame scheduling `ClutterFrameClock` state diagram. ```mermaid stateDiagram Init --> Scheduled/ScheduledNow : schedule update() -> now Idle --> Scheduled/ScheduledNow : schedule update() -> given presentation time Scheduled/ScheduledNow --> Dispatching : target time hit Dispatching --> PendingPresented : queued page flip Dispatching --> Idle : no queued page flip PendingPresented --> Scheduled/ScheduledNow : page flipped, if recent schedule update PendingPresented --> Idle : page flipped ```