8e389c03f8
Реализовать двухпанельный Commander от платформенного PoC до этапов P6-P20: EMM-каталог, сортировку и выбор, операции с файлами и деревьями, транзакционное копирование, метаданные, политику конфликтов и предварительную проверку свободного места. Добавить проектную документацию, HDD/MAME-сценарии и проверенные артефакты. Расширить libc операцией bank_write_page, исправлением режима O_RDONLY и связанными регрессионными проверками.
54 lines
4.1 KiB
Markdown
54 lines
4.1 KiB
Markdown
# Sprinter Commander: направление развития UI
|
||
|
||
Дата: 8 сентября 2026 года.
|
||
|
||
## Референс
|
||
|
||
Volkov Commander используется как поведенческий и композиционный образец,
|
||
но интерфейс не переносится побайтно. Цель — узнаваемая двухпанельная модель
|
||
VC, адаптированная к текстовому экрану Sprinter 80x32 и к координатному
|
||
BIOS/ESTEX backend без консольных окон и прямого доступа к VRAM.
|
||
|
||
По предоставленным контрольным экранам фиксируются следующие ориентиры:
|
||
|
||
- независимый режим панели `Brief` с несколькими колонками коротких имён;
|
||
- режим `Details` с колонками `Name`, `Size`, `Date`, `Time`;
|
||
- строка итога выбора внизу соответствующей панели вида
|
||
`N bytes in M selected files`;
|
||
- верхняя полоса меню, открываемая `F9`, с разделами панелей, файлов,
|
||
команд и настроек;
|
||
- однострочный prompt под панелями и полоса функциональных клавиш внизу;
|
||
- путь активной панели должен читаться как единая строка и визуально
|
||
отличаться от содержимого панели;
|
||
- активность панели определяется cursor/title, а не лишними служебными
|
||
словами внутри рамки.
|
||
|
||
## Поэтапное сближение
|
||
|
||
1. В 0.2 сохранить устойчивую текущую геометрию, но заменить диагностическую
|
||
статистику выбора пользовательской строкой итога и привести подписи
|
||
F-клавиш к реально работающим командам. Строка итога в footer панели уже
|
||
реализована и подтверждена
|
||
[кадром MAME](../artifacts/mame-ui/selected-footer-clean.png);
|
||
окончательная геометрия появится вместе с режимами панелей.
|
||
2. После безопасных F6/F7/F8 добавить модель режима панели и `Details` с
|
||
заголовками колонок; затем `Brief` с расчётом числа колонок из ширины.
|
||
3. В 0.4 добавить верхнее меню `F9`, настоящую командную строку и
|
||
полноэкранную псевдооболочку `Ctrl+O` на общем редакторе строки.
|
||
4. Стандартный fallback цветов уже добавлен: белые каталоги, жёлтые `.EXE`,
|
||
светло-серые остальные файлы. После стабилизации режимов добавить загрузку
|
||
конфигурируемых правил расширений и сохранение режима отдельно для левой и
|
||
правой панели.
|
||
|
||
До появления отдельного счётчика файлов строка итога не должна называть
|
||
каталоги файлами: `Insert` может выбирать каталог, тогда как групповые
|
||
`+`, `-`, `*` его обязаны игнорировать. Это различие остаётся частью модели,
|
||
а не только правилом renderer.
|
||
|
||
## Проверка
|
||
|
||
Каждый визуальный шаг принимается не по одному кадру, а по сценарию с
|
||
известным содержимым панели, соседним контрольным кадрам и, где применимо,
|
||
извлечённому состоянию HDD. Зона имитации индикаторов дисководов MAME не
|
||
участвует в сравнении интерфейса Commander.
|