Commit 2bfe0d4
feat: cursor follow crop with text cursor focus mode
Adds a "Track cursor" crop mode that pans the viewport to keep the mouse
cursor inside a configurable safe zone during playback and export. A new
"Text cursor focus" toggle locks the viewport over the typing area when
the I-beam cursor is active and the mouse is stationary, then smoothly
switches back to mouse tracking once movement is detected. Mouse always
wins; a 700ms debounce prevents jarring transitions between modes.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>1 parent 8d27eff commit 2bfe0d4
12 files changed
Lines changed: 1094 additions & 119 deletions
File tree
- src
- components/video-editor
- videoPlayback
- lib/exporter
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
171 | 171 | | |
172 | 172 | | |
173 | 173 | | |
| 174 | + | |
174 | 175 | | |
175 | 176 | | |
176 | 177 | | |
| |||
184 | 185 | | |
185 | 186 | | |
186 | 187 | | |
| 188 | + | |
187 | 189 | | |
188 | 190 | | |
189 | 191 | | |
| |||
475 | 477 | | |
476 | 478 | | |
477 | 479 | | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
478 | 483 | | |
479 | 484 | | |
480 | 485 | | |
| |||
1065 | 1070 | | |
1066 | 1071 | | |
1067 | 1072 | | |
| 1073 | + | |
1068 | 1074 | | |
1069 | 1075 | | |
1070 | 1076 | | |
| |||
1576 | 1582 | | |
1577 | 1583 | | |
1578 | 1584 | | |
| 1585 | + | |
1579 | 1586 | | |
1580 | 1587 | | |
1581 | 1588 | | |
| |||
1679 | 1686 | | |
1680 | 1687 | | |
1681 | 1688 | | |
| 1689 | + | |
1682 | 1690 | | |
1683 | 1691 | | |
1684 | 1692 | | |
| |||
1740 | 1748 | | |
1741 | 1749 | | |
1742 | 1750 | | |
| 1751 | + | |
1743 | 1752 | | |
1744 | 1753 | | |
1745 | 1754 | | |
| |||
1925 | 1934 | | |
1926 | 1935 | | |
1927 | 1936 | | |
| 1937 | + | |
1928 | 1938 | | |
1929 | 1939 | | |
1930 | 1940 | | |
| |||
4086 | 4096 | | |
4087 | 4097 | | |
4088 | 4098 | | |
| 4099 | + | |
4089 | 4100 | | |
4090 | 4101 | | |
4091 | 4102 | | |
| |||
4264 | 4275 | | |
4265 | 4276 | | |
4266 | 4277 | | |
| 4278 | + | |
4267 | 4279 | | |
4268 | 4280 | | |
4269 | 4281 | | |
| |||
4555 | 4567 | | |
4556 | 4568 | | |
4557 | 4569 | | |
| 4570 | + | |
4558 | 4571 | | |
4559 | 4572 | | |
4560 | 4573 | | |
| |||
5853 | 5866 | | |
5854 | 5867 | | |
5855 | 5868 | | |
| 5869 | + | |
5856 | 5870 | | |
5857 | 5871 | | |
5858 | 5872 | | |
| |||
6236 | 6250 | | |
6237 | 6251 | | |
6238 | 6252 | | |
| 6253 | + | |
| 6254 | + | |
| 6255 | + | |
| 6256 | + | |
6239 | 6257 | | |
6240 | 6258 | | |
6241 | 6259 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
159 | 159 | | |
160 | 160 | | |
161 | 161 | | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
162 | 168 | | |
163 | 169 | | |
164 | 170 | | |
| |||
338 | 344 | | |
339 | 345 | | |
340 | 346 | | |
| 347 | + | |
341 | 348 | | |
342 | 349 | | |
343 | 350 | | |
| |||
416 | 423 | | |
417 | 424 | | |
418 | 425 | | |
| 426 | + | |
419 | 427 | | |
420 | 428 | | |
421 | 429 | | |
| |||
581 | 589 | | |
582 | 590 | | |
583 | 591 | | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
584 | 598 | | |
585 | 599 | | |
586 | 600 | | |
| |||
1489 | 1503 | | |
1490 | 1504 | | |
1491 | 1505 | | |
| 1506 | + | |
| 1507 | + | |
| 1508 | + | |
| 1509 | + | |
| 1510 | + | |
| 1511 | + | |
| 1512 | + | |
| 1513 | + | |
| 1514 | + | |
| 1515 | + | |
| 1516 | + | |
1492 | 1517 | | |
1493 | 1518 | | |
1494 | 1519 | | |
| |||
2077 | 2102 | | |
2078 | 2103 | | |
2079 | 2104 | | |
| 2105 | + | |
| 2106 | + | |
| 2107 | + | |
| 2108 | + | |
| 2109 | + | |
| 2110 | + | |
| 2111 | + | |
| 2112 | + | |
| 2113 | + | |
| 2114 | + | |
| 2115 | + | |
| 2116 | + | |
| 2117 | + | |
| 2118 | + | |
| 2119 | + | |
| 2120 | + | |
| 2121 | + | |
| 2122 | + | |
| 2123 | + | |
| 2124 | + | |
| 2125 | + | |
| 2126 | + | |
| 2127 | + | |
| 2128 | + | |
| 2129 | + | |
| 2130 | + | |
| 2131 | + | |
| 2132 | + | |
| 2133 | + | |
| 2134 | + | |
| 2135 | + | |
| 2136 | + | |
| 2137 | + | |
| 2138 | + | |
| 2139 | + | |
| 2140 | + | |
| 2141 | + | |
| 2142 | + | |
2080 | 2143 | | |
2081 | 2144 | | |
2082 | 2145 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
| 34 | + | |
33 | 35 | | |
34 | 36 | | |
35 | 37 | | |
| |||
39 | 41 | | |
40 | 42 | | |
41 | 43 | | |
| 44 | + | |
42 | 45 | | |
43 | 46 | | |
44 | 47 | | |
| |||
116 | 119 | | |
117 | 120 | | |
118 | 121 | | |
| 122 | + | |
119 | 123 | | |
120 | 124 | | |
121 | 125 | | |
| |||
806 | 810 | | |
807 | 811 | | |
808 | 812 | | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
809 | 834 | | |
810 | 835 | | |
811 | 836 | | |
| |||
936 | 961 | | |
937 | 962 | | |
938 | 963 | | |
| 964 | + | |
939 | 965 | | |
940 | 966 | | |
941 | 967 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
451 | 451 | | |
452 | 452 | | |
453 | 453 | | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
454 | 480 | | |
455 | 481 | | |
456 | 482 | | |
| |||
0 commit comments