Volkov: добавить Sprinter Commander

Реализовать двухпанельный Commander от платформенного PoC до этапов P6-P20: EMM-каталог, сортировку и выбор, операции с файлами и деревьями, транзакционное копирование, метаданные, политику конфликтов и предварительную проверку свободного места.

Добавить проектную документацию, HDD/MAME-сценарии и проверенные артефакты. Расширить libc операцией bank_write_page, исправлением режима O_RDONLY и связанными регрессионными проверками.
This commit is contained in:
2026-09-10 10:45:30 +03:00
parent 05bcd8197e
commit 8e389c03f8
870 changed files with 21310 additions and 25 deletions
+53
View File
@@ -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.