@@ -16,7 +16,7 @@ import {
1616} from '../screens'
1717
1818/**
19- * Scene 4: DRAWER + POPUPS β the payoff (280f )
19+ * Scene 4: DRAWER + POPUPS β the payoff (320f )
2020 *
2121 * After the agent starts implementing, the user pulls up the drawer to
2222 * check AI usage stats, then views the git diff via critique. Both popups
@@ -25,42 +25,42 @@ import {
2525 * Timeline:
2626 * 0-25: Terminal stagger (static carry-over + new content)
2727 * 25: Tap β° More
28- * 33 : Drawer #1 opens
29- * 33-48 : Dwell β viewer reads drawer grid
30- * 48 : Tap "AI Usage" (highlight)
31- * 52 : Drawer #1 closes
32- * 56 : AI Usage popup opens
33- * 56-98 : View AI usage (~1.4s )
34- * 98: Tap q (highlight q, TapFinger)
35- * 102 : AI Usage popup closes
36- * 110 : Tap β° More again
37- * 118 : Drawer #2 opens
38- * 118-133 : Dwell on drawer
39- * 133 : Tap "Critique" (highlight)
40- * 137 : Drawer #2 closes
41- * 141 : Critique popup opens
42- * 141-183 : View diff (static)
43- * 183-213 : Scroll gesture on diff (scrollOffset 0β120px)
44- * 213-230 : Hold after scroll
45- * 230 : Tap q (highlight q, TapFinger)
46- * 234 : Critique popup closes
47- * 240-280 : Hold for transition to tagline
28+ * 35 : Drawer #1 opens
29+ * 35-60 : Dwell β viewer reads drawer grid (25f)
30+ * 60 : Tap "AI Usage" (highlight)
31+ * 66 : Drawer #1 closes
32+ * 72 : AI Usage popup opens
33+ * 72-118 : View AI usage (~1.5s )
34+ * 118: Tap q (highlight q, TapFinger)
35+ * 122 : AI Usage popup closes
36+ * 135 : Tap β° More again (13f gap after close)
37+ * 145 : Drawer #2 opens
38+ * 145-170 : Dwell on drawer (25f)
39+ * 170 : Tap "Critique" (highlight)
40+ * 176 : Drawer #2 closes
41+ * 182 : Critique popup opens
42+ * 182-218 : View diff (static)
43+ * 218-248 : Scroll gesture on diff (scrollOffset 0β120px)
44+ * 248-265 : Hold after scroll
45+ * 265 : Tap q (highlight q, TapFinger)
46+ * 269 : Critique popup closes
47+ * 275-320 : Hold for transition to tagline
4848 */
4949export const AITools : React . FC = ( ) => {
5050 const frame = useCurrentFrame ( )
5151
5252 // ββ Toolbar highlights (β° More x2 + q x2) ββ
5353 const getToolbarHighlight = ( ) : { button : string ; at : number } | undefined => {
5454 if ( frame >= 25 && frame < 29 ) return { button : '\u2630 More' , at : 25 }
55- if ( frame >= 98 && frame < 102 ) return { button : 'q' , at : 98 }
56- if ( frame >= 110 && frame < 114 ) return { button : '\u2630 More' , at : 110 }
57- if ( frame >= 230 && frame < 234 ) return { button : 'q' , at : 230 }
55+ if ( frame >= 118 && frame < 122 ) return { button : 'q' , at : 118 }
56+ if ( frame >= 135 && frame < 139 ) return { button : '\u2630 More' , at : 135 }
57+ if ( frame >= 265 && frame < 269 ) return { button : 'q' , at : 265 }
5858 return undefined
5959 }
6060 const highlight = getToolbarHighlight ( )
6161
6262 // ββ Critique scroll ββ
63- const critiqueScroll = interpolate ( frame , [ 183 , 213 ] , [ 0 , 120 ] , {
63+ const critiqueScroll = interpolate ( frame , [ 218 , 248 ] , [ 0 , 120 ] , {
6464 extrapolateLeft : 'clamp' ,
6565 extrapolateRight : 'clamp' ,
6666 } )
@@ -75,47 +75,47 @@ export const AITools: React.FC = () => {
7575 { /* ββ Drawer #1: AI Usage ββ */ }
7676 < TapFinger tapFrame = { 25 } position = { TOUCH . toolbarMore } />
7777 < DrawerOverlay
78- showFrame = { 33 }
79- hideFrame = { 52 }
78+ showFrame = { 35 }
79+ hideFrame = { 66 }
8080 highlightButton = "AI Usage"
81- highlightAt = { 48 }
81+ highlightAt = { 60 }
8282 />
83- < TapFinger tapFrame = { 48 } position = { TOUCH . drawerAIUsage } />
83+ < TapFinger tapFrame = { 60 } position = { TOUCH . drawerAIUsage } />
8484
8585 { /* ββ AI Usage popup ββ */ }
86- < TmuxPopup showFrame = { 56 } hideFrame = { 102 } title = "AI Usage" >
86+ < TmuxPopup showFrame = { 72 } hideFrame = { 122 } title = "AI Usage" >
8787 < Terminal screen = { aiUsageScreen } fontSize = { 12 } padding = { 4 } background = "transparent" />
8888 </ TmuxPopup >
8989
9090 { /* Tap q to close AI Usage popup */ }
91- < TapFinger tapFrame = { 98 } position = { TOUCH . toolbarQ } />
91+ < TapFinger tapFrame = { 118 } position = { TOUCH . toolbarQ } />
9292
9393 { /* ββ Drawer #2: Critique ββ */ }
94- < TapFinger tapFrame = { 110 } position = { TOUCH . toolbarMore } />
94+ < TapFinger tapFrame = { 135 } position = { TOUCH . toolbarMore } />
9595 < DrawerOverlay
96- showFrame = { 118 }
97- hideFrame = { 137 }
96+ showFrame = { 145 }
97+ hideFrame = { 176 }
9898 highlightButton = "Critique"
99- highlightAt = { 133 }
99+ highlightAt = { 170 }
100100 />
101- < TapFinger tapFrame = { 133 } position = { TOUCH . drawerCritique } />
101+ < TapFinger tapFrame = { 170 } position = { TOUCH . drawerCritique } />
102102
103103 { /* ββ Critique diff popup ββ */ }
104- < TmuxPopup showFrame = { 141 } hideFrame = { 234 } title = "critique" scrollOffset = { critiqueScroll } >
104+ < TmuxPopup showFrame = { 182 } hideFrame = { 269 } title = "critique" scrollOffset = { critiqueScroll } >
105105 < Terminal screen = { critiqueDiffScreen } fontSize = { 11 } padding = { 4 } background = "transparent" />
106106 </ TmuxPopup >
107107
108108 { /* Scroll gesture on critique popup */ }
109109 < TouchFinger
110- startFrame = { 178 }
111- endFrame = { 213 }
110+ startFrame = { 213 }
111+ endFrame = { 248 }
112112 from = { [ 195 , 450 ] }
113113 to = { [ 195 , 330 ] }
114114 holdFrames = { 5 }
115115 />
116116
117117 { /* Tap q to close critique popup */ }
118- < TapFinger tapFrame = { 230 } position = { TOUCH . toolbarQ } />
118+ < TapFinger tapFrame = { 265 } position = { TOUCH . toolbarQ } />
119119 </ >
120120 )
121121}
0 commit comments