Skip to content

Windows parity: Right loop panel is readable and matches "THIS LOOP / HANDS OFF TO" #773

Open

Description

@coneilen

Visual and functional parity work item, from the 2026-10-13 side-by-side review.

  • Comparison: macOS reference Run A (app at 09eda11a, Dark, 2x) against the Windows testing-gaps run (installed 0.1.78-windows.beta26, 2560x1440 at 100%).
  • Ground truth: macOS is the reference. Only platform chrome may differ: the title bar, window buttons, menu-bar location and native file pickers.
  • Evidence limits:
    • File names below refer to the two local evidence bundles. The next macOS ground-truth run will attach captures.
    • Difference IDs (D1, E2, …) refer to the review report.
    • The reviewer opened the paired images it cites. Some surfaces could not be reviewed; they are listed under "Captures needed" in the ledger entry.
  • Done when: every acceptance box is met and shown with paired screenshots in the PR. Before/after Windows captures go next to the macOS capture, and a reviewer from a different model vendor confirms them. A UIA readback or green unit test alone does not satisfy a visual criterion.

Evidence:

  • macOS: 721-…-Show-Loop-Panel;
  • Windows: tg720-loop-workspace-1440, tg722b-workspace-two-tabs-split;
  • differences G1, G7;
  • source: GraphCanvas.zig:2066-2160, 2224-2240, 2308.

Acceptance criteria:

  • No heading or row is truncated at any window width of 960 px or more. Text bounds come from the panel rect, not a constant.
  • Sections: a "THIS LOOP" minimap with type-coloured node blocks, a "HANDS OFF TO" list (type bar, title, condition, status dot) and a "started " footer, as on macOS.

Activity

  1. added
    bugSomething isn't working
    parityWindows/macOS UI parity ledger row (investigation/ui-parity-matrix.md)
    P1 layoutParity priority 1: layout, clipping, overlap, broken rendering vs macOS
    visual parityVisual fidelity against the macOS reference captures
    on Oct 14, 2026
  2. coneilen commented on Oct 14, 2026

    @coneilen
    CollaboratorAuthor

    Escalation handoff (coordinator, 2026-10-13): lane B, gpt-5.4-mini, to gpt-6.1-sol.

    Trigger: the orchestration plan's 90-minute rule. The session ran from 20:29 to 22:48 and went idle without PR READY. No visual acceptance box was evidenced, and that evidence is central here: the S1 truncated panel text.

    Worth keeping (branch coneilen-microsoft-fix-right-loop-panel, draft PR #786):

    • f94ced63 "Fix right loop panel": replaces the fixed 1200 px text bound (GraphCanvas.zig:2308 rect(x, y, 1200, …)) with container-derived bounds. It updates canvas callers (cards, attention rail, activity strip, lane cards, loop detail rail), restructures the rail toward "THIS LOOP / HANDS OFF TO / started ", and adds geometry tests.
    • 874acc7d "Tighten loop panel layout": only local, possibly not pushed. The new session should check.
    • Evidence so far:
      • RED from a throwaway snapshot: expected 1762, found 1200.
      • GREEN: zig test src\GraphCanvas.zig, all 219 passed.
      • Exact-head CI on Fix right loop panel #786: green except for one job still running, including the integration job and its UIA gate.

    What failed or is missing:

    • Local captures failed twice: first on a fixture-project deadline, then with "Unable to start graphcoded.exe". No before/after screenshots exist.
    • No cross-vendor rubber duck was recorded.
    • The REGRESSION line is ambiguous. "All 167 tests passed" is one root, not the full -ShellPart unit result; it needs the section count and every root's count.

    Next session:

    1. Start from origin/main, which now includes Windows parity: in-window dark jump palette matching macOS (#776) #788.
    2. Cherry-pick the two commits above and name them in the PR.
    3. Produce the paired captures: the right panel at default width and at 960 px, against macOS 721-…-Show-Loop-Panel.
    4. Run the full unit inside a desktop lease, and do the rubber duck.
    5. Fix right loop panel #786 will be closed as superseded.
  3. coneilen commented on Oct 14, 2026

    @coneilen
    CollaboratorAuthor

    Progress (coordinator, 2026-10-14): #789 merged as 464ec0f4.

    What it does

    • Canvas text bounds now come from the container, not a fixed x=1200 edge. That fixes the one-letter headings and the empty relation rows in the right loop panel, and the same bug on cards and lanes past x=1200.
    • The panel follows the macOS structure: a "THIS LOOP" minimap, a "HANDS OFF TO" list (type bar, title, condition, status dot) and a "started " footer.
    • The panel's UIA rects come from the painted bounds, and the sparkline node is omitted when there are fewer than 2 samples.

    Evidence

    • An offscreen raster RED on main (0 of 811 pixels beyond x=1200), then GREEN (811 of 811).
    • The full unit run, 55 of 55 sections, on a scratch profile.
    • Every exact-head workflow green.
    • Paired captures at the default width, 960 and 1800 px, plus a stress capture. I reviewed panel-1800 against macOS 721-…-Show-Loop-Panel: it matches in structure and content.
    • Cross-vendor review (Sonnet 5.5) accepted the code and evidence; the visual review was partial.

    Remaining before this issue closes: see the PR's Not verified list. That includes the Windows-only "Collapse" button inside the panel (macOS uses the toolbar toggle), and minimap and colour polish.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1 layoutParity priority 1: layout, clipping, overlap, broken rendering vs macOSbugSomething isn't workingparityWindows/macOS UI parity ledger row (investigation/ui-parity-matrix.md)visual parityVisual fidelity against the macOS reference captureswindowsWindows port

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions