# Fita de rolagem — documento alto, palco fixo, filme em quadros WebP

Aprendido 2026-09-30 estudando pear.no a 1512×900 (medições em
`~/Documents/Profissional/replicas/pear/`; 316 quadros da referência
capturados a cada 150 px). Reconstruída com material da casa em
`replicas/nash-fita/` — ver [giro-assado.md](giro-assado.md).

O gênero: a página inteira é uma tela só, e rolar não move conteúdo — adianta
um filme. O que parece um site longo é uma fita, e a altura do documento é o
comprimento dela.

- **A casca**: um `.stage` de `5350vh` (7300vh em ≤720px) com um único filho
  `position: sticky; top: 0; height: 100dvh; overflow: clip`. A 1512×900 dá
  47250 px roláveis, 52,5 telas. Nada mais tem altura no documento.
- **O filme**: sequências de WebP desenhadas em WebGL (`ogl`), com o índice do
  quadro escolhido pela rolagem — sem vídeo tocando sozinho, exceto um laço de
  rodapé. Medido: sete sequências, de 89 a 362 quadros, e dois níveis de
  resolução (`/1440` acima de 820 px, `/768` abaixo) escolhidos por
  `matchMedia`, não por largura da janela.
- **A ordem de carga é embaralhada de propósito**: o carregador pede os
  quadros numa ordem espalhada, para a fita ficar navegável de ponta a ponta
  antes de estar inteira, e pré-decodifica três quadros para cada lado do
  atual (`img.decode()`). Um replicador que carrega 1→N em ordem tem a mesma
  fita e a experiência errada: o começo roda e o meio trava.
- **Cada trecho é uma fração fixa da fita**, declarada sobre o total (`1200/5350`,
  `600/5350`, `300/5350`…), nunca em pixels. Trocar a altura do palco reescala
  a coreografia inteira sem tocar em nenhum trecho.
- **Conota**: a fita diz que a história tem uma ordem e você não escolhe o
  enquadramento, só a velocidade — o oposto da página que se lê aos saltos.
