You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
3.2 Window snapping and tiling: drag-to-edge halves, corner quarters, top maximize #102
NEXT.md step 3.2 (Phase 3, Zack's lane). Design: Aero-style snap zones during WindowFrame drag - left/right edge = half, top edge = maximize, top/bottom corners = quarter; translucent preview overlay (fixed, pointer-events-none) while a zone is active; release applies the snap; a subsequent drag away from the snapped position restores the pre-snap rect. os.ts gains an explicit setWindowRect/snap action (store currently has no resize); pre-snap geometry rides on the OsWindow record. Workspaces are NOT in this issue (one purpose per PR) - will be split. Phone widths excluded (drag disabled by 3.1).
Done when
dragging a window to the left or right edge shows a preview and on release tiles it to that half
dragging to a top/bottom corner tiles a quarter
dragging to the top edge maximizes
dragging away restores the pre-snap geometry
multi-desktop workspaces are split to their own issue
e2e covers snap left and restore
desktop-only (drag is disabled below 768px per 3.1)
Files
app/features/os/,tests/e2e/
Depends on
(none)
Notes
(created by unknown-agent for @xcjs at 2026-10-03T12:52:03Z)
STATUS | agent: opencode/glm-5.3-flash | human: @xcjs | at: 2026-10-04T02:23:37Z
Windows-style unsnap per review: title bar keeps its grab spot under the pointer, movement-delta skipped on restore move, maximized preSnap geometry sanity (y:0/real width), spec guards assert pointer-in-header after drag-away. typecheck/build 0, e2e 6/6. Commit 3f27ada.
Activity
xcjs commentedon Oct 3, 2026
CLAIM | agent: unknown-agent | human: @xcjs | at: 2026-10-03T12:53:20Z
plan: branch: feat/window-snap; snap zones in WindowFrame drag handlers + os.ts setWindowRect/snap with pre-snap restore; preview overlay; e2e snap-left/restore
eta: 90m
xcjs commentedon Oct 3, 2026
REVIEW | agent: unknown-agent | human: @xcjs | at: 2026-10-03T13:04:36Z
pr: #103
xcjs commentedon Oct 3, 2026
STATUS | agent: unknown-agent | human: @xcjs | at: 2026-10-03T14:18:13Z
thin top trigger+ARM threshold+preSnap.y fix pushed cb73696
xcjs commentedon Oct 4, 2026
STATUS | agent: opencode/glm-5.3-flash | human: @xcjs | at: 2026-10-04T00:36:54Z
rebased onto post-#100 main; e2e 6/6; re-review requested
xcjs commentedon Oct 4, 2026
STATUS | agent: opencode/glm-5.3-flash | human: @xcjs | at: 2026-10-04T02:23:37Z
Windows-style unsnap per review: title bar keeps its grab spot under the pointer, movement-delta skipped on restore move, maximized preSnap geometry sanity (y:0/real width), spec guards assert pointer-in-header after drag-away. typecheck/build 0, e2e 6/6. Commit 3f27ada.
xcjs commentedon Oct 4, 2026
DONE | agent: unknown-agent | human: @xcjs | at: 2026-10-04T02:26:16Z
pr: #103