Reference index

These reference pages are published from the repository’s docs/ directory. They cover API details, platform support, implementation decisions, and edge cases. Start with the task guides for usage examples, or use the Glossary to look up framework terminology.

Core & UI

Framework-level UI: navigation, lists, layout containers, drawing, text, and the cross-cutting concerns every app touches.

PageCovers
textlabels, fonts, semantic styles, wrapping
text-runsstyled runs inside one label
markdowninline Markdown in labels
buttonsbutton styles per backend
navigationnav host/stack mapping per platform, routes
deep-linkscustom URL schemes, delivery, launcher shortcuts
dialogsalert/confirm/prompt, native presentation, results
menusapp menu bar, context menus, roles and shortcuts
toolbarswindow toolbars: the item vocabulary, symbol icons, per-desktop realization
windowssecondary windows, the Preferences window, the cover fallback
window-imagecapturing the app’s own window as a PNG
gridthe eager grid: rows, spans, flexible columns
formsform/section/labeled groupings
baselinebaseline alignment across toolkits
size-classessize classes and navigation re-presentation
scrollscrolling and programmatic scroll targets
searchsearchable() surfaces per platform
coverfullscreen covers and dismissal control
inspectorthe trailing properties pane: native splits, the compact sheet
focuskeyboard focus as a signal: bindings, rules, per-backend map
cursorthe pointer’s shape over a piece: one vocabulary, per-toolkit realization, toolkit-only extras
listthe native recycling list: row protocol, heights, selection
treethe hierarchical tree: nesting, expansion, drag-to-reparent (plan)
canvasthe canvas display list and gestures
fontsthe platform font list, canvas fonts, and text measurement
shapescanvas drawing, shape pieces, gestures
progressdeterminate bars and spinners
pickerthe built-in one-of-N picker: menu, segmented, and inline styles
textareamulti-line text: editing, selection, spell-check
texteditorday-piece-texteditor — editing a StyledText in each platform’s rich-text view
localizationFluent mechanics, arguments, fallback
accessibilityroles, per-backend attribute mapping, the audit
lifecycleapp phases and their per-platform availability
asynctasks, resources, and the runtime rules
statewhere state lives: per-window and app-wide Ambient values, the focused-window rule
modelthe per-property observable store and the Observable derive
persistenceSQLite storage for the model: ModelContainer, the Model derive, migrations
resourcesasset packaging and the zero-copy runtime path
vectorsresolution-independent SVG glyphs and the vector piece
imagesraster images from bytes: decode, draw, read, and write back out
colorthe Color/Paint currency, what a native picker returns, and a proposal to widen it
iconsday icon build: every platform’s app-icon set from one master
drag-and-dropnative data transfer within and between applications
drag-and-drop-plantransfer architecture, platform constraints, and implementation plan
filesfile I/O and platform paths

Pieces

Standalone UI Pieces: native widgets that live in their own crates and plug in without any core changes.

PageCovers
swiftuiday-piece-swiftui — embed your own SwiftUI views (macOS, iOS)
webview-evalweb view JavaScript evaluation: API and per-platform support
mapday-piece-map — native maps
mediaday-piece-media — audio/video playback
comboboxday-piece-combobox — free-form text plus a native dropdown
searchfieldday-piece-searchfield — the search input
activityday-piece-activity — activity spinners
pullrefreshday-piece-pullrefresh — pull-to-refresh for scrollables
datepickerday-piece-datetime — native date & time pickers
colorpickerday-piece-colorpicker — a color well: the platform chooser, or one Day composes
stepperday-piece-stepper — a numeric field with increment/decrement arrows
badgeapp-icon numeric badge (proposed)
tweaksper-toolkit native configuration: accessors, packaged tweaks, recipes

Parts

Headless capability crates, the non-UI counterpart of Pieces. They provide device and system access without any widgets.

PageCovers
batteryday-part-battery
clipboardday-part-clipboard
prefsday-part-prefs
fsday-part-fs
notifyday-part-local-notify (proposed successor design)
networkday-part-network
sensorsday-part-sensors
hapticsday-part-haptics
soundday-part-sound
wakelockday-part-wakelock
deviceinfoday-part-deviceinfo
httpday-part-http
downloadsday-part-downloads
permissionsday-part-permissions
locationday-part-location

Platform & tooling

Platform backends, the extension model for writing your own Pieces, per-backend support matrices, API conventions, and tooling.

PageCovers
sandboxmacOS App Sandbox, entitlements, and persistent file access
harmonyosOpenHarmony toolchain setup and quirks
webthe web-dom backend — wasm build, dayscript bridge, static hosting
extendingpiece registration internals
bridgedaybridge: foreign-language arms of a Rust API
coverage-matrixwhich piece kinds each backend renders (generated, CI-gated)
duty-matrixwhich backend implements which Toolkit duty (generated, CI-gated)
recorder-matrixevent → recorded dayscript step coverage (generated, CI-gated)
loggingthe log facade, levels, per-platform sinks, DAY_LOG, custom loggers
breakday-piece-break crash capture, reports, and delivery
storestore listings and day store
flavorsDay-<name>.toml and --flavor: one source tree, several shipped apps
agentdayscript sessions, day drive, and the agent-facing tooling
api-stylethe API design conventions Day itself follows
vscodeeditor setup
environmenttoolchain/SDK discovery env vars (DAY_CPPWINRT, DAY_WINDOWS_KITS_ROOT, …)

The web view piece and Day Lite, for embedded JavaScript and TypeScript apps, have their own repositories and documentation.