Skip to content

feel: sign-off 5, 87 rows of the sidebar, Spaces and profiles (D48, D79) - #33

Merged
siyabendoezdemir merged 7 commits into
mainfrom
lead/signoff-5
Oct 12, 2026
Merged

siyabendoezdemir merged 7 commits into
mainfrom
lead/signoff-5

Conversation

@siyabendoezdemir

@siyabendoezdemir siyabendoezdemir commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

What this does

The lead's fifth "feels right" sign-off (D48, D79). It marks 87 rows "feel": true: 53 of tabs, pinned tabs, Favorites, Today and folders (5a), and 34 of Spaces, profiles and the sidebar's own controls (5b). The record, with the rows held back and their numbers, is reviews/feel-signoff-5.md in the project's context folder.

  • docs/feature-status.json: "feel": true on 87 rows, and no other change. FEATURES.md is regenerated and counts 202 feel right.
    • Tabs: TB-01, TB-02, TB-03, TB-06, TB-07, TB-10, TB-11, TB-13, TB-15, TB-16, TB-18, TB-20, TB-22.
    • Pinned tabs: PN-01 to PN-09.
    • Favorites: FV-01 to FV-08, FV-10.
    • Today: TD-01 to TD-06.
    • Folders: FD-01 to FD-06, FD-08, FD-09, FD-10.
    • Spaces: SP-01, SP-03, SP-04, SP-05, SP-06, SP-07, SP-09, SP-12, SP-14, SP-17, SP-18, SP-19, SP-20, SP-21, SP-24.
    • Profiles: PR-01, PR-02, PR-03, PR-05, PR-07.
    • Sidebar: SB-01 to SB-07, SB-09, SB-19, SB-21, SB-23, SB-25, SB-28.
    • Motion: FL-04, FL-07 to FL-12, FL-14.
  • scripts/capture/scenarios/:
    • Five new scenarios. tb and tb2 cover tabs, pinned tabs, Favorites, Today and folders. sp and sp2 cover Spaces, themes and profiles. sb2 covers the sidebar's controls, scrolling, keyboard focus and a private window. Each prints a [mark] line per step.
    • sp2's slide() drags a theme slider with the screen's pointer and its button only. A native slider's drag ends at the first move of a pointer with no button held. The old drag used the page's own mouse, so it stopped at the recorder's next pointer move, and the clip showed no slider move. Each drag now prints a [check] line with the value it ends on.
    • Two comment IDs: DL-14 in dl, UP-03 in st (PR feel: sign-offs 2 to 4, 41 rows of navigation, the Archive, import, keys, Settings, private windows, downloads and DevTools (D48, D79) #29's review).
  • scripts/capture/record.mjs (PR feel: sign-offs 2 to 4, 41 rows of navigation, the Archive, import, keys, Settings, private windows, downloads and DevTools (D48, D79) #29's review follow-ups, and the new scenarios' pages):
    • close() drops fixture pages still waiting out their ?wait=, so a run no longer stays up for as long as 30 s after it saves.
    • A scenario's env can't change the run's own profile or test hooks (ORBIT_USER_DATA, ORBIT_E2E). Downloads land in the run's profile, whatever the shell's ORBIT_DOWNLOADS_DIR says.
    • A file's ?size= can't be negative.
    • The fixture pages' header items are links to /Updates, /Team and /About, for the pinned tab's navigation steps.

How the rows were checked

  • Recordings: five scenarios at 60 fps, from main at 21487aa, each started at a load under 4, and read frame by frame: a per-frame change count, contact sheets around each step, and colour probes. The clips are in the context folder's clips/: TB-04.mp4, TB-12.mp4, SP-07.mp4, PR-06.mp4 and SB-22.mp4.
  • The FL rows' numbers: feel-sidebar, feel-rows and feel-spaces, three rounds (27 of 27 each, loads 1.5–3.2). FL-12's, FL-13's and FL-20's other tests also ran three rounds (5 of 5 each). PERF.md has the table.
  • SP-17: the clip shows the presets, Reset and the appearance, but not the intensity and grain drags. That was the recorder's bug, fixed here. A scratch test dragged intensity with the page's own mouse, and grain is on its test (spaces.spec.ts:418). On this branch, the fixed sp2 ran end to end with all 16 marks (00:46–00:48 UTC). Its three drags ended on 25, 90 and 70, as asked, and its clip shows both thumbs move. Its first run, at a load of 9–11, timed out at a scripted swipe later in the scenario and passed when run again.
  • Held (D84), for the feel-fix-2 lane (D91):
    1. The row the selection leaves glows again for about 300 ms (FL-06, FL-05, TB-04, TB-05, TB-08, SB-22).
    2. The row and folder icon picker offers 48 emoji, and a search for "sun" or "smile" finds nothing (TB-12, FD-07).
    3. The Favorites jump into extra rows on a switch between Spaces on different profiles (PR-06, SP-10, SP-08, FL-13, FL-20).
    4. A window's first visit to a Space shows the empty state, though the Space has tabs no other window shows (SP-10, SP-23).
  • Not in this sign-off: rows that look or feel-fix 2 still change; PR-04, PR-08 and PR-09 (no clip yet); FL-15, FL-23 and FL-27; and the partial and unbuilt rows.
  • Unverified here (D79 (6)): after a click or key switch of Space, the page changes 3–6 frames before the sidebar's slide is drawn. The renderer starts the slide 6–13 ms after the key in all three rounds, so the rest is Xvfb's software drawing. That's for the macOS check. Trackpad swipes are scripted wheel events here.

Merge gate (D42, D81)

This head's tree differs from main only in docs/, FEATURES.md and scripts/capture/. main is 6988d2a, the same tree as tweaks' fully gated head 86dcc5e. So D81's checks apply:

$ git diff --stat 86dcc5e af09d90 -- . ':(exclude)docs' ':(exclude)FEATURES.md' ':(exclude)scripts/capture'
(empty)
$ git diff --stat 6988d2a af09d90
 FEATURES.md                       | 176 +++++++--------
 docs/feature-status.json          | 174 +++++++--------
 scripts/capture/record.mjs        |  24 ++-
 scripts/capture/scenarios/dl.mjs  |   4 +-
 scripts/capture/scenarios/sb2.mjs | 324 ++++++++++++++++++++++++++++
 scripts/capture/scenarios/sp.mjs  | 243 +++++++++++++++++++++
 scripts/capture/scenarios/sp2.mjs | 382 ++++++++++++++++++++++++++++++++
 scripts/capture/scenarios/st.mjs  |   2 +-
 scripts/capture/scenarios/tb.mjs  | 285 ++++++++++++++++++++++++
 scripts/capture/scenarios/tb2.mjs | 443 ++++++++++++++++++++++++++++++++++++++
 10 files changed, 1871 insertions(+), 186 deletions(-)

$ checks.sh on af09d90 (npm run build; npm run typecheck; npm run lint; vitest run), 00:48:54–00:49:25 UTC, load about 10–11
build 0
typecheck 0
lint 0
unit 0
 Test Files  117 passed (117)
      Tests  1133 passed (1133)

The full gate on that tree (PR #30's gate r2, on 86dcc5e, 23:51–00:39 UTC): build, typecheck, lint and unit 0 (1133/1133); e2e 853 passed, 2 skipped (macOS-only), 0 failed (47.7 min). The full e2e suite isn't run again here: no e2e test reads these files.

macOS: unverified. There is no CI (D42), and the capture scripts run on Linux only.

Review

  • Independent review (reviews/lead-signoff-5.md in the project's context folder, 01:15 UTC): APPROVE, no must-fix.
    • The 87 marks are exactly the record's two lists, every marked row is built yes, and no held or left-out row is marked. node scripts/features.mjs leaves FEATURES.md unchanged (202 feel right), and D81's diff is empty.
    • The ten clip claims it checked all hold.
    • sp2 and tb2 ran end to end on this head: exit 0, with all 16 and 24 marks, at loads 5.6–9.1. sp2's three drags ended on 25, 90 and 70, and its frames show both thumbs move.
    • Follow-ups, none blocking: the new scenarios have no unrecorded setup, so each clip opens on 5–8 s of preparation; a run still waits 15 s after it saves (quitOrbit's sleep, already on main); five wording slips in the record, now corrected there (the marks stand); one comment ID in sp2; and a try/finally in slide(). The script ones go into the next sign-off's PR.

🤖 Generated with Claude Code


Note

Low Risk
No changes under application src/; only feature-status docs and capture tooling, so runtime behaviour and merge risk stay minimal.

Overview
Records the lead’s fifth “feels right” sign-off (D48): 87 spec behaviours across sidebar, tabs, pinned/Favorites/Today/folders, Spaces, profiles, and motion (FL-04–FL-12, FL-14) are marked "feel": true in docs/feature-status.json, and FEATURES.md is regenerated so the total feel right count rises 115 → 202.

Adds five Linux screen-capture scenarios (tb, tb2, sp, sp2, sb2) that script hands-on flows for those areas (pointer glides via xdotool, [mark] timing lines). record.mjs is tightened for those runs: pending fixture ?wait= timers clear on shutdown; scenario env can’t override ORBIT_E2E / ORBIT_USER_DATA; downloads use the capture profile; fixture headers link to /Updates, /Team, /About; negative ?size= is clamped. sp2 drags theme sliders with the real screen pointer so clips show intensity/grain moves.

Minor comment cross-refs in dl.mjs and st.mjs only.

Reviewed by Cursor Bugbot for commit af09d90. Bugbot is set up for automated code reviews on this repo. Configure here.

Siya and others added 7 commits October 11, 2026 18:34
…he run's profile (PR #29 review follow-ups)

- The fixture server keeps the pages still waiting out their ?wait=, and close() clears them, so a
  run never waits up to 30 s after it has saved.
- A /dl/ file's size is never below 0.
- A scenario's env goes before ORBIT_E2E and ORBIT_USER_DATA, so it can't change them, and the
  shell's ORBIT_DOWNLOADS_DIR doesn't reach Orbit: downloads land in the run's own profile.
- Comment IDs: DL-14 and DL-16 in dl.mjs, UP-03 in st.mjs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
tb: a new tab from the command bar, a click and a held ⌃Tab to switch, a
Today reorder, a pin by drag and by ⌘D, a tab dragged onto the Favorites,
New Folder and a drop into it, collapse, a row rename, the row menu, ⌘W
and ⌘⇧T, Clear and ⌘Z (TB, PN, FV, FD, TD).

sp: a click on a Space's icon, ⌃⌥← and →, a swipe, the New Space flow, a
Space rename, the theme picker, ⌃S and the edge reveal, a tab dropped on
another Space's icon, Delete Space… and Undo (SP, SB).

Each tab is shown once before the clip has much to show, so its row has
its title and icon.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…k their header items

The fixture page's header items are links (Updates, Team, About), so a scenario can follow one as a
person would. tb2 covers more of the sidebar's rows (TB, PN, FV, TD, FD), sp2 the Space menu, icon,
theme, profiles and a second window (SP, PR, SB-06, SB-21), sb2 the sidebar's controls (SB).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign-off 5: the lead read 60 fps captures of the sidebar frame by
frame (tb, tb2, sp, sp2 and sb2, on main 21487aa). 87 rows feel right:
53 of tabs, pinned tabs, Favorites, Today and folders (TB, PN, FV, TD
and FD, with FL-04 and FL-07 to FL-12), and 34 of Spaces, profiles and
the sidebar's controls (SP, PR and SB, with FL-14).

Held, with numbers (D84), for the feel-fix-2 lane (D91): the glow a
row replays when the selection leaves it, the row and folder icon
picker, the Favorites jump on a switch between profiles, and a
window's first visit to a Space. The record is
reviews/feel-signoff-5.md in the lead's context.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
FEATURES.md conflicted (generated); regenerated with scripts/features.mjs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… held (SP-17)

A native slider's drag ends at the first move of a pointer with no button
held. sp2 dragged with the page's own mouse while the recorder moved the
screen's pointer, so each drag stopped at once and the clip showed none.
slide() now presses, moves and releases the screen's pointer only, and
prints the value each drag ends on. A run on this branch ended on 25, 90
and 70, as asked (sign-off 5's follow-up).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@cursor

cursor Bot commented Oct 12, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: 495d9795-8d14-48a8-b560-6a9b6f9ef5f1)

@siyabendoezdemir
siyabendoezdemir merged commit c52bee7 into main Oct 12, 2026
1 check passed
siyabendoezdemir added a commit that referenced this pull request Oct 12, 2026
feature-status.json: kept both sides per key, main's new "feels right" marks and this lane's notes
(TB-12, FD-07, SP-10, SP-23, PR-06, FL-06, none of which main marked); FEATURES.md regenerated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
siyabendoezdemir added a commit that referenced this pull request Oct 12, 2026
docs/feature-status.json merged without conflict (main's feels marks and this
lane's notes); FEATURES.md regenerated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
siyabendoezdemir added a commit that referenced this pull request Oct 12, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant