Toolkit duty matrix

Which backend implements which Toolkit duty (crates/day-spec/src/lib.rs). ✓ = the backend defines the method; · = it inherits the day-spec default (a no-op or trivial answer — day-spec documents each). Required duties have no default; every backend must implement them, and this table proves it.

dutyreqappkituikitgtkqtxamlandroidarkuidommock
request_frame·✓✓✓✓✓✓✓✓·
capability·✓✓✓✓✓✓✓✓✓
realizeyes✓✓✓✓✓✓✓✓✓
updateyes✓✓✓✓✓✓✓✓✓
releaseyes✓✓✓✓✓✓✓✓✓
release_piece·✓✓✓✓✓✓✓✓·
insertyes✓✓✓✓✓✓✓✓✓
removeyes✓✓✓✓✓✓✓✓✓
move_childyes✓✓✓✓✓✓✓✓✓
measureyes✓✓✓✓✓✓✓✓✓
first_baseline·✓✓✓✓✓✓✓✓✓
set_frameyes✓✓✓✓✓✓✓✓✓
set_opacity·✓✓✓✓✓✓✓✓✓
set_transform·✓✓✓✓✓✓✓✓✓
set_selectable·✓✓✓✓✓✓✓✓✓
set_input_traitsyes✓✓✓✓✓✓✓✓✓
set_cursor·✓✓✓✓✓✓·✓✓
set_scroll_content·✓✓✓✓✓✓✓✓✓
scroll_bar_inset····✓····✓
list_row_metrics·✓✓✓✓✓✓✓✓·
scroll_to·✓✓✓✓✓✓✓✓✓
scroll_offset·····✓··✓✓
set_event_sinkyes✓✓✓✓✓✓✓✓✓
enable_gesture·✓✓✓✓✓✓✓✓✓
focus·✓✓✓✓✓✓✓✓✓
set_focusable·✓✓✓✓·✓·✓·
attach_list·✓✓✓✓✓✓✓✓✓
attach_tree·✓✓✓✓✓✓··✓
set_route········✓·
set_undo_state·✓✓·······
set_edit_state·✓✓·······
modifiers·✓··✓···✓·
set_drag_source·✓✓✓✓✓✓✓✓·
set_drop_target·✓✓✓✓✓✓✓✓·
set_context_menu_fn·✓✓✓✓···✓✓
set_app_menu·✓✓✓✓✓✓·✓✓
set_context_menu·✓✓✓✓✓✓·✓✓
edit_toolbar·✓✓✓✓✓✓✓✓✓
update_toolbar·✓✓✓✓✓✓✓✓✓
supports_lifecycle··✓···✓✓✓✓
set_a11y·✓✓✓✓✓✓✓✓✓
announce·✓✓✓✓✓✓✓✓✓
read_native·✓✓✓✓✓✓✓✓✓
replay·✓✓✓✓✓✓✓✓✓
font_families·✓✓✓✓✓✓✓✓✓
measure_text·✓✓✓✓✓✓✓✓✓
decode_image·✓✓✓✓✓✓✓✓✓
image_info·✓✓✓✓✓✓✓✓✓
image_properties·✓········
encode_image·✓✓✓✓✓✓✓✓✓
encode_formats·✓✓✓✓✓✓✓✓✓
release_image·✓✓✓✓✓✓✓✓✓
render_bitmap·✓✓✓✓✓✓✓✓✓
render_pdf·✓✓✓✓·✓···
snapshot_window·✓✓✓✓✓✓✓·✓
snapshot_origin·····✓✓···
prepare_snapshot···✓··✓✓✓·
snapshot_window_chrome·✓✓✓··✓···
toggle_sidebar·✓·✓✓✓··✓·
native_back··✓···✓···
ui_idle·✓✓···✓✓✓✓
present·✓✓✓✓✓✓✓✓✓
dismiss·✓✓✓✓✓✓✓✓✓
open_url·✓✓✓✓✓✓✓✓✓
share_support·✓✓✓✓✓✓·✓·
share_url·✓✓✓✓✓✓·✓·
application_handlers·✓········
open_url_with_application·✓········
defer_system_gestures··✓···✓··✓
set_status_bar_hidden··✓···✓✓·✓
dark_mode·✓✓✓✓✓✓✓✓·
reduce_motion·✓✓✓·✓✓✓✓✓
set_appearance·✓✓✓·✓✓✓✓·
set_app_badge·✓✓✓✓✓·✓✓·
on_suspend·········✓
on_resume·········✓
on_memory_warning·········✓
adopt·✓✓✓✓✓✓✓✓✓
open_window·✓✓✓✓✓✓✓·✓
close_window·✓✓✓✓✓✓✓·✓
quit_app·✓·✓✓✓···✓
focus_window·✓✓✓✓✓✓··✓
set_window_title·✓✓✓✓✓✓··✓
fit_window·✓·✓✓····✓
snapshot_window_of·✓✓✓✓✓···✓
apply_window·✓✓✓✓✓✓✓✓✓
native_window_tabs·✓··✓····✓
native_document_tabs··✓✓✓✓✓··✓
group_windows·✓··✓····✓
window_tab_order·✓··✓····✓
set_dock_menu·✓·······✓
set_drag_region·✓·✓✓✓··✓✓
set_status_items·✓·✓✓✓···✓
set_app_progress·✓·✓✓✓···✓
set_dock_visible·✓·······✓
set_keep_running·✓·✓✓✓···✓
monitors·✓✓✓✓✓✓✓✓✓
window_frame·✓··✓✓··✓✓
set_launcher_shortcuts·✓✓··✓✓··✓