tm2027 > борды > UX, волна 8 · Mounted Glass

Десять UX-фич, нарисованных заранее

Каждая карточка — мини-макет палубы: как фича будет выглядеть, а не только звучать. Выбор — кликом или клавишами 10; «Скопировать выбор» внизу — и строку обратно в чат. Нумерация продолжает общий борд: здесь 21–30.

21Строфы
вывод складывается по командам
cargo fmt --all -- --checkexit 0 · 0.4s
cargo clippy --all-targetsexit 0 · 11s
cargo test --lockedexit 101 · 24s
running 141 tests ...
test ui::echo::holds_trust ... FAILED
failures: assertion failed, left: 12ms
клик — развернуть строфу · правый клик — скопировать команду или её вывод

Каждая завершённая команда сворачивается в строфу: заголовок с командой, exit-кодом и длительностью, вывод — под ним, по клику. Скроллбек из простыни становится оглавлением, а «покажи, что упало» — одним взглядом по красным строфам.

размер Lстеклонавигация
22Мини-карта
весь скроллбек — одним столбиком
Compiling tm2027 v0.1.0
error[E0308]: mismatched types
--> src/ui.rs:4121:17
4121 | echo.hold(frame)
warning: unused import: std::time
Finished dev [unoptimized]
красное — ошибки · зелёное — exit 0 · синее — совпадения поиска · рамка — видимое окно

Справа от панели — узкая карта всей толщи вывода: метки ошибок, успешных завершений и поисковых совпадений, рамка показывает, где вы. Клик по карте — прыжок. Десять тысяч строк перестают быть тёмным колодцем.

размер Mстеклообзор
23Подзорная труба
подглядеть, не переключаясь
local · herdr
  build
  agent kimi ▸
  ssh-114
wsl · Ubuntu
> Проверяю тесты интеграции…
142 passed, 0 failed
? Продолжить с миграцией схемы?
~/dgxs/tm2027 · агент ждёт · 2 мин
курсор задержался на строке — всплыла живая миниатюра; фокус и прокрутка не тронуты

Задержали курсор (или нажали Space) на строке панели в эксплорере — всплывает живое окошко: последние строки, каталог, статус. Отпустили — ничего не изменилось: фокус, раскладка и клавиатура остались где были. Проверить «что там у агента» больше не стоит переключения.

размер Mнавигациявнимание
24Светлячки
вкладки сами говорят, кто живой
deck build deploy agent? ssh-114
$ █
 
зелёная искра — идёт вывод · красная — команда упала · «?» — агент ждёт ответа

Тихие индикаторы на вкладках, ноль настройки: зелёная искра — вывод течёт, красная точка — последняя команда упала, янтарный «?» — агент задал вопрос. Читается боковым зрением, гаснет при визите во вкладку. Сторожа (№4) — для точных правил; светлячки — просто всегда.

размер Sвнимание
25Ролодекс
Alt+Tab для панелей
$ cargo run --release
Compiling tm2027…
 
 
 
1 · build
Finished release
2 · agent kimi
? вопрос
3 · ssh-114
$ htop
4 · wsl логи
tail -f app.log
держите аккорд — веер последних панелей живыми миниатюрами, MRU-порядок

Аккорд открывает веер последних панелей — живые миниатюры в MRU-порядке, как Alt+Tab. Держите модификатор — листаете, отпустили — вы в панели. Пара «панель работы — панель агента» становится одним щелчком туда-обратно, без эксплорера.

размер Mнавигация
26Прожектор
фокусная панель дышит шире
build
agent
логи
agent
build
логи
фокус получает львиную долю, соседи ужимаются до полосок; выключили — всё как было

Режим прожектора: активный сплит мягко забирает большую часть площади, соседи ужимаются до узких полосок с заголовками — видно, что живы, не видно лишнего. Переключение фокуса перекатывает пропорции; выход из режима возвращает раскладку до пикселя.

размер Mраскладка
27Якоря
закладки в толще вывода
$ ./migrate.sh --apply
 applying 041_users…
 applying 042_orders…
error: 043 conflicts
 rollback started…
⚑ миграции пошли · 14:02
⚑ конфликт 043 · 14:07
  прыжок — клик или аккорд
одно нажатие роняет флажок с автоименем из последней команды и временем

Одно нажатие роняет флажок в текущее место скроллбека — имя берётся из последней команды, время ставится само. Флажки видны в желобе и в правой рейке, прыжок между ними — клик или аккорд. «Где начались миграции» перестаёт быть археологией.

размер Mстеклонавигация
28Черновик
длинная команда пишется, а не набирается
$ ls deploy/
staging.yml prod.yml
docker run --rm -v $PWD:/app \
  -e RUST_LOG=debug \
  registry:5000/tm2027:latest
Ctrl+Enter — отправить одной строкой · Esc — свернуть, черновик не пропадёт

Аккорд раскрывает под панелью многострочный композер: длинная команда пишется с переносами и правится стрелками, как в редакторе, а уходит одной строкой по Ctrl+Enter. Черновики переживают переключение панелей; строки, похожие на секреты, не запоминаются.

размер Mввод
29Тихий час
остаётся только стекло
local · herdr
  build
  agent
deckbuild
> fn hold_echo(frame: &Frame)
    self.trust.extend(frame);
$ █
tail -f app.log
тихий час · 3 отложено
хром в полумраке, тосты и титры копятся молча; тот же аккорд возвращает всё

Один аккорд гасит всё, кроме активной панели: эксплорер и вкладки уходят в полумрак, уведомления не всплывают, а тихо копятся в счётчик. Выход — тот же аккорд: всё отложенное аккуратно ждёт в ленте, ничего не потеряно. Глубокая работа без взгляда «а что там мигнуло».

размер Sвнимание
30Улов
всё кликабельное — выловлено
error at src/ui.rs:4121
see https://doc.rust-lang.org/E0308
$ git log --oneline -1
6234d1f FETCH from the glass
src/ui.rs:4121
doc.rust-lang.org/E0308
6234d1f
пути, URL, хэши — свежее сверху; клик копирует, Enter открывает

Правая рейка собирает из вывода всё, за чем обычно листают назад: пути с номерами строк, URL, хэши коммитов, адреса. Свежее сверху, клик копирует, Enter открывает. Ссылки в стекле уже кликабельны — улов делает их ещё и находимыми.

размер Mстеклопоток