Implement per-school save functionality by introducing a dedicated save directory and updating the school management system to support loading and saving school states. Revise documentation to reflect these changes, including updates to the architecture and design documents, and enhance the API for reloading schools from disk. Update tests to ensure proper functionality of the new save and reload features.
This commit is contained in:
@@ -11,15 +11,15 @@
|
||||
|
||||
## Задачи
|
||||
|
||||
- [ ] Супервизор держит ящики `id →` очередь; не трогает `World`
|
||||
- [ ] У школы выделенный поток (`LongRunning`), свой таймер фиксированного шага, свой `World`
|
||||
- [ ] Команды create/delete/open/close/running/speed идут в ящик, не в общий цикл
|
||||
- [ ] Меню читает опубликованные снимки, как сейчас, без блокировки работника
|
||||
- [ ] Кадры часов по-прежнему из работника в outbox соединения
|
||||
- [ ] Сейв на диск: имя, id, часы, running, speedIndex; запись при create/delete, shutdown, редкий снимок часов (не 20 Гц)
|
||||
- [ ] Старт процесса поднимает школы с диска
|
||||
- [ ] Обновить инвариант в `AGENTS.md`: трогает школу только её работник
|
||||
- [ ] Тесты AppHost: create → рестарт хоста (или явный reload) → школа на месте с тем же временем с разумной погрешностью снимка
|
||||
- [x] Супервизор держит ящики `id →` очередь; не трогает `World`
|
||||
- [x] У школы выделенный поток (`LongRunning`), свой таймер фиксированного шага, свой `World`
|
||||
- [x] Команды create/delete/open/close/running/speed идут в ящик, не в общий цикл
|
||||
- [x] Меню читает опубликованные снимки, как сейчас, без блокировки работника
|
||||
- [x] Кадры часов по-прежнему из работника в outbox соединения
|
||||
- [x] Сейв на диск: имя, id, часы, running, speedIndex; запись при create/delete, shutdown, редкий снимок часов (не 20 Гц)
|
||||
- [x] Старт процесса поднимает школы с диска
|
||||
- [x] Обновить инвариант в `AGENTS.md`: трогает школу только её работник
|
||||
- [x] Тесты AppHost: create → рестарт хоста (или явный reload) → школа на месте с тем же временем с разумной погрешностью снимка
|
||||
|
||||
## Критерий готовности
|
||||
|
||||
|
||||
@@ -13,6 +13,6 @@
|
||||
| --- | --- | --- |
|
||||
| [0. Убрать PixiJS](00-drop-pixi.md) | ✅ | Сцена не планируется |
|
||||
| [1. Оболочка менеджера](01-manager-shell.md) | ✅ | Панели с секциями среза, пока без данных |
|
||||
| [2. Работник школы и диск](02-school-worker.md) | ⬜ | Поток + World + сейв — основа |
|
||||
| [2. Работник школы и диск](02-school-worker.md) | ✅ | Поток + World + сейв — основа |
|
||||
| [3. Каталог def и карта](03-defs-map.md) | ⬜ | JSONC, core, валидация раскладки |
|
||||
| [4. Моды и редактор в create](04-create-editor.md) | ⬜ | Выбор модов, карта в POST, снимок при открытии |
|
||||
|
||||
Reference in New Issue
Block a user