Explanation

Understand pieces, signals, layout, state, and lifecycle.

  • Overview

    Meet pieces, signals, and the native controls behind a Day app.

  • Pieces

    Day's unit of UI: what a Piece is, how trees are composed, and what happens when one is built.

  • Reactivity

    Keep controls up to date with signals, derived values, and reactive closures.

  • Layout

    Arrange controls, manage flexible space, and understand how Day measures a screen.

  • Styling

    Fonts, colors, and appearance in a framework whose widgets are drawn by the platform, including what you can't restyle.

  • Reproducible builds

    What Day guarantees about rebuilding the same commit twice, what breaks per platform, and how to verify a build yourself with diffoscope.

  • App lifecycle

    Foreground, background, and termination events as day delivers them, uniformly across platforms.

  • App state

    Where state lives when an app has more than one window: Ambient values, the app scope, the window scope, and the focused-window rule for menu bars.

  • Async without a runtime

    day::task futures on the main thread with no tokio: spawn_blocking for work that blocks, sleep on the toolkit's timer, and how a thread's results return to the UI through Setter and on_main.

  • Baseline alignment

    How text in a row sits on a shared baseline across toolkits, and the layout rules that keep mixed fonts aligned.

  • Observable model

    day-model's per-property observable store: Store, Keyed, Elem, Field, the Observable derive, and the change log.