Add purposeful shell and menu motion #122
- MA
## Summary
- add semantic motion contracts and a bounded desktop Projects sidebar/content transition - give the document action menu retained presence with a trigger-aware transform origin - give comment preview tooltips retained, interruptible presence without changing comment cards or sheets
## Interaction policy
Pointer-owned interactions animate. Keyboard-owned interactions and reduced-motion preferences settle immediately, including when reduced motion changes during an active exit. Exiting surfaces become aria-hidden and inert before unmount; focus restoration, interrupted reopen, responsive mode changes, and single-mounted-surface behavior are covered. This PR intentionally adds no disclosure, content-swap, feedback, toast, slash-menu, reference-picker, typing, cursor, streaming, or progress motion.
## Verification
- bun run fix - bun test - bun test apps/web/src/motion-contract.test.ts apps/web/src/theme.test.ts apps/web/src/document-actions-menu.test.ts apps/web/src/navigation-model.test.ts packages/editor/src/transition-presence.test.ts - bun run types - bun run ci - bun run e2e e2e/responsive-workspace.e2e.ts e2e/document-navigation.e2e.ts e2e/sidecar.e2e.ts
Local results: 1212 unit tests passed with 2 PostgreSQL-only skips; 27 focused tests passed; all 64 selected Playwright tests passed.
MaggieAppletonmerged 0415182c35db2 months ago on GitHub
MaggieAppletonhead-ref-deleted2 months ago on GitHub