diff --git a/applications/PoP/docs/l9_invert_plan.md b/applications/PoP/docs/l9_invert_plan.md index 4045541..70d8b89 100644 --- a/applications/PoP/docs/l9_invert_plan.md +++ b/applications/PoP/docs/l9_invert_plan.md @@ -209,7 +209,15 @@ void gfx_copy_rect(uint8_t src_page, int sx, int sy, - **кэш ключуется по СТРАНИЦЕ атласа**, а не по кадру: страница = 8 кадров, 3-10 КБ, ~0.2-0.4 растрового кадра на переворот. -Стратегия наполнения кэша — см. открытый вопрос №1 внизу. +**Стратегия наполнения — ЛЕНИВЫЙ ПОСТРАНИЧНЫЙ** (решение пользователя +2026-08-12): страница переворачивается при первом обращении к ней в +перевёрнутом режиме. Реально в ходу 5-10 страниц из 34, и если игрок зелье не +трогал, не тратится ни такта, ни страницы. + +**Время жизни кэша — ДО КОНЦА УРОВНЯ**: освобождаем страницы при смене +уровня, а не при снятии эффекта. На уровне 9 переворот случается минимум +дважды (второе зелье возвращает всё назад), плюс его снимает смерть Кида — +готовить пачку заново каждый раз было бы обидно. После [UI-SPRITES](../roomtest/TASKS_OPEN.md#ui-sprites) страницы `kid27` и `g0` станут чисто «полевыми» (деления HP уедут в константы резидента), и @@ -293,11 +301,13 @@ void gfx_copy_rect(uint8_t src_page, int sx, int sy, - **fore-слой поверх персонажа**: он рисуется по футпринту спрайта, а футпринт после переворота другой — проверить именно на сцене с колоннами. -# Открытые вопросы (ответы пользователя нужны до II.4) +# Решения пользователя (2026-08-12) -1. Стратегия наполнения кэша зеркальных кадров: ленивый постраничный (по - первому обращению), разом при входе на уровень с зельем типа 4, или офлайн - в упаковщиках. -2. Время жизни кэша: освобождать страницы при снятии эффекта / при выходе с - уровня / держать до конца программы. -3. ENTER-ROOM-FAST — делать сразу (шаг 4) или отложить до закрытия L9-INVERT. +1. **Кэш зеркальных кадров — ленивый постраничный**, наполняется по первому + обращению (см. II.4). +2. **Живёт до конца уровня**, освобождается при смене уровня. +3. **ENTER-ROOM-FAST делается сразу**, шагом 4 — на готовом `gfx_copy_rect`, + до того как на копию завяжется переворот. + +Открытых вопросов не осталось: план исполняется как есть, новые развилки — +только если разведка I.0 даст отрицательный результат по Р1.