Each android build now removes the regenerable AAB bundles (intermediary_bundle, outputs/bundle) and gen APK copies once the final APK is in binaries/; a manual 'clean' target does the same on demand. Frees ~0.5G/cycle without touching the Rust incremental cache or binaries/. (build.sh stays untracked - it holds a deploy secret; this documents the change.)
5.6 KiB
Сессия 2026-09-26 - тумблер "следование карты за позицией" на экране записи
Работали по утверждённому плану: docs/plans/2026-09-26-map-follow-toggle.md.
Контекст
Во время записи карта на экране трекинга при каждой новой GPS-точке центрируется на текущей
позиции (map.panTo). Кейс: отклонился от трека или трек ведёт туда, где дороги нет, надо
осмотреться по карте - но она тут же прыгает обратно, подвигать её нельзя. Нужен тумблер:
нажал - карта перестаёт следовать (можно двигать), нажал снова - центрируется на позиции и
следование возобновляется.
Согласовано с пользователем (AskUserQuestion): кнопка - символ-плитка в общем ряду кнопок карты (не слово), активная подсветка = слежу; только кнопка-тумблер (драг карты следование НЕ выключает); повторный тап центрирует; состояние не запоминается между сессиями.
Действия
frontend/js/main.js,renderRecordingInline:- добавлен флаг
let followMode = true;рядом сcompassFrozen/rotOffset; - создана кнопка
followBtn(class="rec-map-btn rec-follow-btn active", символ⊕,title="Следить за позицией") по образцуfreezeBtn; onclick тогглитfollowModeи классactive, при включении центрируетmap.panToна последней точкеGPS.recording.points(сортировка по ts); - 4 места автоследования загардены
if (followMode):onPointpanTo(~4840),onPointwaiting_gpssetView(~4857),onStateChange"ready"setView(~4814),onBatchUpdatepanTo(~5005).
- добавлен флаг
frontend/css/styles.css:.rec-follow-btn { right: 8px; bottom: 276px; font-size: 18px; }(следующий слот стека после.rec-dark-toggle238px). Базовый вид и.active- переиспользован.rec-map-btn/.rec-map-btn.active.- README: добавлен буллет "Слежение карты (тумблер ⊕)".
Проверка
node -c frontend/js/main.js- OK.- Десктоп (Xvfb :99,
DISPLAY=:99 ./build.sh= tauri dev, без бампа версии): открыт экран записи (Старт), кнопка⊕в правом стеке вверху, по умолчанию подсвечена (слежу). Тап -> подсветка гаснет (слежу выкл). Тап -> подсветка возвращается (слежу вкл). JS-ошибок в логе нет. Скрины: s_rec.png / s_rec_off.png / s_rec_on2.png в scratchpad. - НЕ проверено на десктопе: живое поведение "карта не прыгает на новую точку при выкл / прыгает
при вкл" - под Xvfb настоящего GPS нет, экран в waiting_gps, поток точек не идёт. Логика -
тривиальный guard вокруг уже работающих
panTo/setView. Реальная проверка потока - на телефоне.
Деплой build 475
./build.sh -u -i -d android: собран debug APK (0.1.475, 182М), залит на роутер
(http://192.168.1.1:88/baldav/baldav.apk, build 475) и VPS
(https://4aiman.top/baldav/baldav.apk, build 475), установлен на 320245779368 через
adb install -r --user 0 - Success (подпись совпала, данные сохранены). Живую проверку тоггла
следования в реальной записи делает пользователь на телефоне.
Чистка старых бандлов (build.sh)
Место забивалось регенерируемыми выхлопами Android-сборки. Добавлена clean_bundles() в
build.sh: удаляет gen/android/app/build/intermediates/intermediary_bundle +
outputs/bundle (AAB - мы раздаём APK) и outputs/apk/*.apk. НЕ трогает src-tauri/target
(14Г Rust-инкрементал, иначе полная пересборка) и binaries/ (последние APK). Вызывается
авто в конце каждой android-сборки (после копии APK в binaries/) и вручную ./build.sh clean.
Согласовано с пользователем: объём "только бандлы/APK", запуск "авто + ручная".
Разовый прогон: gen build 1.6G -> 1.0G, освобождено ~557 МБ.
Следующие шаги
- Живая проверка тоггла
⊕на телефоне: проехать/постоять, отжать, подвигать карту (новые точки не возвращают), вернуть кнопкой (центрируется). Доработки - отдельным коммитом. - Компас (freeze
X) и поворот карты не задеты (следование = только центр вида, поворот = bearing) - убедиться, что обе кнопки работают независимо.