Coverage matrix
What each backend actually renders. A kind with no renderer draws a visible ⟨kind⟩
placeholder instead of failing, so these gaps are invisible in a screenshot — the showcase
walkthrough asserts the same facts at runtime via assert_no_placeholders.
Built-in kinds
✓ = the backend’s realize handles it; · = it falls through to the placeholder.
| kind | appkit | uikit | gtk | qt | xaml | android | arkui | dom |
|---|---|---|---|---|---|---|---|---|
day.container | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
day.label | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
day.button | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
day.toggle | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
day.slider | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
day.text_field | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
day.text_area | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
day.picker | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
day.divider | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
day.scroll | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
day.image | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
day.progress | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
day.canvas | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
day.nav | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
day.nav_page | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
day.nav_menu | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
day.list | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
day.tree | ✓ | ✓ | ✓ | · | · | · | · | · |
day.cover | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
day.inspector | ✓ | · | ✓ | ✓ | ✓ | · | · | · |
day.inspector_pane | ✓ | · | ✓ | ✓ | ✓ | · | · | · |
External pieces
✓ = the crate ships that backend’s renderer arm; · = no arm, so the kind renders the
placeholder. A piece may still be absent at runtime if the app does not enable its feature.
A · is not always a gap: day-piece-colorpicker answers android and arkui with a picker
COMPOSED from ordinary pieces, which by construction registers no renderer for its kind
(colorpicker.md). This table measures arms, so it cannot see that —
nothing derived from realize can.
| piece | kind(s) | appkit | uikit | gtk | qt | xaml | android | arkui | dom |
|---|---|---|---|---|---|---|---|---|---|
day-piece-activity | day.piece.activity | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | · | · |
day-piece-colorpicker | day.piece.colorpicker | ✓ | ✓ | ✓ | ✓ | ✓ | · | · | ✓ |
day-piece-combobox | day.piece.combobox | ✓ | · | ✓ | ✓ | ✓ | ✓ | · | · |
day-piece-datetime | day.piece.datepicker, day.piece.timepicker | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
day-piece-map | day.piece.map | ✓ | ✓ | · | · | · | · | · | · |
day-piece-pullrefresh | day.piece.pullrefresh | · | ✓ | · | · | · | ✓ | ✓ | · |
day-piece-remote-image | day.piece.remote_image | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | · | · |
day-piece-searchfield | day.piece.searchfield | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | · | · |
day-piece-stepper | day.piece.stepper | ✓ | · | ✓ | ✓ | · | · | · | · |
day-piece-swiftui | day.piece.swiftui | ✓ | ✓ | · | · | · | · | · | · |
day-piece-texteditor | day.piece.texteditor | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Capabilities
What each backend answers for Cap (capability()): N native, E emulated, –
unsupported, ? decided at runtime (day-dom answers NavSplit from the viewport width).
An app branches on this rather than on the target name.
| cap | appkit | uikit | gtk | qt | xaml | android | arkui | dom |
|---|---|---|---|---|---|---|---|---|
DragDrop | N | N | N | N | N | N | N | N |
DragExternalImport | N | N | N | N | N | N | N | N |
DragExternalExport | N | N | N | N | N | N | N | – |
DragMultipleItems | N | N | N | N | N | N | N | N |
DragFileReferences | N | – | N | N | N | – | – | – |
DragDeferredReceipt | – | – | N | – | N | – | – | – |
DragFilePromises | – | – | – | – | – | – | – | – |
DragExternalMove | – | – | – | – | – | – | – | – |
ListRecycling | – | – | – | – | E | – | – | E |
UndoBridge | N | N | – | – | – | – | – | – |
EditBridge | N | N | – | – | – | – | – | N |
ListReorder | N | N | N | N | N | N | N | E |
ListDelete | – | N | – | – | – | N | N | – |
ListSwipeActions | N | N | – | – | – | – | – | – |
Tree | N | N | N | E | E | E | E | E |
TreeMove | N | – | – | – | – | – | – | – |
BaselineAlignment | N | E | N | E | E | N | E | E |
TextRuns | N | N | N | N | N | N | N | N |
TextLinks | N | N | N | N | N | N | – | N |
Lottie | – | – | – | – | – | – | – | – |
NativeSymbols | N | – | – | – | – | – | – | – |
Snapshot | N | N | N | N | N | N | N | – |
NavSplit | N | N | N | N | N | N | – | N |
NavTabs | N | N | N | N | N | N | E | E |
NavTabsAdaptive | – | N | – | – | – | N | E | E |
NavRepresent | N | E | – | N | – | E | – | N |
NavContentList | N | E | N | N | – | – | – | – |
NavHeader | – | N | – | – | N | N | N | – |
Appearance | N | N | N | – | N | ? | – | N |
AppMenu | N | – | N | N | N | – | – | – |
Dialogs | N | N | N | N | N | N | – | N |
FileDialogs | N | N | N | N | N | N | N | N |
Animation | N | N | – | – | – | N | – | N |
Cover | E | N | E | E | E | N | E | E |
TextEditable | N | N | N | N | N | N | – | N |
TextSelectable | N | N | – | N | E | N | – | N |
TextSpellCheck | N | N | – | – | N | N | – | N |
MultiWindow | N | – | N | N | N | N | ? | – |
AppBadgeCount | N | N | – | – | – | – | – | E |
AppBadgeText | N | – | – | – | – | – | – | – |
AppBadgeDot | N | – | – | – | – | – | – | E |
Toolbar | N | N | N | N | N | N | E | E |
Inspector | N | – | N | N | N | – | – | – |
Cursor | N | E | N | E | E | N | – | N |
FontList | N | N | N | N | N | N | N | E |
ImageDecode | N | N | N | N | N | N | N | N |
ImageEncode | N | N | N | N | – | N | N | N |
ImageProperties | N | – | – | – | – | – | – | – |