| 1 | import { Easing, ReduceMotion } from "react-native-reanimated"; |
| 2 | |
| 3 | /** |
| 4 | * One timing curve for every workspace pane (primary sidebar + inspector). |
| 5 | * |
| 6 | * Panes frequently animate together — opening the sidebar can auto-close the |
| 7 | * inspector when both no longer fit — so identical duration and easing on |
| 8 | * every pane keeps the center content pane from wobbling while both edges |
| 9 | * move. Asymmetric open/close timings (the previous 220ms out-cubic open vs |
| 10 | * 160ms in-cubic close) read as jank during those simultaneous swaps. |
| 11 | */ |
| 12 | export const WORKSPACE_PANE_TIMING = { |
| 13 | duration: 260, |
| 14 | easing: Easing.inOut(Easing.cubic), |
| 15 | reduceMotion: ReduceMotion.System, |
| 16 | } as const; |