Commit Graph
12 Commits
Author SHA1 Message Date
skylar taylor-barrick 4e03c031de M-egui037: document shared UI behavior and regression contracts 2026-10-25 15:31:41 +01:00
skylar taylor-barrick 253c425e2f Document migrated UI contracts and regression coverage 2026-10-25 14:26:08 +01:00
skylartaylor 650b1c0b05 M037: reconcile current libraries and preserve native IME reset acknowledgements 2026-10-25 01:58:55 +02:00
aionggandDavis Brief 3832c47ef6 craft-ui: update egui to 0.37 (#199)
* craft-ui: match guard for a stack's hit test (clippy 1.95 collapsible_match)

* Update egui to 0.37

egui 0.37 replaces WidgetType with accesskit's Role and renames a few
methods. Mapped per egui's own table (WidgetType docs): Checkbox is
CheckBox, SelectableLabel is Button, Other is Unknown; UiBuilder::id and
Ui::id are scope_id; Id::new is Id::unique (the same hash). No behaviour
change.

egui's test harness now panics on a glyph no installed font has, and its
bundled fonts dropped U+22EE, so the docking fixture's group header draws
an ellipsis instead of a vertical ellipsis.

* craft-ui: README says egui 0.37

---------

Co-authored-by: Davis Brief <davisbrief@gmail.com>
2026-10-23 20:02:10 -04:00
aiongg 0781c48870 docking: screen-reader resize values follow the column width on either edge
On a dock at the right edge the column handle passed accessibility
values through the physical axis, so SetValue 300 gave width 180 and
Increment shrank the column. ResizeHandle::reversed applies
accessibility actions in value space; the pointer and arrow keys stay
physical.
2026-10-20 15:21:46 +00:00
aiongg c084db9c78 docking: a pointer drag on a divider or resize grip leaves no focus behind
Keeping focus on the handle after a pointer drag broke app shortcuts
that defer to a focused widget (egui_wants_keyboard_input), and arrow
keys moved both the canvas selection and the divider. A handle focused
by the pointer gives the focus up on release; one reached with Tab or
F6 keeps it, and arrow keys resize it.
2026-10-20 15:21:46 +00:00
aiongg 3600104e76 docking: rustfmt the new tests 2026-10-20 01:00:56 +00:00
aiongg a76d196b80 docking: dividers and resize grips keep focus after a pointer drag
Arrow keys resize the handle right after a drag. Focus that came from
the pointer draws no highlight until a key is pressed, and hovering
still focuses nothing.
2026-10-20 01:00:22 +00:00
aionggandZenodeon 9777c291c3 docking: anchored floating resize, no-op drops and the host drop hook
Floating windows resize from both side edges, the bottom edge and both
bottom corners; the opposite edges stay fixed and a resize past the
viewport waits for the pointer to come back. A release over a tab's
current slot or its own group body is a no-op instead of a float.
Insertion markers stay inside their strip. Previews paint on the
Tooltip layer, and a reorder inside the source strip shows only the
insertion line. resolve_drag lets the host own a gesture. A panel
floated from a dock uses floating_size or its limits instead of the
column height. ResizeHandle gives focus back after a pointer drag.
node_limits is a free function for the render modules. is_dragging and
tab_insertion_marker are public.

Ported from storytold/craft-libs#110 by @Zenodeon.

Co-authored-by: Zenodeon <aswinmani2001@gmail.com>
2026-10-19 04:45:52 +00:00
skylar taylor-barrick d9077e2c09 UI.7: add shared panel docking transactions and workspace renderer 2026-10-09 22:29:35 -06:00
skylar taylor-barrick 67ce2e9a82 UI.6: add precise visual regressions and toolbar overflow fitting 2026-10-09 19:15:10 -06:00
skylar taylor-barrick dc26460f61 UI.3: share tab strips and bounded pane controls 2026-10-09 13:04:21 -06:00