Sitios cinematográficos|INEMA.CLUB-PRO

Clase 1 · 15 min

Qué es un sitio cinematográfico y cuándo vale su peso

Un sitio cinematográfico parece una película que avanza con el scroll. Por debajo, no hay 3D ni video reproduciéndose: hay cuadros de un clip dibujados en un canvas, uno por posición del scroll. Eso pesa. En esta clase corres la página de ejemplo del kit, mides cuánto pesa para cada visitante y decides, con un número, si tu producto pide una.

Comenzar la clase
Balanza de precisión sobre una mesa oscura con una pila de fotogramas impresos y un celular al lado.

En esta clase vas a

  1. 1El camino clip → cuadros → canvas → scroll, y por qué no es un video reproduciéndose
  2. 2Instalar el kit y ver la página de ejemplo pasar el verificador
  3. 3Medir el peso por visitante: computador, celular y primer pintado
  4. 4Decidir con un presupuesto en MB, antes de gastar en un generador

Objetivo: correr el sitio de ejemplo del kit, medir su peso y decidir, con un presupuesto en MB, si tu producto pide uno.

01La película que avanza con el scroll

Haz clic en cada etapa. La vuelta es la pregunta que lo decide todo: ¿cuánto pesa esto?

Haz clic en cada bloque del diagrama para ver qué hace.

El efecto "3D" viene del clip, no de un motor 3D. La profundidad dibujada en código es la clase 4.

02Cuándo vale la pena y cuándo no

La película cuesta ancho de banda del visitante y tiempo tuyo. Se paga en pocos casos.

1. Vale la pena

Producto con forma, material o mecanismo que se entiende mejor en movimiento: un lente, un reloj, una pieza de máquina, un plato.

Página de lanzamiento, que el visitante abre una vez y mira con calma.

03Instalar el kit

El kit está dentro del repositorio de este curso. Clónalo una vez e instálalo; usa Node 20.10+, ffmpeg y el Chromium de Playwright.

Una vez · clonar el curso
cd ~/projetos && git clone https://github.com/inematds/formacao-cinema-ia-sites-v72
Terminal · instalar el kit
cd ~/projetos/formacao-cinema-ia-sites-v72/kit
npm ci --no-audit --no-fund > ${TMPDIR:-/tmp}/npm-sites.log 2>&1; echo "npm ci: $?"
npx playwright install chromium > ${TMPDIR:-/tmp}/pw-sites.log 2>&1; echo "chromium: $?"
npx playwright --version
npm ls --depth=0 | tail -2
ffmpeg -version | head -1 | cut -d' ' -f1-3
Ejemplo del repositorio
npm ci: 0
chromium: 0
Version 1.64.0
└── three@0.186.1

ffmpeg version 6.1.1-3ubuntu5

Playwright queda fijo en 1.64.0 y three en 0.186.1 en el package.json del kit: lo que instalas es lo que fue probado.

04Ver la página de ejemplo funcionando

El servidor del kit toma un puerto libre y escribe la URL en un archivo; el bucle espera a que la URL responda antes de probar.

Terminal · servir y verificar la página del kit
K=~/projetos/formacao-cinema-ia-sites-v72/kit
E=${TMPDIR:-/tmp}/ensaio-sites/a1; rm -rf "$E"; mkdir -p "$E"
node "$K/scripts/servir.mjs" "$K/site" > "$E/url.txt" & S=$!
until U=$(cat "$E/url.txt") && [ -n "$U" ] && curl -s -o /dev/null "$U"; do sleep 0.3; done
node "$K/scripts/verificar.mjs" "$U"; echo "saída: $?"
kill $S
Ejemplo del repositorio
Chromium 156.0.8078.4 (Playwright 1.64.0) · 1366×768
quadros: 144 (frames/)
rolagem 0% → quadro 0 · tela pintada
rolagem 50% → quadro 72 · tela pintada
rolagem 100% → quadro 143 · tela pintada
transbordo horizontal: não
OK: 3 de 3 posições
saída: 0

El verificador abre la página en tres puntos del scroll y comprueba el cuadro y la pantalla. Para mirar con tus propios ojos, ejecuta solo la 1.ª línea del servidor y abre la URL en el navegador.

05Medir el peso por visitante

Cada visitante descarga una sola película: la horizontal en el computador o la vertical en el celular en vertical.

Terminal · peso con presupuesto de 6 MB
K=~/projetos/formacao-cinema-ia-sites-v72/kit
python3 "$K/scripts/peso.py" "$K/site" --orcamento 6 --inicial 0.5; echo "saída: $?"
Terminal · error común: presupuesto de 2 MB
K=~/projetos/formacao-cinema-ia-sites-v72/kit
python3 "$K/scripts/peso.py" "$K/site" --orcamento 2 | tail -1; echo "saída: ${PIPESTATUS[0]}"
Ejemplo del repositorio
PESO: quadros-v 3,49 · quadros 1,50 · js 0,02 · html/css 0,01 (MB)
computador: tudo 1,54 MB · primeira pintura 0,05 MB · rascunho (1 em 8) 0,22 MB
celular: tudo 3,52 MB · primeira pintura 0,06 MB · rascunho (1 em 8) 0,47 MB
primeira pintura 0,06 MB · teto 0,5 MB: DENTRO
visitante mais pesado 3,52 MB · orçamento 6,0 MB: DENTRO do orçamento
saída: 0

El primer pintado es un techo de lo que llega antes del primer cuadro: cuenta todo archivo de la carpeta que no es un cuadro. El celular pesa más que el computador aquí: la clase 7 lo corrige.

06Práctica

Del kit instalado a tu decisión escrita.

E1 · Instalar

10 min

Clona el curso y ejecuta el bloque "instalar o kit".

Listo cuando: La salida muestra npm ci: 0, chromium: 0 y Version 1.64.0.

E2 · Ver funcionando

5 min

Ejecuta el bloque "servir e verificar a página do kit". Después abre la URL en tu navegador y haz scroll en la página.

Listo cuando: OK: 3 de 3 posições y saída: 0.

E3 · Tu decisión con número

10 min

Elige un producto tuyo. En un archivo decisao.txt, escribe tres líneas: Produto: …, Visitante mais pesado: … MB (el número del kit, o el tuyo si ya tienes cuadros) y Decisão: … (película, solo código o página común, con el motivo).

Listo cuando: grep -c -E "^(Produto|Visitante mais pesado|Decisão):" decisao.txt responde 3.

07Prueba de la clase

La explicación aparece después de tu respuesta.

Pregunta 1 de 4

¿Por qué la película del scroll se dibuja cuadro a cuadro en un canvas, y no con un video y currentTime?

08En tres frases

MecánicaEl clip se vuelve cuadros; el scroll elige el cuadro; el canvas dibuja.
CostoPeso por visitante: computadora, celular y primer pintado.
DecisiónCon un presupuesto en MB, antes de gastar en un generador.

Para ir más allá

Próxima clase