Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
d32affc
fix(split): an open tab chosen for a pane goes into it in the update …
siyabendoezdemir Oct 11, 2026
b26b63d
fix(media): back from the player, the page shows in its window only o…
siyabendoezdemir Oct 11, 2026
5003412
fix(commandbar): the first ⌘T after a launch is as quick as later ope…
siyabendoezdemir Oct 11, 2026
0bc474d
test(pages): Reduce Motion in the page screens and the swipe arrow (D…
siyabendoezdemir Oct 11, 2026
d1250d2
fix(peek): the Peek's page is laid out once, and the card moves a sti…
siyabendoezdemir Oct 11, 2026
4f9bd99
docs(peek): PK-06 and FL-19 notes for the page laid out once and the …
siyabendoezdemir Oct 11, 2026
630ce6a
fix(split): a closing pane fades with its page on it; the drop zone s…
siyabendoezdemir Oct 11, 2026
00fd644
docs(split): SV-26 and FL-18 notes for the panes that stop in place, …
siyabendoezdemir Oct 11, 2026
2c0ef1d
fix(mini): the ready window draws itself empty until it opens; a Mini…
siyabendoezdemir Oct 11, 2026
3fcd8cb
docs(mini): MW-04 and MW-15 notes for the ready window drawn empty an…
siyabendoezdemir Oct 11, 2026
267b6cc
test(mini): the ready-window check waits out a hidden window that dra…
siyabendoezdemir Oct 11, 2026
aac3c19
fix(peek): the Peek's layout never touches a view whose page has gone…
siyabendoezdemir Oct 11, 2026
5debdf7
Merge origin/main (PR #29, sign-off 2) into lane/feel-fix
siyabendoezdemir Oct 11, 2026
60dc895
fix(nav, library): a view put back in the window never shows its last…
siyabendoezdemir Oct 11, 2026
1a84e61
docs(nav, library): NV-06 and AR-02 notes for the page tools and the …
siyabendoezdemir Oct 11, 2026
5f4853e
fix(media): a view back from the player waits out of sight at the win…
siyabendoezdemir Oct 11, 2026
aeaacb4
docs(commandbar): the first ⌘T after a launch goes back into FL-29's …
siyabendoezdemir Oct 11, 2026
580e5c0
test(mini): the ready window's empty frames are judged from what is d…
siyabendoezdemir Oct 11, 2026
f01a853
fix(peek): the Peek's stills go to the overlay only, not to the windo…
siyabendoezdemir Oct 11, 2026
f9aa01f
fix(peek): a Peek whose page crashes or fails to load drops its still…
siyabendoezdemir Oct 11, 2026
a00ef11
fix(library): a closed Library's view hides once its page has drawn i…
siyabendoezdemir Oct 11, 2026
0859678
fix(commandbar): once a resize of the window ends, the hidden overlay…
siyabendoezdemir Oct 11, 2026
e3ec9e2
fix(mini): "Open in…" waits for its page's still no longer than STILL…
siyabendoezdemir Oct 11, 2026
58c7c6b
fix(media): a Peek's tab that leaves the screen never asks the player…
siyabendoezdemir Oct 11, 2026
aed5a48
docs: notes for fix round 1's follow-ups (PK-06, AR-02, CB-22, MW-15,…
siyabendoezdemir Oct 11, 2026
ef8351c
Merge origin/main (finish-tabs, PR #31) into lane/feel-fix
siyabendoezdemir Oct 11, 2026
6c498aa
docs(commandbar): CB-13 lists New Blank Window as found, now finish-t…
siyabendoezdemir Oct 11, 2026
3ded4a1
docs: what each way back from the player shows, with the held view's …
siyabendoezdemir Oct 12, 2026
95667d9
Merge origin/main (PR #30, tweaks) into lane/feel-fix
siyabendoezdemir Oct 12, 2026
a1085ce
Merge origin/main (PR #33, sign-off 5's marks) into lane/feel-fix
siyabendoezdemir Oct 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 13 additions & 13 deletions FEATURES.md

Large diffs are not rendered by default.

11 changes: 10 additions & 1 deletion docs/FEEL.md
Original file line number Diff line number Diff line change
Expand Up @@ -227,19 +227,28 @@
- The rubber band returns with the spring FL-13 gives it (response 0.3 s, ratio 1.0). From a third of the width that spring needs about 390 ms to come within 0.5 px, or 478 ms with the release wait. FL-29's 350 ms is for swipes that land on a Space, so the rubber band keeps FL-13's spring (D70).
- **FL-15:** the release uses the pop spring (0.30 s, damping 0.70), as FL-15 asks; the spec gives it no time. From 0.94 the button is within 0.2 % of full size 193 ms after the release.
- **FL-16:** the first ⌘T after a launch showed the bar in the second frame in two runs of three (14, 22 and 22 ms). Warm opens show it in the first frame.
- The feel-fix lane (CB-22) warms the overlay up at the window's size, so the first open does the work of later ones with no resize. Over 12 fresh launches at load 2.0–3.7, the overlay's own work for it took 3.5–11.5 ms (median 5.8), against 3.6 for later opens; the test holds it to 1.5 times theirs plus 2 ms. Before, over ten launches at load 3.5–9: 8–17 ms, against 4–8.
- The first ⌘T still shows the bar in the second frame in about two launches in five (D90): 13 of 31 launches so far. Over those 12 launches it took 4.2–22.9 ms (median 14.6) and missed in 5. The review's 12 at load 2.2–8.8: 4.9–31.0 ms, median 18.6, 7 missed. The fix check's 7 at load 8.6–11.3: 6.5–20.5 ms, 1 missed. `main`'s six at load 5.4–5.7: median 21.25.
- The update reaches the overlay 5–10 ms after the key (main sends it after 3–7 ms), against about 2.5 ms for later opens; the overlay's work adds the rest. A later ⌘T misses too, about one open in eight, so the test judges later opens at their best of three.
- Two leads, tried over 12 launches each. Waiting 1.5 s after the warm-up: 11 within a frame, so start-up costs some of it, though main ran no task over 7 ms in the 400 ms before any key. Drawing the warm-up's bars at 1 % opacity, so they are rasterized before the real open: none within a frame (21.7–55.8 ms), so they stay at 0.
- The test logs the first ⌘T's frame, and judges its work and that nothing resizes.
- **FL-18:**
- The zone shows 3 frames after the move that finds it, for two reasons. A fade from 0 shows only from its second frame, and React renders a pointer move's state in a task of its own, which can miss the next frame. Over seven runs it took 2–4 frames.
- Since the feel-fix lane (FL-18) the move's state renders in the move's own task, and the fade starts a frame along its curve, so its first frame shows. In three runs at load 4–8 the zone showed in the frame after the move that found it, and moved to a new half in 1 frame (3 and 2 before).
- The zone now moves to a new half at once, as FL-18 asks. SV-26's 120 ms ease defers to feel.md.
- The page makes room while the zone shows, so on release the new pane only takes the zone's place.
- Adding a pane, a flip and closing a pane use the standard spring. The panes are within 2 px in 267–300 ms, as the spec asks, but within 0.5 px only at 433–483 ms, after a 1.4 px (0.2 %) overshoot.
- Since the feel-fix lane (SV-26, FL-18) a pane that comes to its place under 600 px/s stops there, so none passes it; one turned around at speed still carries on past and comes back (FL-01). Three runs at load 4–8: an added pane in place in 300–317 ms, a flip in 283 ms, a close in 283–300 ms, none past its place.
- Closing a pane (SV-26): since the feel-fix lane its card fades and collapses to about 0.96 with a still of its page on it, gone in 200–233 ms (three runs at load 4–9). Main keeps a still of each pane once the panes are at rest, 200 ms after the last load, scroll or key, so a pane closed within about 200 ms of the split showing has none and closes blank.
- Not built: the "bubble" while a tab hovers another tab's row, and the wobble on drop.
- **FL-19:** the close's tween and the expand's spring now start their clocks when they are called, so their first frame already moves. This is a timing change in the peek lane's `PeekLayer.tsx`, shown by `feel-peek.spec.ts`.
- The open uses a spring tuned to FL-19's 280–320 ms (response 0.275 s, ratio 0.92). The standard spring FL-19 names takes longer than 320 ms over a card's travel (D70).
- The layer goes when the close's curve ends, as it did before the lane. The lane had made it go once the card and the dim were under 0.1 %; no test showed that was needed, so it came out in fix round 1 (review follow-up 3).
- Six runs at load 15–19, each in up to three rounds (D46), took 173–194 ms at their best; 4 of their 10 rounds took 201–215 ms. That is at the edge of the target: the close starts in the second frame and runs 160 ms.
- Two gaps remain:
- During the open, the overlay draws at 30 fps on this machine while main moves the page view every frame, so p99 is two intervals. A fix belongs in `src/main/peek/`, which is the peek lane's.
- During the open, the overlay draws at 30 fps on this machine, so p99 is two intervals. Under Xvfb's software compositing it draws at 30–60 fps whatever it shows.
- Escape goes through main to the overlay view, so the close starts in the second frame (as with FL-03).
- Main used to resize the page view in every frame of the open, from the link's size (13 times in an open), so the page showed laid out narrow until about 230 ms in. Since the feel-fix lane (PK-06) the page is laid out once, at its size, out of sight, and joins the card at rest; the card grows blank and shows a still of the page while it moves. The view changes size 0 times in an open and once in an expand (8 before). The close fades that still: the view leaves the screen 2–6 ms after Escape and the still fades over 160 ms (`PEEK_CLOSE_MS`). Read from frames, its first changed frame to its last spans 117–167 ms: the ease-out's last steps are too small to show, which D79 (2) allows two frames for. Three runs at load 4–5: the open within 2 px in 300–317 ms, its longest frame 33–67 ms (50–83 before); the expand within 0.5 px in 217–250 ms.
- **FL-20:** a removed Favorite used to fade at full size. It now shrinks to 0.85 where it was.
- **FL-21:** only the rows near the visible band are drawn. A Space shown for the first time draws a stand-in at once (11 ms) and its own list by 161 ms.
- Under load 3–4 the long lists still have frames of two intervals, so p99 is two intervals: 5 such frames per 200-tab fling, and 12 per 500-tab scroll (was 102).
Expand Down
Loading