Метод · v1 · Фикс дрейфа

Система консистентности

Три слоя: blocking-map → scene-lock → chain-lock. Почему параллельная независимая генерация разваливает ролик и как это лечится.

Почему прошлый прогон развалился: 44 кейфрейма генерились НЕЗАВИСИМО из текста → каждый кадр заново выдумывал сцену (локация плясала, палатка/джип телепортировались, рыба то целая то нарезана, одежда/сковорода менялись, мопс → хаски). Текстовая генерация по кадру континуити держать не может. Фикс — генерация с якорями, редактированием и в порядке истории.

1. География маршрута (location-beat map)

Ролик = путешествие через РАЗНЫЕ локации, с логикой. Основная (лагерь) — одна, залоченная; остальные — прогрессия, не повторяются.

БитЛокацияРольКонсистентность
L1Асфальтовая трассастарт, едетпроходная сцена, distinct
L2Съезд на бездорожьевходит в дикую местностьпроходная, distinct, ведёт к L3
L3Перегон по бездорожью (несколько кадров)добираетсяпрогрессия, соседние кадры могут частично совпадать, НЕ петля одного места
L4ПРИБЫТИЕ → ЛАГЕРЬ (основная)тут весь быт/готовка/ночь/утроОДИН залоченный master-кадр, все кадры лагеря = его редактирование
L5Отъезд → НОВАЯ дорога/локация (финал)уезжает дальшеНЕ повторять L4/L1; новая сцена = крючок «куда дальше»

Правила: (1) точка прибытия ≠ стартовая локация. (2) Основная локация фиксируется master-кадром и дальше только редактируется. (3) Финал уводит на НОВУЮ дорогу. (4) Проходные road-локации просто distinct и прогрессивные.

2. Scene-lock (якорь локации) — ядро фикса

Для КАЖДОЙ фиксированной локации (прежде всего лагерь) — один master-кадр (wide establishing): где стоит джип, палатка, костёр, озеро, деревья, скалы, горизонт. Это набор координат сцены.

2b. Chain-lock — континуити внутри действия

Scene-lock держит МАКРО (локация не пляшет). Но предметы «на поверхности» (сковорода, доска, тарелка, поза) внутри одного непрерывного действия всё ещё скачут, если каждый кадр редактируется из master НЕЗАВИСИМО.

Фикс — последовательная генерация от предыдущего кадра
  • Внутри одного непрерывного бита кадр N генерится редактированием кадра N-1 (ref №1 = предыдущий кадр, ref №2 = master/персонаж).
  • Object-placement lock: физическая опора предмета задаётся в якоре бита (сковорода ВСЕГДА стоит на камнях/решётке костра, не парит). Negative: floating pan, levitating object, object in mid-air.
  • Per-shot object-state в ledger: состояние каждого предмета на каждый шот (сковорода: пустая → рыба → жарится).
  • Ориентация/камера (правило 180°): крупные объекты (джип) не разворачиваются без сюжетной причины.

2c. Blocking-map — единая пространственная геометрия

Единая КАРТА РАССТАНОВКИ локации (floor-plan/blocking), которой подчиняются ВСЕ кадры на протяжении всего ролика. Пример (лагерь): джип — СЛЕВА, задом-3/4; костёр — центр-право, передний план; озеро — за костром; лес — справа; скала — слева.

Три слоя вместе: blocking-map (где что стоит, весь ролик) → scene-lock (тот же вид) → chain-lock (континуити между соседними кадрами).

3. Character-lock (персонаж)

4. Prop-lock + таймлайн состояний (монотонность, без откатов)

Реквизит = один канонический вид. Расходники меняют состояние ТОЛЬКО вперёд (откат = баг):

Рыба: целая → выпотрошена → филе/нарезана → в сковороде → жарится → на тарелке. Никогда не «опять целая».
Костёр: не разожжён → растопка → первый огонь → ровное пламя → угли.
Палатка: упакована → расстёгивает → раскрывается наполовину → стоит.
Время суток: яркий день → золотой час → сумерки → ночь → рассвет (монотонно по всему ролику).

Действие-превращение показываем крупными планами рук последовательно.

5. Continuity-ledger (журнал состояний)

Таблица на эпизод: строка = шот, столбцы = состояние каждой сущности (время суток · локация(L1–L5) · костёр · палатка · рыба · что на сковороде · одежда=locked · Bao присутствует). Заполняется ДО генерации. Линтер проверяет монотонность.

6. Генерация в порядке истории (sequential)

7. Bao-lock и «без лишних людей»

8. Порядок сборки ассетов (чего не хватало)

Прежде чем генерить кейфреймы эпизода, собрать ФУНДАМЕНТ:

  1. assets/character/nika/nika-sheet.png — в залоченном костюме.
  2. Master-кадры локаций: episodes/epNN/masters/L4-camp-master.png + L1/L2/L3/L5 establishing.
  3. Prop-sheet: assets/shared/props.png (сковорода, чайник, топор, палатка, кружка) + рыба-таймлайн.
  4. Continuity-ledger в манифесте.

Только потом — кейфреймы через scene-lock редактирование в порядке истории.

9. Валидация метода

Прежде чем гнать весь эпизод — доказать континуити на ОДНОМ непрерывном блоке (готовка у костра, ~10 шотов в одной залоченной локации, в порядке истории): держится ли локация/персонаж/одежда/сковорода/рыба-прогрессия/Bao. Зашло → масштабируем.