Доки: вставка на курсор, прокрутка у кромки, тишина перед сборкой
Описание пополнено тремя абзацами о новом поведении и разделом о том, как гонять проверки с окном: где взять файл доступа невидимого экрана и почему якорю увеличения нужен экран шире 1280. Лог сессии и утверждённый план положены в проект: файлы планов в ~/.claude/plans ротируются, а решения должны переживать сессию.
This commit is contained in:
parent
0fa9bb6130
commit
d55fb1b808
1 changed files with 41 additions and 5 deletions
46
README.md
46
README.md
|
|
@ -125,6 +125,16 @@ xdg-mime query default application/x-nlve-project
|
|||
он растягивается и укорачивается. Картинку можно растянуть на любую
|
||||
длину, видео — только в пределах исходника.
|
||||
|
||||
Если тащить к краю окна, монтаж едет следом сам: иначе при большом
|
||||
увеличении кусок упирается в край, и его приходится переносить в
|
||||
несколько приёмов — отпустить, прокрутить, взять снова.
|
||||
|
||||
Файл из списка проекта встаёт **на курсор**, а не в конец дорожки. Если
|
||||
место занято, монтаж раздвигается: всё от курсора и правее едет вправо
|
||||
на длину нового клипа, на всех дорожках сразу — звук и надписи обязаны
|
||||
уехать вместе с картинкой. Строка состояния говорит, сколько клипов
|
||||
отодвинуто и на сколько.
|
||||
|
||||
Щелчок по клипу переставляет курсор воспроизведения. Именно щелчок:
|
||||
если кнопку нажали и потянули, курсор остаётся на месте, в том числе во
|
||||
время воспроизведения.
|
||||
|
|
@ -523,6 +533,18 @@ Linux потом искала по нему `.dll`.
|
|||
перекрытие, то в проекте, где клипы на разных дорожках перекрываются
|
||||
постоянно, каждое такое место пришлось бы пересобирать.
|
||||
|
||||
Наезд не остаётся незамеченным: после правки строка состояния называет
|
||||
дорожку, величину перекрытия и сами клипы. Переход заказывают мышью, а
|
||||
промахнуться легко — на общем плане одна точка экрана это секунды, — и
|
||||
раньше он появлялся сюрпризом: человек искал, почему сборка опять не
|
||||
кончается.
|
||||
|
||||
Сама сборка при этом не начинается с первым же движением. Список кусков
|
||||
пересобирается сразу, а ffmpeg запускается, когда монтаж постоял тихо
|
||||
полторы секунды (`GenerateQuietMs`) и клип никто не держит мышью. Иначе
|
||||
переход считался бы заново на каждое движение руки, а посчитанное
|
||||
отправлялось бы в корзину.
|
||||
|
||||
У клипа есть плавное появление и уход. Для картинки это затемнение, для
|
||||
звука — нарастание громкости.
|
||||
|
||||
|
|
@ -988,7 +1010,7 @@ Wine с новой библиотекой не грузилось ничего.
|
|||
уход выглядит как накапливающийся рассинхрон, которого нет. На это уже
|
||||
попались один раз.
|
||||
|
||||
Ещё четыре проверки гоняют саму программу на невидимом экране
|
||||
Ещё семь проверок гоняют саму программу на невидимом экране
|
||||
(`Xvfb :99`). Рабочий экран они не занимают:
|
||||
|
||||
```
|
||||
|
|
@ -996,18 +1018,32 @@ Wine с новой библиотекой не грузилось ничего.
|
|||
./tests/zoomanchor.py <окно> масштаб берётся от точки под мышкой
|
||||
./tests/genrestart.sh [<путь к nlve>] сборка вставки не сбрасывается зря
|
||||
./tests/fadegrab.sh [<путь к nlve>] ручку затухания видно и во второй раз
|
||||
./tests/insertat.sh [<путь к nlve>] файл из списка встаёт на курсор
|
||||
./tests/dragscroll.sh [<путь к nlve>] монтаж едет следом за клипом у кромки
|
||||
./tests/genquiet.sh [<путь к nlve>] тяжёлая сборка ждёт конца правки
|
||||
```
|
||||
|
||||
Двум последним нужен монтаж в `test/поток/`: `длинный-фейд.nlve` — один
|
||||
Последним пяти нужен монтаж в `test/поток/`: `длинный-фейд.nlve` — один
|
||||
клип с затуханием секунд на семьдесят (такой кусок сводится около
|
||||
полутора минут, и всё это время человек продолжает работать),
|
||||
`пара.nlve` — два клипа без затуханий. Путь к первому задаётся
|
||||
переменной `NLVE_FADE_PROJECT`. В репозиторий они не входят, потому что
|
||||
ссылаются на съёмку, которой здесь нет.
|
||||
ссылаются на съёмку, которой здесь нет. `genrestart.sh` съёмку
|
||||
действительно открывает и, не найдя её, честно говорит об этом и
|
||||
отказывается считать себя пройденной; остальным хватает самого монтажа.
|
||||
|
||||
Экран поднимается через `xvfb-run`, и у него свой файл доступа. Проверки
|
||||
находят его сами по строке запуска `Xvfb`, так что отдельно задавать
|
||||
`XAUTHORITY` не нужно; чужой файл из окружения они не берут — с ним
|
||||
xdotool не видит ни одного окна и проверка «проходит», ничего не
|
||||
проверив. `zoomanchor.py` целится мышью в точку 1300, поэтому ему нужен
|
||||
экран шире: `Xvfb :98 -screen 0 1600x1000x24` и `ЭКРАН=:98`.
|
||||
|
||||
Каждую из них стоит прогонять и на прежней сборке: проверка, которая
|
||||
проходит везде, не проверяет ничего. Все четыре на сборке до своей
|
||||
правки падают.
|
||||
проходит везде, не проверяет ничего. Все семь на сборке до своей правки
|
||||
падают. Для трёх последних замерено: клип у кромки уезжает на 0.7 с
|
||||
против 4.2 с, файл из списка падает в конец дорожки вместо курсора,
|
||||
сборка начинается через 0.2 с вместо 1.6 с.
|
||||
|
||||
## Структура
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue