@qxuken/kui 0.1.0-alpha.44 → 0.1.0-alpha.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -21,6 +21,98 @@ listed under both (backlog F61, from the alpha.12 field reports: the list
|
|
|
21
21
|
is what the release knows it broke, and a fix it did not think of as one
|
|
22
22
|
was the first bare bump to break an app in five releases).
|
|
23
23
|
|
|
24
|
+
## 0.1.0-alpha.45 (2026-10-08)
|
|
25
|
+
|
|
26
|
+
**What breaks.**
|
|
27
|
+
|
|
28
|
+
- A menu row whose accelerator would leave its label under 48 px — a
|
|
29
|
+
window narrower than the accelerator with its gaps — draws the
|
|
30
|
+
accelerator cut short with "…" and the label's first glyphs, where it
|
|
31
|
+
drew the whole accelerator past the panel's edge and no label (under
|
|
32
|
+
Fixed, RG154).
|
|
33
|
+
- A `menu_panel` floating in the viewport whose caller declared its
|
|
34
|
+
ceiling as a size expression (`max_width(Bound::Calc(..))`, `"50%"`)
|
|
35
|
+
bounds its labels by that ceiling read against the window, where it
|
|
36
|
+
bounded them by the window alone (under Fixed, RG154). A panel
|
|
37
|
+
anchored elsewhere keeps the window as its labels' bound.
|
|
38
|
+
- A menu bar the app leaves out of a frame while a submenu switch waits
|
|
39
|
+
its 0.3 s starts the wait again when the bar is back, where the switch
|
|
40
|
+
went through at once on the next build (under Fixed, RG154).
|
|
41
|
+
- Windows and Plasma: a `Blur` or `Tinted` window on a desktop with no
|
|
42
|
+
wallpaper kui can read is `Opaque` from its first frame again, as it
|
|
43
|
+
was in alpha.43; alpha.44's `Tinted`-then-`Opaque` is GNOME's alone
|
|
44
|
+
now (under Fixed, RG154).
|
|
45
|
+
|
|
46
|
+
### Fixed
|
|
47
|
+
|
|
48
|
+
- **The accelerator is bounded too** (backlog RG154, from the alpha.44
|
|
49
|
+
pre-tag pass). A row's label was what the panel's width bounded, and
|
|
50
|
+
its accelerator was drawn whole: in a window narrower than the
|
|
51
|
+
accelerator the label shrank to nothing and the accelerator ran past
|
|
52
|
+
the panel, which is what RG150 set out to stop. The label keeps a
|
|
53
|
+
floor of 48 px (`widgets::MENU_LABEL_MIN`) and the accelerator takes
|
|
54
|
+
what that leaves, ending in "…". And a ceiling declared as a size
|
|
55
|
+
expression on a panel floating in the viewport now caps the labels as
|
|
56
|
+
a px one does, read against the window; a panel anchored to a node
|
|
57
|
+
keeps the window's ceiling for its labels, since the room layout will
|
|
58
|
+
read the expression against is not placed when the rows are built.
|
|
59
|
+
- **A menu bar the app stops drawing owes no frames** (backlog RG154).
|
|
60
|
+
A submenu switch waiting its 0.3 s was cleared by the next build of the
|
|
61
|
+
bar's menu; an app that stopped drawing the bar inside the wait (or
|
|
62
|
+
handed it to the platform) kept the switch, and the frames it owed,
|
|
63
|
+
for good. A frame that builds no menu on a surface drops the switch
|
|
64
|
+
waiting there.
|
|
65
|
+
- **Windows and Plasma: no wallpaper, opaque from the first frame**
|
|
66
|
+
(backlog RG154). RG150 moved finding the wallpaper's path to the
|
|
67
|
+
loader's thread for GNOME's sake, where it is up to three `gsettings`
|
|
68
|
+
processes; on Windows it is one call and on Plasma one file read, so
|
|
69
|
+
the loop asks there and a window with none to draw never reads
|
|
70
|
+
`Tinted` first. GNOME keeps the thread. Windows run on screen;
|
|
71
|
+
Plasma compiled and read.
|
|
72
|
+
|
|
73
|
+
**What you can delete.**
|
|
74
|
+
|
|
75
|
+
- A shorter accelerator chosen for a menu that has to fit a narrow
|
|
76
|
+
window (RG154).
|
|
77
|
+
- A frame an app requested itself after stopping its menu bar, to let
|
|
78
|
+
the core settle (RG154).
|
|
79
|
+
|
|
80
|
+
### Native verification
|
|
81
|
+
|
|
82
|
+
The by-hand round alpha.6 introduced (backlog R4), on 2026-10-08, over
|
|
83
|
+
RG154 — what alpha.44's pre-tag pass left — with alpha.45's pre-tag pass
|
|
84
|
+
over it on the Windows machine and under WSLg: the mechanical round on
|
|
85
|
+
both, then a read-only review of the diff since alpha.44, each claim
|
|
86
|
+
probed. It filed nothing; its one finding, a `Calc` ceiling read against
|
|
87
|
+
the window for a panel anchored elsewhere, was corrected inside RG154
|
|
88
|
+
before the tag.
|
|
89
|
+
|
|
90
|
+
**Windows**, the pre-tag pass. fmt and clippy are clean; `nu
|
|
91
|
+
scripts/test.nu --node`: **2148 tests over 143 suites**, 0 failed. The
|
|
92
|
+
C round passes (6 checks), and so do the **57 scenes** through Rust,
|
|
93
|
+
Lua, C, Node and Odin; the Odin binding's four steps with CI's pinned
|
|
94
|
+
`dev-2026-09`; Node's tests under `KUI_CONFORMANCE_REQUIRED=1` (**218 of
|
|
95
|
+
219**, the one skip Windows'), `npm run gen` with no diff, the
|
|
96
|
+
examples' typecheck and the headless round. The windowed round with
|
|
97
|
+
Node's: **53 examples on both bases**, clean on a first run; `counter`
|
|
98
|
+
and `host` opened by hand after `cbuild`, and the backdrop examples
|
|
99
|
+
opened with and without `KUI_BACKDROP_EMULATE`. The bench guard against
|
|
100
|
+
the alpha.44 tag, on a quiet machine: **green**, the eight guarded rows
|
|
101
|
+
−0.7% to +2.1% (`frame_10k_rects_with_access_tree` the high one), the
|
|
102
|
+
worst run-to-run spread 3.5%. A first run beside the WSL round read two
|
|
103
|
+
rows unreadable at 13 and 21% spread, which is why it was run again.
|
|
104
|
+
|
|
105
|
+
**Linux**, under WSLg (llvmpipe), the same commit: fmt and clippy
|
|
106
|
+
clean; `cargo test --workspace`: **1926 tests over 142 suites**, 0
|
|
107
|
+
failed; the C round (5 checks) and the 57 scenes through every adapter,
|
|
108
|
+
Node **219 of 219** with the corpus required, gen clean, the typecheck,
|
|
109
|
+
the headless round. The windowed round under X11 with Node's: **53
|
|
110
|
+
examples on both bases**, clean on a first run, two at a time. The
|
|
111
|
+
backdrop examples under X11 read no wallpaper (WSLg has none to name)
|
|
112
|
+
and went `Opaque`, as they should; Plasma's on-the-loop read is
|
|
113
|
+
compiled and read, not run. No Mac ran this round: the AX audit is CI's
|
|
114
|
+
and the next Mac round's.
|
|
115
|
+
|
|
24
116
|
## 0.1.0-alpha.44 (2026-10-08)
|
|
25
117
|
|
|
26
118
|
**What breaks.**
|
package/howto.md
CHANGED
|
@@ -816,7 +816,8 @@ post the same `item`. A host that shows menus itself reports one with
|
|
|
816
816
|
`accel` in the portable spelling (`"mod+shift+n"`) is drawn the
|
|
817
817
|
platform's way, and the menu widens to its longest row, up to the window
|
|
818
818
|
less a margin (and never below the metric's menu width), where a longer
|
|
819
|
-
label ends in an ellipsis
|
|
819
|
+
label ends in an ellipsis — and past the label's 48 px floor, the
|
|
820
|
+
accelerator does. On the frame
|
|
820
821
|
clock, an open submenu waits 0.3 s before giving way to a row the
|
|
821
822
|
pointer crosses, so a diagonal path into it does not close it.
|
|
822
823
|
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|