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.