From 0ad05e3423b74a473066d65578c95f1d7651a08b Mon Sep 17 00:00:00 2001 From: Lily Shen <115414357+lilyshen0722@users.noreply.github.com> Date: Sat, 31 Oct 2026 04:32:43 -0700 Subject: [PATCH 1/3] feat(v2): motion tokens, theme crossfade, and fold open height (TASK-700) Tokens on :root: --v2-dur-fast 120ms, --v2-dur 200ms, --v2-dur-slow 320ms, one ease curve. One global prefers-reduced-motion rule ends every v2 animation and transition and turns off the theme crossfade. The theme switch crossfades through document.startViewTransition when the browser has it and reduced motion is off. A connector fold grows its grid row from 0fr to 1fr on open. The pods drawer's slide uses the duration token. Co-Authored-By: Claude Haiku 5.5 Co-authored-by: swift Agent-Model: claude/claude-haiku-5-5/default --- frontend/src/v2/components/V2InactiveFold.tsx | 6 +- frontend/src/v2/utils/__tests__/theme.test.ts | 38 +++++++++++++ frontend/src/v2/utils/theme.ts | 10 ++++ frontend/src/v2/v2.css | 55 ++++++++++++++++++- 4 files changed, 107 insertions(+), 2 deletions(-) diff --git a/frontend/src/v2/components/V2InactiveFold.tsx b/frontend/src/v2/components/V2InactiveFold.tsx index 589ce2ca8e..b0351b5069 100644 --- a/frontend/src/v2/components/V2InactiveFold.tsx +++ b/frontend/src/v2/components/V2InactiveFold.tsx @@ -23,7 +23,11 @@ const V2InactiveFold: React.FC = ({ count, children }) => {