From a17bc94788372aba1b269b91031438945e2684b4 Mon Sep 17 00:00:00 2001 From: Zackary Lowery Date: Sat, 3 Oct 2026 09:03:21 -0400 Subject: [PATCH 1/3] feat(os): Aero-style window snap zones (NEXT.md 3.2) Drag to the left/right edge tiles halves, to the top edge maximizes, to a corner tiles quarters; a translucent preview shows the target rect while a zone is active. os.ts gains snapWindow/unsnapWindow/ setWindowRect with pre-snap geometry stored on the window record, so dragging a snapped window away restores its previous rect. Desktop only: drag stays disabled below 768px. E2e covers half snap, restore, quarter, and maximize. --- app/features/os/components/WindowFrame.vue | 92 +++++++++++++++++++++- app/features/os/stores/os.ts | 68 ++++++++++++++++ tests/e2e/window-snap.spec.ts | 89 +++++++++++++++++++++ 3 files changed, 245 insertions(+), 4 deletions(-) create mode 100644 tests/e2e/window-snap.spec.ts diff --git a/app/features/os/components/WindowFrame.vue b/app/features/os/components/WindowFrame.vue index 47acab6..d05e161 100644 --- a/app/features/os/components/WindowFrame.vue +++ b/app/features/os/components/WindowFrame.vue @@ -1,7 +1,7 @@