Manual-run queue
The single ordered checklist of every Tier C item from the windowing demo matrix — grouped by machine/session so each environment is visited once. Each entry carries: demo path, build command, steps, the expected observation, and where to paste results (the demo's findings doc). Agents append entries here; Petar checks them off.
Last reviewed: June 11, 2026
NOTE
On the Mac, build with nix develop -c ldc2 … (not dub — it fork-ENOMEMs there); the verified command pattern is in the AppKit scaffold notes. [wine]-flagged Win32 items are re-confirmations of behavior already observed under Wine.
Windows box
[ ] Win32 F03 on real Windows: run
win32/examples/f03-modal-loop(build perwin32/scaffold.md) withoutWSI_AUTO_EXIT, with and withoutWSI_MODAL_FIX=1; drag titlebar + corner ~2 s each; expect freeze vs ~15.6 mssrc=timerticks. Also Alt+Space → S → arrows to check whether Wine's keyboard-mode early-exit reproduces. Paste themodal_summarylines intowin32/f03-modal-loop.md.[ ] Win32 F04 on real Windows: run
win32/examples/f04-frame-pacingwithWSI_AUTO_EXIT=1(expectpath=dwm, true vblank stats) and again withWSI_FORCE_TIMER=1; note monitor Hz and whether minimize changes theDwmFlushcadence. Paste both stats blocks intowin32/f04-frame-pacing.md.[ ] Win32 F05 on real Windows: re-measure the wakeup-latency table and the waitable-timer tick distribution at 142 ms period (Wine's ±1 ms is tighter than Windows' default 15.6 ms timer-resolution quantization). Paste into
win32/f05-loop-wakeup.md.[ ] Win32 F06 on real Windows:
LoadKeyboardLayoutW("00000407")with real KBDGR tables — capture the Y/Z swap on injected scan 0x15/0x2c and the dead-acute (scan 0x0d) + E sequence (WM_DEADCHAR 0x00b4thenWM_CHAR 0x00e9; the demo logs it as-is). Also confirm theVK_PACKETscancode field shows the UTF-16 unit's low byte. Paste intowin32/f06-keyboard.md.[ ] Win32 F07 with Microsoft Pinyin: run
win32/examples/f07-text-inputwithoutWSI_AUTO_EXITand execute the 6-step script inwin32/f07-text-input.md. Record: composition keydowns swallowed asVK_PROCESSKEY?, the cancel shape (zero-flagWM_IME_COMPOSITIONvs Wine's bareENDCOMPOSITION), focus-loss pre-edit fate, candidate-window position vs the loggedcandidate_anchor x=. Paste intowin32/f07-text-input.md.[ ] Win32 F08 on mixed-DPI monitors: run
win32/examples/f08-dpi-scalingwithoutWSI_AUTO_EXIT, drag between 100% and 150%/200% monitors. Record the livedpi_changedsequence + ordering vsWM_GETDPISCALEDSIZE/WM_SIZE, hairline sharpness after the suggested-rect move, and whether the lateSetProcessDpiAwarenessContextfailsERROR_ACCESS_DENIED(succeeds-but-noops under Wine). Paste intowin32/f08-dpi-scaling.md.[ ] Win32 F09 on multi-monitor Windows: run
win32/examples/f09-outputswithWSI_AUTO_EXIT=1 WSI_RUN_MS=30000; hot-plug (or disable/enable in Display settings) a monitor mid-run. Expectoutput_added/removedwithvia=WM_DISPLAYCHANGE(vs Wine'svia=poll), aWM_SETTINGCHANGEburst,WM_DEVICECHANGEarrivals, real per-monitorrcMonitoroffsets, and truedmDisplayFrequency. Paste intowin32/f09-outputs.md.[ ] Win32 F12 on real Windows: run
win32/examples/f12-cursors; visually confirm the 3×3 zone cursors, the custom bullseye + hotspot; confirm theprecedence_result phase=set_then_def cursor_after=IDC_CROSSreproduces; expectani_probenon-null (C:\Windows\Cursorsships.ani); checkcursor_metricsunder large-cursor accessibility / mixed DPI. Paste intowin32/f12-cursors.md.[ ] Win32 F10 on real Windows: rerun
win32/examples/f10-pointer-capture; expectWM_INPUTto report injected deltas verbatim whileWM_MOUSEMOVEshows post-ballistics motion (Wine accelerated BOTH ×2). Does absoluteSendInputproduceMOUSE_MOVE_ABSOLUTEraw events? Does Alt-Tab to another process auto-clearClipCursor? Paste intowin32/f10-pointer-capture.md.[ ] Win32 F11 on a precision touchpad: two-finger scroll + fling; confirm sub-120
wheelDeltastream and the inertia tail as decaying wheel messages (WSI_TRUNCATE=1should visibly freeze the ruler); probeSPI_GETMOUSEWHEELROUTING(errored 1439 under Wine) and toggle "scroll inactive windows". Paste intowin32/f11-scroll.md.[ ] Win32 F14 on real Windows: keys M/N/R/F/D in
win32/examples/f14-window-state; confirm a singleWM_SIZEecho per transition (winewayland added a late compositor configure), where focus goes on minimize with other apps open, the fullscreen normal-rect corruption, and the ✕-click veto withDarmed (src=external). Paste intowin32/f14-window-state.md.[ ] Win32 F15 on real Windows: right-click menu tour in
win32/examples/f15-popup; confirm the parent survives submenu open, outside-click on ANOTHER process's window dismisses (headless Wine can't prove cross-process capture), edge placement matches theadjust=log. Paste intowin32/f15-popup.md.[ ] Win32 F16 on real Windows: re-run
f16-clipboard-dnd.exe— delayed-render demand latencies,WM_CLIPBOARDUPDATEdelivery, clipboard persistence after owner exit (Windows runs a session clipboard, Wine does not), and a real file-manager drag onto the window. Paste intowin32/f16-clipboard-dnd.md.[ ] Win32 F17 on real Windows: re-run
f17-threading.exe— confirm probe 4a's mutual-send resolution and 4b's deadlock against real user32, plus probe 5's GDI behavior under DWM. Paste intowin32/f17-threading.md.
Mac (mac-bsn, unlocked GUI session)
- [ ] One-time: unlock the screen during a demo run so
CGWindowListCopyWindowInforeportsonscreen=true, and grant Screen Recording TCC toscreencapturefor visual capture. Paste results into the AppKit scaffold findings. - [ ] AppKit F02 interactive live-resize: build
docs/research/window-system-integration/os-apis/appkit/examples/f02-resize/per the scaffold notes (nix develop -c ldc2 …, not dub), run./demowith no env vars in an unlocked GUI session, drag the window border for a few seconds, then close the window. Expected on stderr:live_resize_start→ repeatedresize/frame_callbackpairs at drag cadence →live_resize_end(all three are absent under the programmatic storm). Paste the sequence intoappkit/f02-resize.md. - [ ] AppKit F03 interactive live-resize/title-drag: build
…/appkit/examples/f03-modal-loop/per the scaffold notes (binary also staged at/tmp/wsi-m2/f03-modal-loop/demoon the mac). Run./demowith no env vars; drag the border, then the title bar, ~3 s each. Expect: color cycle never freezes (common-modes timer),modal_enter/modal_exitbracket the drag, thetick timer=defaultlines vanish during it with a post-draggap_ms≈ drag length,draw … live_resize=1. Paste intoappkit/f03-modal-loop.md. - [ ] AppKit F04 display-link cadence on a real display: run
…/appkit/examples/f04-frame-pacing/(/tmp/wsi-m2/f04-frame-pacing/demo) in an unlocked GUI session. Expectpath=displaylinkat ~8.33 ms (120 Hz),fell_back=0; record whether fires pause during the 3 sorderOut:window. Paste intoappkit/f04-frame-pacing.md. - [ ] AppKit F07 real Pinyin IME: add the Pinyin – Simplified input source, run
…/appkit/examples/f07-text-input/(/tmp/wsi-m4/f07-text-input/demo) with no env vars, click the window, typenihao+ Space,x+ Esc, thenni+ focus switch — full keystroke script inappkit/f07-text-input.md§ Tier C. Expect per-keystroketic_set_marked_text(attributed string class?), system-driventic_first_rectre-queries anchoring the candidate window,tic_insert_text text=你好on Space, and the Esc/focus-loss fate of the pre-edit under a real IME. Also re-do option-e + e from the physical keyboard on the US layout. Paste intoappkit/f07-text-input.md. - [ ] AppKit F08 monitor drag across scales: attach a 1× external display, run
…/appkit/examples/f08-dpi-scaling/(/tmp/wsi-m4/f08-dpi-scaling/demo) with no env vars in an unlocked session. First readctm when=drawRecton the Retina screen (expecta=2.00 d=-2.00, falsifying the headless identity-CTM artifact), then drag to the 1× display and back — expectwindow_backing_changed old_scale=…,backing_changed n=2/3, a CTM re-log, andbuffer_alloctracking the pixel size; note the crossing point and hairline crispness. Also flip the built-in "looks like" resolution and record which notification fires. Full script inappkit/f08-dpi-scaling.md§ Tier C. Paste intoappkit/f08-dpi-scaling.md.
GNOME session (mutter)
- [ ] Wayland F03 — interactive drag continuity (also run in the KDE and sway sections below):
dub run --root=docs/research/window-system-integration/os-apis/wayland/examples/f03-modal-loop(noWSI_AUTO_EXIT). Drag the window by its title bar ≥5 s, then drag an edge to resize ≥5 s. Expect: uninterrupted ~2 Hz color cycling, thetick … dt_us=…stream bounded near the display's frame period throughout,resizing=1in the configure lines during the edge drag,modal_enter=0 modal_exit=0in the exit summary. Any tick gap far beyond one frame period during the drag falsifies the no-modal-loop finding. Paste intowayland/f03-modal-loop.md. - [ ] Wayland F06 on a real seat (any Wayland session): re-run
wayland/examples/f06-keyboardwith a physical keyboard — live layout switch via compositor config (virtual keyboards carry their own keymap, so the headless run could not observe it), AltGr/ISO_Level3symbols, and per-device keymap behavior. Paste intowayland/f06-keyboard.md. - [ ] Wayland F07 candidate-window visuals (GNOME + kimpanel, or KDE): run
wayland/examples/f07-text-inputon the real session with fcitx5+pinyin active, typenihao+ space at both ends of the line, Esc mid-composition, then switch focus away mid-composition. Expect the doc's logged choreography plus a candidate window anchored at the caret rect. Paste intowayland/f07-text-input.md. - [ ] X11 F03 interactive border/title drag (any real X11/XWayland session): build with
nix develop -c dub build --root=docs/research/window-system-integration/os-apis/x11/examples/f03-modal-loop, run…/examples/f03-modal-loop/build/f03_modal_loop_x11with no env vars. Border-drag-resize ~5 s, then title-bar-drag ~5 s; any key exits. Expected: the color cycle never freezes;tick … gap_us=…stays ~16 ms (nothing above ~50 ms) through both drags. Paste the max observed gap intox11/f03-modal-loop.md(findings table, "Interactive border/title drag" row). - [ ] X11 F05 under a real compositing X server + load: re-run
x11/examples/f05-loop-wakeupand compare the latency distributions against the Xvfb numbers (no vsync/compositor contention there; the 808 µsClientMessagemax likely grows). Paste intox11/f05-loop-wakeup.md. - [ ] X11 F06 on real
dehardware: AltGr/ISO_Level3symbols, multi-layout group switching (grp:options, nonzerogroup=field), and whether real input drivers emit per-deviceXkbNewKeyboardNotifystorms like Xvfb's 3x. Paste intox11/f06-keyboard.md.
KDE session (kwin)
(no entries yet)
sway session
(no entries yet)