Volkov: добавить Sprinter Commander
Реализовать двухпанельный Commander от платформенного PoC до этапов P6-P20: EMM-каталог, сортировку и выбор, операции с файлами и деревьями, транзакционное копирование, метаданные, политику конфликтов и предварительную проверку свободного места. Добавить проектную документацию, HDD/MAME-сценарии и проверенные артефакты. Расширить libc операцией bank_write_page, исправлением режима O_RDONLY и связанными регрессионными проверками.
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user