Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

glacier-app

The Glacier app module contains all of the code for setting up and running the audio and graphics thread.

The architecture involve two decoupled threads communicating events to ring buffers. The app logic is combined on a native desktop application via winit.

sequenceDiagram
    participant U as UI Thread
    participant RB as ring buffer
    participant A as Audio Thread
    U->>RB: try_push(AudioCommand)
    RB->>A: try_pop(AudioCommand)
    Note over U,A: Audio Thread pops on its own callback tick, no direct call
    A->>A: is_playing = !is_playing