# Живые б-роллы без дешёвой тряски

## Статичная картинка

Картинка должна оживать за счёт медленного движения виртуальной камеры:

- масштаб: 1.02 → 1.05;
- горизонтальное/вертикальное смещение: до 2–4%;
- easing: `power1.inOut`, `sine.inOut` или эквивалент;
- направление связано со смыслом и композицией;
- лицо/главный объект не выходит за безопасную область.

Запрещено:

- растягивание `width:100%; height:100%` без `object-fit:cover`;
- случайная вибрация;
- бесконечное увеличение, обрезающее объект;
- резкая смена направления в середине сцены.

## Пример HyperFrames/GSAP

```js
const tl = gsap.timeline({ paused: true });
tl.fromTo('#broll-1',
  { scale: 1.02, xPercent: -1.2, yPercent: 0.4 },
  { scale: 1.055, xPercent: 1.4, yPercent: -0.8, duration: 3.2, ease: 'sine.inOut' }
);
window.__timelines = window.__timelines || {};
window.__timelines.main = tl;
```

## Смысловая привязка

Начало и конец б-ролла задаются не свободными числами, а ссылками на слова:

```json
{
  "anchor_word_start": "изобрела#1",
  "anchor_word_end": "1975#1",
  "asset": "digital_camera_1975.png",
  "motion": "slow_push_in"
}
```

При пересчёте транскрипта сцена автоматически получает новые секунды.
