Saltar al contenido
Tórculo1.0 · borrador de trabajo

skills/mesa/SKILL.md · generada al construir

Escribir un pliego `.mesa`

La guía de trabajo de los agentes: arranque rápido, las capas de la lengua, el bucle de trabajo, las tablas, los errores del lint y cada familia de líneas (cartel, cámara, vida, piezas y collage, metraje, 3D, fútbol, géneros, tomas y película) con sus ejemplos.

Un pliego es un guion que se lee de arriba abajo como un texto y del que sale un vídeo. Si leerlo no es leer el vídeo, está mal escrito.

LA LEY. El pliego dice cuentas humanas y maneras; los números los pone el motor. Escribe «la piedra rueda hasta los pies de primero, pesado», no una curva y una duración. Si te ves escribiendo cifras, casi siempre es que hay una palabra que no conoces todavía.

Esta skill tiene tres partes. Lee la primera siempre; la segunda, capa a capa, según lo que necesites; la tercera, solo para consultar.

  1. Arranque rápido: un pliego de diez líneas y las cuatro órdenes.
  2. Las capas: cada capa añade una cosa, y cada una ya se puede mirar.
  3. Referencia completa: todo lo que hay (vocabularios, cine, sonido, aspecto, cámara), lo que hace el motor solo y las trampas.

1 · Arranque rápido

MESA «El faro»
REPARTO MARTA: ultramar, cita_f

*
di: Cada noche, el farero subía los ciento doce escalones de la torre.
MARTA: —¿Por qué nunca se cansa?

*
di: Aun así, encendió la luz.
PY=/opt/homebrew/Cellar/manim/0.20.1/libexec/bin/python
MESA="$PY -m manim_saorin.formato.cli"        # en zsh: ${=MESA} lee …
${=MESA} lee faro.mesa                        # 1 · ¿está bien escrito?
${=MESA} graba faro.mesa                      # 2 · la voz (Supertonic)
~/Developer/torculo/tools/pesado ${=MESA} animatica faro.mesa --motor gx --sonido   # 3 · mirar
~/Developer/torculo/tools/pesado ${=MESA} toca faro.mesa --motor gx --sonido -o /tmp/faro.mp4

Eso ya es un vídeo digno: la voz, y en el papel la frase de cada beat con la pieza que le toca (la pregunta a mano y en minio, el grito en nota de rescate, la cita recortada de un periódico, el resto a máquina). Es la capa de la casa: se apaga sola en cuanto el beat enseña algo propio.

Para empezar un proyecto entero: mesa nuevo "El faro" (plantilla comentada por capas, bestiario de ejemplo y carpetas) o mesa nuevo "El faro" --desde cuento.md (un primer pliego sacado del texto). En la shell, el título va entre comillas rectas; las «» las pone el pliego.

Cuando dudes, pregunta a la mesa, no adivines:

${=MESA} explica "python: congelador · cerrado"   # qué entiende de una línea
${=MESA} explica solemne                         # qué es una palabra y dónde va
${=MESA} chuleta                                 # la lengua entera en una página
${=MESA} bestiario p.mesa                        # los dibujos que hay y sus argumentos

mesa lee dice de cada fallo qué pasa, en qué línea, por qué y cómo arreglarlo, con «¿quisiste decir…?». Corrige siguiendo el «arreglo:». LIMPIO con avisos de «texto en pantalla» no es limpio: esas líneas saldrán escritas en el papel tal cual.


2 · Las capas

Un pliego se escribe por capas. Cada capa es opcional, cada una ya se puede rodar, y no pases a la siguiente sin mirar la anterior (la animática). Las siete:

capaqué añadelíneas
1lo que se diceMESA, REPARTO, *, di:, NOMBRE: —…
2dirigir* función · afecto, == CAPÍTULO ==, ARCO, MOTIVO
3poner cosaspython:, pon:, letrero, ver:, foto:, marca:
4el tiempoal decir «palabra»: …, > eventos
5la escena y el movimiento-- ESCENA --, EJE, LUZ, FONDO, planos de cine, verbos
6el sonidoEFECTOS, BANDA, MÚSICA, AMBIENTE, sonido:
7el aspecto y la materiaFORMATO, PALETA, MATERIA, CARTEL, INTENSIDAD, #TALLER

Capa 1 · Lo que se dice

MESA «Título»                       ← siempre la primera línea
REPARTO MARTA: ultramar, cita_f     ← quien habla: color y voz
*                                   ← un clip = un beat
di: Lo que dice el narrador.        ← la voz; de ella sale la duración
MARTA: —Lo que dice Marta.          ← diálogo: la raya pegada al texto
  • Quien habla tiene que estar en el REPARTO. Si no, MARTA: —… se escribe en pantalla en vez de oírse. Voces de Supertonic: narrador, cita, cita_f, cita_f2, cita_f3, cita_m2. Un nombre de personaje no puede ser una palabra de la lengua (EL, LA, A).
  • Si la voz ya está grabada (un sidecar <pliego>.tiempos.json con tomas de ElevenLabs), nunca mesa graba: la cabecera lleva el id del beat del sidecar (* r10_01 general de grada · solemne) y el texto se copia tal cual se dijo.

Capa 2 · Dirigir

== CAPÍTULO 1 · EL BUEY ========== tensión sube · tambor ultramar
* prueba · seco                     ← FUNCIÓN · AFECTO
* primer contrapicado de capitan · solemne   ← o el PLANO de cine · AFECTO
  • Funciones: apertura · cartel · contrapunto · digresion · eco · giro · ilustracion · prueba · remate · respiro · tesis.
  • Afectos: contenido · eufórico · exhausto · juguetón · nervioso · seco · sereno · solemne. El afecto va SOLO en la cabecera, nunca detrás de un · en otra línea.
  • Plano de cine: TALLA (general · conjunto · medio · americano · corto · primer · detalle) + ALTURA opcional (nadir · contrapicado · normal · picado · cenital) + FRENTE opcional (frontal · tres cuartos · perfil · escorzo · espalda) + de SUJETO, donde SUJETO es el nombre de la pieza o del personaje que encuadra, sin artículo (de capitan, del congelador). Nada más: «simétrico», «plano», «de lejos» o «bonito» no son palabras de plano y la mesa las ignora (mesa lee lo dice).
  • Un plano declarado es un cuadro nuevo: lo que había se va, y en él solo sale lo que ese beat pone. Si el beat no pone nada, la página queda vacía mientras se oye la voz (mesa lee avisa: «página vacía»). Para seguir en el mismo cuadro, no declares talla: * prueba · nervioso.
  • Dos planos seguidos con la misma talla y el mismo sujeto son un salto (jump cut): cambia la talla o, si lo quieres, escribe > salta en el clip.
  • * respiro · sereno es una página vacía a propósito; cada 4 a 7 beats conviene una.

Capa 3 · Poner cosas

python: gamba entera · enorme                      ← un DIBUJO del bestiario
python: capitan pose=duda · enorme · cortado por abajo
pon: cartulina «VOX POPULI»                        ← un PAPEL con texto
letrero (cartulina): EL PATIO                      ← el rótulo del plano (uno por beat)
ver: votos — sí: 7 · no: 4                    ← una visualización
foto: galton                                       ← una foto del archivo
  • Un dibujo va con python:, nunca con pon:. pon: es para papeles: cartulina · rescate · tira · postit · apunte · periodico · sello · fechador · polaroid · mano · etiqueta · dymo · ficha · washi · texto.
  • python: NOMBRE ARG1 ARG2 clave=valor · TAMAÑO · CORTE. Los argumentos van pegados al nombre, separados por espacios; detrás de · solo el tamaño (grande · enorme · gigante · a sangre) o un corte (cortado por abajo · por arriba · por la frente · por la izquierda · por la derecha · por el borde). python: congelador · cerrado está mal; python: congelador cerrado · enorme, bien. Un texto con espacios va entre comillas latinas y cuenta como un argumento: python: palabras_libres «ES AZUL» · enorme. No hay tamaño pequeño: sin tamaño, sale al natural.
  • El preámbulo tiene que cargar el bestiario: PYTHON piezas.py, que se busca en la carpeta del pliego (no muevas el pliego sin él). Qué dibujos hay y qué argumentos aceptan: mesa bestiario p.mesa; el resto de lo que diga el documento de un bestiario, compruébalo con mesa lee.
  • Un evento que nombra algo (> la cámara se acerca a «X») necesita que X exista en la escena: un dibujo puesto, una letra o alguien del REPARTO.
  • Si un beat solo tiene letrero, está cojo: que los dibujos cuenten la historia.

Capa 4 · El tiempo

al decir «congelador»: sonido: foley vaho          ← cualquier línea, anclada a una palabra
al decir «AZUL»: > florece ultramar en «gamba»
> funde a negro                                    ← un evento, en su propia línea
> silencio 2                                       ← una pausa dentro del beat
  • al decir «X» es la primera autoridad del tiempo. La palabra tiene que decirse en ese beat, tal como suena.
  • Un solo > por línea, y el evento tiene que estar en la lista (mesa chuleta). Los que nombran una pieza la llevan entre comillas: > tiempo bala sobre «gamba», > la cámara se acerca a «capitan».
  • > dura N es la duración del beat entero (una vez por beat); dentro, > silencio N. El silencio del FINAL del vídeo se pide en las propiedades (formato 16:9 · sala crema · silencio 3), no con un evento.

Capa 5 · La escena y el movimiento

-- LA CARRETERA · diurna --          ← una escena: un mundo que dura entre planos
EJE de él a ella                     ← líneas de ESCENA: aquí, antes del primer «*»
LUZ de la izquierda · dura
FONDO sierra · al fondo

* general de la carretera · sereno
la piedra rueda hasta el borde · por el suelo · pesado     ← movimiento
  • Las líneas de escena (EJE, LUZ, FONDO, DELANTE, FORMATO, PALETA, MATERIA, COLOR, INTENSIDAD, MÚSICA, AMBIENTE, CÁMARA…) van debajo de -- ESCENA -- y antes del primer *. Dentro de un clip se escribirían en pantalla. Para cambiar algo a mitad de escena: abre otra escena, o usa su evento (> la intensidad sube a tensa, > estalla el color en «gamba»).
  • Movimiento: SUJETO VERBO [hasta DESTINO] · [TRAYECTO] · [MANERA] · [GRANULADO]. El sujeto es una pieza ya puesta, por el nombre de su dibujo (python: flecha arriba → la flecha sube hasta …) o por su id=, o alguien del REPARTO. El verbo es de una lista cerrada (camina · corre · va · entra · sale · cruza · sube · baja · cae · rueda · salta · vuela · flota · resbala · rebota · gira · tiembla · se sienta · se levanta · tropieza · esquiva · se encaja · viaja · se apea); con otro verbo, la línea se escribe en pantalla. Los personajes con ficha, además, celebra · grita · aplaude · anda · gesticula · habla · señala….
  • La curva no se escribe: anticipación, arco, sobrepaso y asiento los pone el motor (el oficio de Lasseter).

Capa 6 · El sonido

EFECTOS audio/sfx                   ← preámbulo: la carpeta de los efectos
BANDA audio/banda                   ← preámbulo: la carpeta de la música
MÚSICA 3M2                          ← escena o capítulo: el cue (3M2.wav)
AMBIENTE amb estadio masa bucle     ← escena: el mundo (amb_estadio_masa_bucle.wav)
sonido: golpe sello                 ← clip: un efecto (golpe_sello.wav)

Los nombres son los de los archivos, sin extensión y con espacios en lugar de _. mesa lee comprueba que existen.

Capa 7 · El aspecto y la materia

FORMATO 2,39:1, PALETA blanco, celeste y tinta, MATERIA acuarela sobre papel khadi, BOBINA noticiario, CARTEL …, LETRA «GOL» · en Anton · a sangre, INTENSIDAD tensa, SOPORTE gastado, CÁMARA con masa · al hombro… y, si el aspecto por defecto no basta, #TALLER y #MANO. Todo en la referencia (secciones RADIOINTERMISIÓN, CARTEL, LA IMAGEN QUE OYE y LA CÁMARA COMO OBJETO).

Los errores que más se cometen (y lo que dice mesa lee)

se escribepasase arregla
pon: python: solse escribe en pantallapython: sol
python: estrella(ambar)el pliego no es Pythonpython: estrella ambar
python: capitan por la frentepalabras sueltas como argumentospython: capitan · cortado por la frente
python: gamba · entera«entera» llega como argumento sueltopython: gamba entera · enorme
COLOR monocromo dentro de un clipse escribe en pantallasúbela debajo de -- ESCENA --
MARTA: —hola sin REPARTOse escribe en pantallaREPARTO MARTA: rosa, cita_f
el árbitro baila«baila» no es un verbo: se escribeun verbo de la lista
… · solemne en un movimientoerror: es un afectoen la cabecera * … · solemne
* general simétrico · …«simétrico» se ignora* general frontal de … · …
> tiempo balano es un evento> tiempo bala sobre «gamba»
> > funde a negrono es un eventoun solo >
> silencio 3 para el finales una pausa del beatsilencio 3 en las propiedades

El proyecto: crear, comprobar, llevarlo a otro Mac

${=MESA} nuevo "Título" [--desde cuento.md] [--carpeta dir]
${=MESA} comprueba p.mesa [--lista] [--arregla]   # ¿completo y portable?
${=MESA} empaqueta p.mesa [-o p.mesapack]         # todo en un archivo
${=MESA} desempaqueta p.mesapack [carpeta]        # listo para lee/animatica/toca
  • nuevo --desde: reparto por la tipografía (prosa → narrador, cursiva → CURSIVA, MAYÚSCULAS → MAYÚSCULAS, raya o guion → diálogo; —… —dijo Marta. → MARTA, y si no dice quién, VOZ_A y VOZ_B por turnos) y un beat por párrafo (los largos, partidos). Sin IA. Es un punto de partida.
  • empaqueta descubre solo lo que el pliego usa (el bestiario y lo que importa, el sidecar y sus tomas, EFECTOS, BANDA, la PARTITURA, las fuentes instaladas a mano), reescribe el sidecar con rutas relativas y añade un MANIFIESTO.json (lengua, motor, Tórculo, voces, hashes). SPEC §3.14.
  • El sidecar acepta rutas relativas al pliego en todo el motor; un proyecto copiado se reancla solo a sus tomas.

Referencia completa

Referencia normativa: SPEC-MESA-2.md en ~/Developer/manim-saorin. Esta skill enseña a escribir; el spec dice qué es legal. Si algo no está en ninguno de los dos, no lo inventes: pregunta con mesa explica, o mira el parser (manim_saorin/formato/gramatica.py).

En zsh (la shell de este Mac) una variable no se parte en palabras: $MESA toca falla con «no such file or directory». Ahí se escribe ${=MESA} toca … (o la orden entera, $PY -m manim_saorin.formato.cli toca …). mesa a secas no está en el PATH.


El orden en que se escribe (no lo cambies)

  1. La servilleta: el texto, en prosa. Nada más.
  2. Dirigir: partir en capítulos y clips, poner función y afecto.
  3. Poner cosas: pon:, ver:, foto:, marcas.
  4. El tiempo: mesa graba y anclar con al decir.
  5. La escena: si hay mundo, personajes o cámara.
  6. El movimiento: verbos, trayectos y maneras.
  7. La materia: taller y mano, si el aspecto no te vale.

Cada paso se puede renderizar. No pases al siguiente sin mirar el anterior.


Paso 1 · La servilleta

Prosa pura, sin una sola marca. Es el punto de entrada y siempre funciona.

MESA «La paradoja»

Hay una paradoja incómoda en el arte de decidir bien.
Para acertar más sobre un tema, no siempre conviene juntar a los que más saben.
A veces conviene exactamente lo contrario.
$MESA lee p.mesa            # lint
$MESA toca p.mesa -q ql -o out.mp4

Cada frase es un clip y el dramaturgo (reglas fijas, sin IA) decide plano, piezas y gestos. Empieza SIEMPRE así, aunque vayas a acabar en un corto.

Paso 2 · Dirigir

MESA La paradoja de los expertos
formato 16:9 · sala crema · tirada borrador

ARCO pregunta→respuesta
MOTIVO «error» — empieza como enemigo y acaba siendo la herramienta
REPARTO Galton: verde

== CAPÍTULO 1 · EL BUEY ========== tensión sube · tambor ultramar

* apertura · contenido
di: Hay una paradoja incómoda en el arte de decidir bien.

* prueba · seco
di: La mediana de las apuestas: mil doscientas siete libras.
  • * función · afecto es la cabecera de un clip. La función se elige de la lista (abajo); el plano se deriva de ella.
  • di: es la narración y es la partitura del beat: de ella sale la duración.
  • Si sabes el plano de cine que quieres, escríbelo en vez de la función: * corto contrapicado de tercero · nervioso.

Paso 3 · Poner cosas

pon: cartulina «VOX POPULI»
pon: rescate «LA PARADOJA» · 60 · id portada/paradoja
foto: galton
ver: balanza — la voz del pueblo | los peritos
ver: votos — sí: 7 · no: 4
terminal: peso real del buey: 1198 libras
marca: rodea «1198»
arriba: Nature · 1907

Colocación (prefijo de cualquier línea). Prefiere el cuerpo a las coordenadas:

en los pies de primero: python: piedra
bajo «Fábula» a 0.42: pon: tira «una fábula de tres»
juntos: h1 · h2 · h3 — en fila holgados

LEY DEL CUERPO. En un vídeo escrito a mano casi nada va en coordenadas: la piedra va delante de sus pies, la venda en su pie. Traducirlo a en 1.4 -0.3: deja todo en el centro y hace la escena incomprensible.

Vídeo real dentro del pliego

clip: peli.mp4 de 12:04 a 12:11      recorte vivo: Polaroid con celo, su audio en la mezcla
clip de fondo: mar.mp4               pantalla completa, mudo, bajo el contenido
clip mudo: archivo.mp4 de 0:30 a 0:36
> espera al clip                     retiene el beat hasta que acabe

LA REALIDAD NO SE REVELA: un clip nunca lleva semitono, duotono ni troquel. La materia del collage es papel; el vídeo real es una ventana, y tratarlo como papel lo convierte en un pegote.

Paso 4 · El tiempo

$MESA graba p.mesa      # sintetiza la voz y alinea CADA PALABRA
$MESA dura p.mesa --objetivo 150

graba escribe p.tiempos.json. Es prerrequisito del render: sin él las duraciones son estimadas.

Con la partitura ya se puede anclar a la voz:

al decir «ochocientas»: ver: multitud 18
camina hasta la casa · hasta decir «llegó»
mientras: el humo sube

al decir es la primera autoridad del tiempo: manda sobre todo lo demás.

Paso 5 · La escena y el cine

Una escena es la unidad de mundo: sus clips son planos sobre el mismo mundo persistente.

REPARTO ella: ultramar
REPARTO él: bermellon

-- LA CARRETERA · diurna --
EJE de él a ella
LUZ de la izquierda · dura
MUNDO avanza · de frente
FONDO cielo · en el cielo
FONDO sierra · al fondo
FONDO arboleda · cerca
FONDO carretera · al pie
DELANTE almendro · al paso · cada dos

* general de la carretera · sereno
di: Suben al puerto desde antes de que amaneciera del todo.
coche con vista cenital
el coche viaja
la truca viaja con el coche

* primer de él · contenido
él: —¿Falta mucho?
él mira a ella
sonido: retiene
  • EJE es la regla de los 180°, declarada una vez. De ella se derivan de qué lado va cada uno y hacia dónde mira. No lo declares dos veces ni coloques a mano lo que el eje ya decide.
  • LUZ gobierna todas las sombras de la página. Nunca ajustes la sombra de una pieza suelta.
  • FONDO monta multiplano. Su velocidad, color y z no se declaran: salen de la lejanía.
  • DELANTE es la oclusión: algo que cruza por delante y tapa. Es la señal de profundidad más fuerte que hay, y el multiplano no la da.
  • mira a admite a alguien que no está en el encuadre: ese es el truco entero del plano/contraplano.
  • sonido: adelanta es un corte J (el audio entra antes); retiene es un corte L. Dos líneas, y el corte deja de sonar a diapositiva.

Paso 6 · El movimiento

Anatomía única, sea cual sea el verbo:

[COLOCACIÓN:] SUJETO VERBO [DESTINO] · [por TRAYECTO] · [MANERA] · [GRANULADO]
la piedra rueda hasta el borde · por el suelo · pesado · a treses
tercero salta a la roca · en arco · resuelto · hasta decir «arriba»

LA CURVA NO SE DECLARA: SE DEDUCE de la materia, la mano, el afecto y la manera. No hay easing, ni keyframes, ni rate_func en el pliego. Un washi y una piedra no caen igual, y eso no lo escribe nadie.

El oficio de Lasseter va solo (oficio.py, SPEC §3.7.5). Cada verbo de movimiento lleva, sin una cifra: entrada y salida lentas (nunca lineal), anticipación proporcional a la velocidad, arco si el verbo lo pide (salta, vuela, cae… y si no, un arco suave), estirar y encoger conservando el volumen, sobrepaso y asiento según la materia, escalonado con muelle en los grupos (juntos:) y una pausa viva: lo que se ha movido respira, nunca se congela. Las maneras lo modulan:

la carta salta hasta el buzón · con anticipación   ← se carga aunque vaya lenta
el grito cae hasta aquí · de golpe                  ← el énfasis no avisa
> deja posar                                        ← el beat espera a que se asiente
la pluma flota hasta el suelo · a la deriva · en dos   ← poses retenidas, a medio fotograma

en dos también vale para todo el pliego, en la línea de propiedades: formato 16:9 · sala crema · en dos.

Dos cosas que nunca se escriben:

  • el movimiento secundario (cuando una pieza se para, su papel sigue un poco): es propiedad de la materia, del taller;
  • el congelado al cortar: por defecto todo movimiento persiste al corte —eso es lo que hace de varios planos una secuencia—. Solo si quieres lo contrario: > congela.

Paso 7 · La materia

Solo si el aspecto por defecto no te vale.

#TALLER collage
  papel crema · grano medio · canto rasgado
  tinta hierve normal
  materia cartulina · masa media · arrastre poco · rebote nada
  materia washi · masa nula · arrastre mucho · cimbreo mucho
#FIN

#MANO firme
  pulso poco
  precision alta
  granulado a doses
  entra resuelta
  sale sin prisa
  toca la truca: si
#FIN
  • El taller es de qué está hecho todo. Aquí los números sí son legítimos: es calibración de un oficio, no dramaturgia.
  • La mano no coloca; la mano dice cómo coloca. El sitio lo sigue decidiendo la cascada.
  • toca la truca: si hace que la cámara herede el pulso: temblor, sobrepaso, y pierde al sujeto medio segundo de vez en cuando.
  • Las claves de varias palabras llevan dos puntos (toca la truca: si).

Ley del espejo: TALLER talleres/collage.taller importa el mismo bloque desde un archivo, con gramática idéntica. mesa parte lo saca, mesa funde lo devuelve, y ninguna cambia un fotograma.


El bucle de trabajo

$MESA lee p.mesa                    # 1 · ¿está limpio?
$MESA graba p.mesa                  # 2 · la voz (una vez; cachea)
$MESA dura p.mesa --objetivo 150    # 3 · ¿dura lo que debe?
$MESA animatica p.mesa --sonido     # 4 · UN fotograma por beat ← AQUÍ SE DIRIGE
#    … mirar la animática, corregir, volver a 1 …
$MESA lasseter p.mesa               # 5 · el oficio, medido en seco (ver abajo)
$MESA toca p.mesa -q ql -o out.mp4  # 6 · el vídeo, solo cuando convenza

La animática es el paso que más ahorra: compone un fotograma por beat con los tiempos y el audio reales, saltando cada gesto a su final. Sale ~7× más rápido que el render. Sin animática no se dirige un corto, se reza.

La revisión Lasseter (mesa lasseter p.mesa, o mesa lee --lasseter) rueda el pliego en seco —el mismo intérprete y los mismos fotogramas, sin pintar— y mide sobre esa cronología real: movimientos de menos de 8 fotogramas, más de 3 piezas moviéndose a la vez en escena, beats sin 0,6 s de pausa al final, textos que no da tiempo a leer (palabras/220·60 + 1 s), beats gemelos, movimientos lineales y rápidos sin anticipación. Cada aviso con beat, línea y sugerencia. mesa toca deja además <vídeo>.cronologia.json, que mesa lee lee solo si es más nueva que el pliego. Rueda siempre fuera del directorio de un proyecto ajeno: el foley se escribe en ./audio/foley.

Rodar sobre Tórculo (--motor gx). El mismo pliego y el mismo sidecar ruedan sobre el fork de ManimGX en GPU (skill torculo):

~/Developer/torculo/tools/pesado ${=MESA} toca p.mesa --motor gx -q qh -o out.mp4
~/Developer/torculo/tools/pesado ${=MESA} animatica p.mesa --motor gx
# la tirada de verdad: voz real, baño dentro del motor y HEVC por VideoToolbox
~/Developer/torculo/tools/pesado ${=MESA} toca p.mesa --motor gx --cap 2 -q qh \
    --sonido --bano --codec hevc -o /tmp/cap02.mp4
  • --bano (o baño truca en la línea del preámbulo: formato 16:9 · sala crema · baño truca) revela dentro del motor, con Papel() y Bobina("truca") sobre la crema del canon: el papel no se quema a blanco. No se aplica además el baño de ffmpeg.
  • --codec hevc escribe HEVC Main10 (también prores); por defecto, x264.
  • Con --sonido, la voz real la pone el motor (m.sidecar) en el instante de cada beat; --tiempos y --base sirven para un pliego derivado que usa el sidecar del original.
  • --cap N es el N-ésimo capítulo del pliego contando el prólogo: en Mujeres, --cap 2 son los beats c1_*.
  • Escribe la salida fuera de Dropbox (-o /tmp/…) y cópiala después.

La terraza no existe entera: 463 s de reloj frente a unas 3 h 45 min con Cairo. Lo que el backend aún delega al intérprete de CE o no porta (el régimen de canción, MUSICA … · manda) está en manim_saorin/gx/NOPORTA.md; para un videoclip, todavía --motor ce. Todo render pasa por tools/pesado (un turno, carga < 14): nunca varios a la vez.

Láminas por intención. pon: lámina ≈ «la celosía, mirar sin ser mirada» elige del bestiario con EmbeddingGemma 2 al compilar y congela la elección en p.mesa.lock; mientras la consulta no cambie, no se vuelve a elegir. El índice se hace una vez con sentido indexa (skill torculo §5).

Antes de cada tirada con voz real: sentido voz p.mesa. Comprueba que cada WAV dice el texto de su beat; encontró seis tomas que Dropbox había pisado con la misma duración.

Y mira siempre fotogramas antes de dar nada por bueno:

ffmpeg -y -i out.mp4 -vf "fps=1/6,scale=426:240,tile=4x3" -frames:v 1 tira.png

Los tres peores fallos de este sistema pasaron todas las pruebas de código y solo se vieron en un fotograma.


Las tablas que necesitas a mano

Funciones (cabecera de clip): 11

apertura · cartel · contrapunto · digresion · eco · giro · ilustracion
prueba · remate · respiro · tesis

Afectos: 8

contenido · euforico · exhausto · jugueton · nervioso · seco · sereno · solemne

Plano de cine: talla · altura · frente

general · conjunto · medio · americano · corto · primer · detalle
nadir · contrapicado · normal · picado · cenital
frontal · tres cuartos · perfil · escorzo · espalda

Las tallas están ordenadas: saltar más de dos escalones es un efecto, no un descuido, y el lint lo dice.

Trayectos: 16

recto · en arco · en curva · a saltos · en zigzag · rodando · girando
cayendo · flotando · resbalando · rebotando · por el camino · por el borde
por el suelo · en espiral · fuera de campo

Maneras: 15

de un tirón · a tirones · despacio · titubeante · resuelto · pesado · ligero
rozando · en volandas · sin ganas · de golpe · con cuidado · a regañadientes
a la deriva · con anticipación

de golpe = sin anticipación. Registro, 1: en dos. Detrás de un · en una línea de movimiento solo cabe trayecto, manera, granulado, registro o ventana: cualquier otra palabra es error.

Granulados: 4 · Lejanías: 8

a unos · a doses · a treses · a pulso

al pie · al paso · cerca · a media distancia · lejos · al fondo
en el horizonte · en el cielo

Diálogo: NOMBRE: —texto, y el hablante tiene que estar declarado en REPARTO o PERSONAJE. Ojo con los nombres: el es palabra reservada (artículo) pero él es un personaje válido: la tilde diacrítica los distingue.

Tensiones: sube · mantiene · cae · rompe Tambores: ambar · bermellon · naranja · rosa · ultramar · verde · violeta Anclas: bordado · celo · chincheta · esquineras · washi

Verbos de movimiento: 24, y son CERRADOS. El movimiento se reconoce por el verbo: si escribes uno que no está, la línea no es un movimiento y se imprime en pantalla como prosa del narrador.

baja · cae · camina · corre · cruza · entra · esquiva · flota · gira
rebota · resbala · rueda · sale · salta · se apea · se encaja · se levanta
se sienta · sube · tiembla · tropieza · va · viaja · vuela

Relacionales: 11; crean ligadura viva con muerte conjunta:

agarra · alcanza · arrastra · cuelga · empuja · esquiva · huye · orbita
se apoya · sigue · suelta

Eventos VIVOS (19): el motor los consume (la lista entera, con los de cámara, sonido y cartel, en mesa chuleta):

> seco · > barre · > respira · > queda · > dura 5 · > silencio 3 · > barrido
> amanece · > anochece · > empapela general nº 88 · > gigante
> congela · > continúa · > cruza el eje · > salta · > espera al clip
> capítulo «Título» · > el clip se agranda y se va · > deja posar

Las 14 transiciones que eran reservadas ya son VIVAS (con --motor gx): transicion.wgsl de la biblioteca de materias, con el plano que llega vivo. Dicen cómo ENTRA el clip en que se escriben; funde a negro y funde a blanco, cómo SALE:

> corta · > encadena · > funde a negro · > funde desde negro · > funde a blanco
> pasa página · > la mano tapa · > cortinilla de tijera · > corta en la acción
> entra de golpe · > se sostiene 2 · > retención larga · > chasquido · > a la vez
> funde desde blanco · > iris · > se quema · > desenfoque de pasada · > sintoniza

Todo lo demás que entró con RADIOINTERMISIÓN (materia, formato, cámara, río, montaje, sonido, personajes con ficha) está al final de esta skill.

ver: tiene 68 entradas. Las que más se usan:

balanza · barras · comparacion · convergencia · curva · linea temporal
multitud · proceso · red · teorema · versus · votos

Listado entero: SPEC-MESA-2.md §4.10, o

$PY -c "from manim_saorin.visualizaciones import CATALOGO; print(sorted(CATALOGO))"

Todos estos vocabularios son CERRADOS. Una palabra que no esté es error, no una extensión silenciosa. Es lo que permite que el motor deduzca: si se pudieran inventar, habría que volver a declararlo todo.


Depurar sin adivinar

$MESA por-que p.mesa b12          # cada decisión, con su autoridad y su línea
$MESA por-que p.mesa --tabla      # la tabla de precedencia
$MESA mueve p.mesa                # trayectos, maneras, curvas y de dónde salen
$MESA indice p.mesa               # ambigüedades de nombre
$MESA taller p.mesa [--mano]      # el taller/la mano EFECTIVOS
$MESA cuenta p.mesa               # el pliego, narrado en prosa

por-que explica cualquier decisión leyendo lo que el compilador ya emite, así que no puede divergir de lo que se renderiza. Úsalo antes de tocar nada «porque sí».

Qué dice el lint y qué hacer

mensajequé significa
función desconocida «X»X no está en la lista. O es una función, o es un plano de cine; mira las tablas.
«X» no es un TRAYECTOvocabulario cerrado. No lo extiendas: elige uno.
ambigüedad de nombredos candidatos empatan. Desambigua con alias: en el REPARTO.
«el» es vocabulario cerradouna palabra de la lengua no puede ser un identificador.
porcentaje pobre NN %el pliego dice números que el motor podría deducir. Desnúdalos hasta que rompa.
SALTO DE EJE · SALTO DE TALLA · RACCORD DE …avisos de continuidad. No son errores: romperlos es legítimo, pero tienen que decirse. Si fue a propósito, > cruza el eje o > salta.
sin silencio final · sin respiroel compilador pondrá uno; decláralo si quieres el tuyo.
no es una orden de la lengua: se escribiría tal cual en pantallala línea no es nada de la lengua y saldría escrita en el papel. Sigue el «arreglo:».
texto en pantalla: «…» (aviso)prosa suelta dentro de un clip: se escribirá a máquina. Si debía oírse, di:.
es una línea de ESCENA y está dentro de un clipsúbela debajo de -- ESCENA --, antes del primer *.
detrás de «·» no es un tamaño ni un cortelos argumentos del dibujo van pegados al nombre, sin ·.
no es una palabra de plano y la cabecera la ignorala cabecera solo admite talla, altura, frente y de SUJETO.
habla pero no está en el REPARTOdeclara la voz: REPARTO NOMBRE: color, voz.
el preámbulo no carga ningún bestiarioañade PYTHON piezas.py.
se mueve pero no hay ninguna pieza … que se llame asíel sujeto del movimiento es una pieza puesta o alguien del REPARTO.
página vacía (aviso)el beat corta a un cuadro nuevo y no pone nada: pon algo o no declares talla.
en la cabecera de la escena no es una hora (aviso)detrás de · en -- ESCENA -- solo va diurna o nocturna.

Cada mensaje trae por qué:, arreglo: (con «¿quisiste decir…?») y, casi siempre, ejemplo:. mesa explica «X» explica cualquier palabra o línea.

El porcentaje pobre es la medida de salud: líneas de dramaturgia sin cifras / totales. Un pliego de autor sano vive ≥85 %. Referencias medidas: corto.mesa 100 %, paradoja.mesa 87.9 %, fabula.mesa 32.4 % (es una réplica transpilada; por eso está tan bajo).


Lo que el motor hace SOLO (no lo intentes tú)

Si te ves peleando con alguna de estas cosas, para: ya están resueltas, y pelearte con ellas es lo que estropea un pliego.

Legibilidad: ancla de papel opaca bajo todo texto. Es la única regla innegociable, y la aplica la pinza sola. Composición: zonas, anti-molde y ejes bipolares por beat. Sintagmas: los conjuntos semánticos (una cuadrícula, un campo de juego, una ruta) no se desmontan: el azar coloca al superobjeto, no a sus partes. Resolutor de choques · cortes de fondo y pasar la hoja · hervor y temblor · sombras (las dicta la luz de la escena) · foley · gigantes de fondo · marginalia. Semillas: mismo id, mismo dibujo siempre. Subtítulos: apagados por defecto; con subtitulos wiggly salen palabra a palabra en el instante en que la voz las dice, y no se salen del papel.

La dirección de arte (lo que se pide SIEMPRE)

Un pliego correcto puede seguir siendo pobre. Lo que se espera:

  • Muchos dibujos propios, y que CUENTEN la historia: el texto acompaña. Si un beat solo tiene letrero, está cojo.
  • Nada de rellenos planos: ceras y recortes. Lo vigila tools/planos.py, pero la decisión es tuya al escribir el bestiario.
  • Mucho archivo, y descarga más: estampas PD/CC a juego con el tema, validando cada nombre antes de usarlo.
  • Densidad viva, no decorado: que la página acumule vida según avanza.
  • Y el bucle: animática → mirar → corregir, hasta que sea verdaderamente precioso, no «suficiente».

El detalle entero está en la skill manim-saorin-pro §3.5.

Las trampas que cuestan caro

No escribas cifras que el motor deduce. Si te ves poniendo en 1.4 -0.3: o una duración, pregúntate qué palabra te falta. La cascada coloca mejor que tú porque conoce el plano, la reserva y el resto de piezas.

El eje se declara una vez y ya está. Colocar a mano a alguien que el eje ya coloca es pedir una contradicción, y el lint la va a cantar.

La luz es de la escena. Si quieres una sombra distinta para una pieza, lo que quieres es otra escena o otra hora.

El vocabulario congelado es una promesa. Un pliego escrito contra MESA v2 beta compila en la 1.0. Declara la época si te importa: MESA v2 Mi título.

Un pliego transpilado no es un pliego de autor. mesa escribe materializa las decisiones marcadas (máquina) para curarlas a mano; el método es desnudarlas hasta que rompa, no dejarlas.

Mira el vídeo. La huella puede decir «idéntico» y el vídeo estar muerto: la réplica de la fábula medía 94.8 % de coincidencia y el director dijo «esto es como mucho un 45 %». Los dos tenían razón.


Los pliegos que hay que leer

En ~/Developer/manim-saorin/ejemplos/:

pliegopara qué
servilleta.mesael mínimo: prosa pura
paradoja.mesael canon: un vídeo narrado entero, 24 beats
montaje.mesadramaturgia declarada (arco, motivos, ecos)
materia.mesataller y mano
pulso.mesala misma escena con dos manos
movimiento.mesalos 16 trayectos × las 13 maneras, sin una cifra
raccord.mesapliego trampa: los cinco avisos de continuidad
ambiguo.mesapliego trampa: la ambigüedad de nombres

Y en ~/Movies/fabula-tres-hermano/:

pliegopara qué
corto.mesaun cortometraje entero: 2:25, tres escenas, diálogo, viaje, 100 % pobre
carretera.mesala escena del coche: cuatro planos de un mismo mundo
fabula.mesauna réplica transpilada (para ver qué NO es dialecto de autor)

Cuándo esto no basta

  • Dibujos propios (un personaje, un coche, una casa): hacen falta en Python, en un PYTHON piezas.py. Skill manim-saorin, y la ley de la materia: nada es un relleno plano.
  • Producción completa (foley, baño filmlook, mux, verificación, máster): skill manim-saorin-pro.
  • La referencia exhaustiva de cualquier duda de gramática: SPEC-MESA-2.md.

Lo que entró con «La terraza no existe» v6

El mapa. La tesis dibujada como un diagrama que crece; cada orden en castellano:

mapa: territorio «yo» · grande · con la casa · el trabajo · la rutina · el nombre · en centro
mapa: línea desde «yo»                        # la tapia se abre, la línea sale
mapa: en columna izquierda                    # el mapa de los personajes: 7 plazas a la izquierda
mapa: territorio «Iván» · con pareja · amante · avión
mapa: línea desde «Iván»
mapa: la línea de «Iván» llega a otro igual   # relativa: el mismo recinto, las mismas cosas
mapa: la línea de «Lucía» se hunde            # abolición: espiral y agujero que traga
mapa: la línea de «Pepa» vuelve               # absoluta positiva: el recinto se redibuja, verde
mapa: conecta «Mambo Taxi» · «terraza» · «semáforo»   # rizoma
mapa: el círculo se abre                      # la canción del niño
mapa: mira a «Pepa»
mapa: se va

Sobrevive al render por capítulos (se reproduce sin animar al arrancar) y reserva su caja para que los clips no le caigan encima.

Las transiciones. > capítulo «Título» (cartón, página vacía, suena la página) y > el clip se agranda y se va (el recorte crece al lienzo, se va, un segundo vacío).

Lo que un clip lleva solo. Ficha (título · director, año · minuto) y subtítulos de la película, si clips/fichas.json existe junto al pliego (tools/… lo genera del manifiesto y la transcripción). Y un clip dura lo que dice que dura: el beat crece; la voz no lo corta.

Cosas que aprendí escribiéndolo:

  • en el teatro, el nombre de un personaje va a la marquesina con letrero (cartulina): NOMBRE; pon: cartulina cae donde haya hueco y, con la marquesina ocupada, sobre los actores;
  • un beat mudo ejecuta sus acciones en el orden escrito; si quieres el cartón del título y después la ficha, escríbelos así;
  • pon: tira «transporte» · 36 para una palabra que se va a tachar: el dymo es demasiado pequeño para leerse y tacharse;
  • para una enumeración que DEBE acumularse (el destrozo de Pepa), dibujos y no clips: tres clips en once segundos se apilan en el centro; seis dibujos el compositor los reparte;
  • la nota de rescate, cuatro veces en un vídeo entero;
  • ancla muerta / ancla ilegible / dos voces / el beat se alarga / compone un fantasma en mesa lee te dicen lo que no se ve.

v6b · la truca del teatro, apunte, cartulina

  • la truca se acerca a X / la truca vuelve: acerca el MUNDO (decorado + títeres) ×1,75 sobre X. Entre beats sin caminatas.
  • pon: apunte «…»: tarjeta mecanografiada para la tercera columna (lo que la voz no dice). ≤ 38 caracteres por línea.
  • Rótulo de sección = letrero (cartulina): TEXTO (marquesina, muere con el beat). pon: cartulina cae donde caiga el compositor: no.
  • junto a «hafsa»: python: corazones pega un dibujo a un personaje.
  • Un clip terminado se va solo; clip mudo sin grande deja sitio a un dibujo al lado.

RADIOINTERMISIÓN · el aspecto, sobre --motor gx (SPEC §3.10)

Todo en palabras y vocabulario cerrado; los números los pone el motor. Unidad (preámbulo, capítulo o escena: la escena manda) · prefijo de pieza · evento > … (anclable: al decir «GOL»: > temblor). Ejemplos que se miran: ejemplos/radio/*.mesa (antes, python prepara_audio.py). Ruedan con el motor de la rama radio de Tórculo (las transiciones necesitan láminas en las pasadas).

MATERIA papel khadi                  # once papeles: grano fino, satinado, torchón, khadi,
                                     # washi, verjurado, lienzo, tintado, kraft, escolar, cuaderno
MATERIA acuarela sobre papel khadi   # > se moja · > se seca · > se lava · > florece ultramar en «gamba»
MATERIA risografía ultramar y rosa · desregistrada · trama de grano
MATERIA pincel | tejido | tinta [sobre papel X] | ninguna   # > se teje · > la tinta lo cubre todo
BOBINA truca | sin grano | noticiario                        # noticiario: sepia, rayas, 18 imágenes/s
FORMATO 4:3 | 16:9 | 2,39:1 [· de televisión]               # el cambio se anima; > formato 2,39:1
ESPEJO [de la izquierda]             # > se rompe el espejo · > vuelve el espejo
PANTALLA PARTIDA · con un espejo en medio · que se miran
                                     # a la izquierda: python: locutor_a · > se parte la pantalla
SIMULTÁNEO en rejilla | en abanico | en abanico que gira    # > un solo plano
RÍO TIPOGRÁFICO · en fila | en libertad | a pantalla completa   # > revienta «vecinales»
MONTAJE al ritmo de las palabras · se acelera · cada vez más cerca · la cámara no para
        · mezcla «LA RADIO» · «EL ESTADIO»
HERVOR dibujado | suave | no
REPITE «PRIMER ANUNCIO»              # la misma secuencia: mismas semillas, misma voz
EFECTOS audio/sfx  ·  CAMA estadio  ·  JINGLE jingle  ·  sonido: congelador
REPARTO LOCUTOR: ultramar, elevenlabs A, con radio, alias: locutor_a   # color: con radio | seca

Prefijos: en acuarela: · en tejido rosa: · en tinta: · en risografía rosa: · en pincel: foto: x.jpg (cuece la foto original) · en papel kraft: · de «vecino» a «vecina»: pon: rescate «¡CÁLLATE!» (vuela y se estrella) · a la izquierda: / a la derecha:.

Cámara: > zoom de golpe a «X» · > barrido a la derecha (el primero del clip = transición de látigo) · > plano holandés · > temblor · > cámara lenta / > velocidad normal · > congela la imagen (estampa quieta) · > se para en seco / > arranca de golpe (congelado vivo) · > fotograma en blanco · > la cámara no para · > la cámara va pegada a «balón» · > la cámara vuelve.

Movimiento: · con estela · · con líneas de fuerza · · en cronofotografía; sin destino se hace en el sitio (grada salta). aro se funde en dial · vecino hierve con locutor · el pelo pasa de jugador a nina (partes con nombre en pieza.partes). > se rasga el papel y asoma «EL PATIO» (la grieta se queda en las escenas con ese nombre) · > asoma «EL ESTADIO» en el hueco.

Voz: VECINO / LOCUTOR: —Podría haber sido un / partido decepcionante… (recorte del uno, pluma del otro, dos tomas encadenadas con su color) · > la voz se vuelve radio. Las tomas de ElevenLabs van YA en el sidecar (metodo: "elevenlabs"); nunca mesa graba en un pliego así.

Personajes con ficha (bestiario con vista, pose, expresion, boca, mano_i, mano_d, hervor): la boca sigue la voz sola, la vista sale del plano (* medio de LOCUTOR perfil · …), el pelo y la bufanda van solos. El pliego dice: LOCUTOR de espaldas · LOCUTOR celebra | grita | aplaude | anda | gira el dial | señala · al decir «ESPERA»: LOCUTOR se asombra.

Trampas de este corto:

  • un hablante no puede llamarse LA, EL, A…: son palabras de la lengua; usa LOCUTOR, VECINA…
  • un > dura N es del beat entero, no de un tramo: para separar dos eventos sin voz usa > silencio N entre ellos, o ánclalos a la voz;
  • mesa lee desde fuera del worktree usa la librería instalada (master): si dice que un evento nuevo no existe, mira desde dónde lo ejecutas.

CADA PLANO ES UN CARTEL · los signos, la composición, el tejido (SPEC §3.11)

La dirección radical de RADIOINTERMISIÓN (texto/propuesta_direccion_radical.md §4). Vocabulario cerrado, sin números. Ejemplos que se miran: ejemplos/cartel/{signos,composicion,tejido,partitura}.mesa. El recorte por forma y la tela con estado necesitan el motor de la rama cartel de Tórculo (MESA_GX_PYTHON=~/Developer/torculo/wt/manimgx-cartel/.venv/bin/python hasta que se fusione); sin él, avisa y sigue.

PALETA verde, morado y amarillo            # campo, figura, acento (+ el papel)
CARTEL columna a sangre a la izquierda · figura delante de la letra · en silueta
LETRA «¡LA DIGNIDAD» · en League Gothic · girada · a sangre · a la izquierda
«ESPERA» es un muro                        # muro suelo cielo ventana máscara portería persiana barandilla cuchilla
«GOL» es una ventana a «EL ESTADIO»        # dentro de las letras, la última imagen de esa escena
la O de «GOL» es balon                     # / … se convierte en balon / balon se convierte en la O de «GOL»
las letras de «GOL» caen                   # cae se estampa se apila se rompe se abre se separa se va
la raya corta «momen»
«RADIOINTERMISIÓN» forma el patio          # las tildes, ventanas encendidas
en silueta: python: vecino · enorme · cortado por abajo
ESCALA vecino como grada
«GOL» tapa a pichichi · el ojo completa «SCHLAGER» · BOSQUE de brazos y puños
TEJE «RADIO / INTERMISIÓN» · en la serifa de Pretexto · con la aguja del dial
SINTONIZA «RADIOINTERMISIÓN»
«RADIOINTERMISIÓN» se interrumpe en «RADIO»      … (otra escena) …      «RADIOINTERMISIÓN» sigue
los hilos de VECINO y LOCUTOR se entretejen
FRASES «así es» · «hoy nos espera una jornada»
> la tela se enreda · > se desteje · > la mancha deja «ES AZUL» en reserva
PARTITURA texto/cuento.md                  # preámbulo: cursiva→río, guion→grito, raya→cuchilla, MAYÚSCULAS→revientan

Trampas: CARTEL/PALETA dentro de un clip son de ese plano; fuera, de la escena. La primera LETRA de un plano con columna a sangre va sola a la columna (girada, a sangre). Una letra sin verbo se posa; con un verbo detrás en el mismo clip, entra con el verbo. Lo del cartel vive fuera del tablero: se va al abrir el beat siguiente, salvo un título interrumpido.

LA IMAGEN QUE OYE · la luz, el soporte, la intensidad (SPEC §3.12)

La especificación de radicalidad de RADIOINTERMISIÓN (§5-§9). El motor oye el audio real (la voz de cada beat, la música, los ambientes, cada efecto) y lo convierte en curvas deterministas y cacheadas (oido.py); el pliego las conecta con frases. Ejemplos que se miran: ejemplos/oye/{respira,rio, espectro,luz,soporte,intensidad}.mesa (antes, python prepara.py).

la cámara respira con la voz        # empuja con la frase, sube con el tono, tiembla con las sílabas
el río mide la voz                  # tamaño = volumen, peso = emoción, inclinación = velocidad; GOOOOL se estira
la luz sube con la radio            # la fuerza de la LUZ de la escena sigue a la pista
el dial es la línea de tiempo       # (preámbulo) la aguja avanza con el corto; salta en cada mundo
el campo es el espectrograma del estadio   # (clip) hierba = graves, grada = agudas; corre con el sonido
LUZ de «radio» · desde abajo · ámbar        # una sola fuente dura; todo lo demás es noche
LUZ de los focos · en contraluz             # siluetas; destellos de risografía
LUZ plana · de estudio                      # el brillo del anuncio
COLOR monocromo [humo]      > estalla el color en «gamba»     > el color se apaga
SOPORTE limpio | usado | gastado | sucio | roto
> el soporte empeora · > el soporte se deshace · > el soporte se limpia
INTENSIDAD tensa · INTENSIDAD de serena a rota · … · extraña · … · con la voz
> la intensidad sube a furiosa | cae a quieta | salta a rota
> destellan los focos · > la cámara deja de respirar

PISTA = la voz · la música · la cama · los efectos · la radio (todo lo que suena) · «un efecto» · del estadio (lo que suena con ese nombre: el AMBIENTE, la MÚSICA y los eventos de la banda también se oyen). INTENSIDAD = nula quieta serena templada viva agitada tensa encendida desatada furiosa rota (0…10, el mapa §8). Las frases en una escena valen para toda ella; en un clip (con > o sin él), hasta el final del beat, y se anclan con al decir.

  • La intensidad gobierna sola el temblor de mano, la inclinación (el holandés que crece), el desregistro y el grano, y la duración de plano de MONTAJE al pulso. mesa intensidad p.mesa [--json c.json] imprime el mapa del pliego sin rodar.
  • El soporte dura TODA la película (un gol estropea lo que viene detrás); el del preámbulo es el de partida.
  • Mirar lo que el oído oyó: python -m manim_saorin.oido toma.wav --png c.png --palabras p.tiempos.json:r03_03.

Trampas: el contraluz recorta lo que tiene relleno (un dibujo solo de líneas queda en líneas); en el centro: no es un prefijo (escribe python: radio · grande); la luz de una pieza que aún no se ha posado sale de abajo en el centro hasta que la pieza llega.

LA CÁMARA COMO OBJETO · la profundidad, el tiempo, el cuadro, romper con permiso (SPEC §3.13)

La especificación de radicalidad de RADIOINTERMISIÓN (§2-§4, §9.1-§9.4, §9.7). Una cámara de verdad (la 3D de ManimGX), no un desplazamiento de imagen. Vocabulario cerrado, sin números. Ejemplos que se miran: ejemplos/camara/{capas,lentes,mano,atraviesa,tiempo,cuadro,romper}.mesa (antes, python prepara_audio.py: cada plano lleva la frase del cuento que justifica lo que hace la cámara). Sin nada de esto, la escena sigue en 2D y nada cambia.

CÁMARA con masa · al hombro · gran angular      # lente: normal gran angular teleobjetivo ojo de pez
                                                # masa: ligera con masa pesada · mano: en trípode al hombro
                                                # foco: profundidad total | poca profundidad
HORIZONTE se inclina                            # un paso más en cada golpe; | gira | recto
lejos: python: fachada                          # delante al pie cerca al paso a media distancia lejos
en el cielo: python: cielo · a sangre           #   al fondo en el horizonte en el cielo: el paralaje sale solo
> la cámara va a «X» · > la cámara se acerca a «X» · > la cámara se aleja · > la cámara sube | baja
> vértigo sobre «X» · > vértigo al revés · > gran angular · > teleobjetivo · > ojo de pez · > lente normal
> la tensión sube | cae | rompe | se mantiene  # el temblor es una curva: afecto + voz + intensidad
> el cuadro gira a la derecha · > el cuadro se endereza · > el horizonte se inclina | se endereza
> la cámara va montada en «X» · > la cámara gira alrededor de «X» · > tiempo bala sobre «X»
> la cámara entra en «X» · > la cámara sale de «X» · > la cámara atraviesa
> la cámara mira desde dentro de «balon»        # su canto enmarca el plano
> plano secuencia por «A», «B» y «C» · > triple salto axial a «X» · > salto axial a «X»
> pasa por delante «bufanda»                   # el primero del clip: el corte va escondido debajo
el foco en X · el foco pasa a X · el foco en X y en Y · todo en foco
CADENCIA las figuras en dos · el fondo en cuatro · la cámara en uno   # la letra · lo de delante · todo
> rampa de velocidad · > cámara lenta a saltos · > todo se para menos «X» · > barrido temporal hacia abajo
GOLPES con impacto · con borrón                 # > fotograma de impacto · X corre … · con borrón
FORMATO 2,39:1 · bandas de papel                # > las bandas bajan | suben · > se rasga la banda de arriba
X empuja | agarra | arrastra la banda de abajo · X se apoya en la banda de abajo
> asoma «EL ESTADIO» en «tele»                  # el cuadro dentro del cuadro; luego > la cámara entra en «tele»
> la línea se mueve a la izquierda | se inclina | se endereza | se rompe      # (PANTALLA PARTIDA)
PISTA ÓPTICA · > la pista se desborda · > la pista vuelve
> se ven las perforaciones · > se van las perforaciones · > el fotograma se descarrila
VECINO mira a cámara
> demasiado cerca de «X» porque «…» · > cortado por la frente «X» porque «…» · > aire al revés «X» porque «…»
> mirando fuera de campo «X» porque «…» · > el que habla fuera de campo porque «…» · > cuadro vacío porque «…»
> rompe el eje porque «…» · > se sale del cuadro porque «…» · > sin leer porque «…»
> demasiado rápido porque «…» · > todo a la vez porque «…» · > sin respiro porque «…»
  • Romper siempre significa algo: las roturas sin porque «…» son error de mesa lee; con él, mesa lasseter las lista aparte («roto con permiso») y no las cuenta. Escribe en el porqué la frase del cuento.
  • Ancla los eventos de cámara DESPUÉS de que entren sus piezas: las piezas sin al decir se reparten por las frases de la voz (la segunda pieza cae en la segunda frase). Si la pieza aún no está, el operador espera un rato a que entre; un movimiento (X cruza…) no espera. Lo seguro: al decir «primera palabra»: lejos: python: fachada.
  • Las capas son del mundo: duran la escena; si el clip siguiente pide la misma pieza a la misma distancia, se queda la que había. Lo que se quiere limpio, en otra escena (una línea de unidad la abre como lugar nuevo).
  • El vértigo y las lentes necesitan capas a distancias distintas: sin ellas, lo único que cambia es el cristal (la deformación del gran angular y el ojo de pez).
  • El foco no desenfoca el texto (la legibilidad), salvo > sin leer porque.
  • PISTA ÓPTICA lee el wav del sidecar: sin voz, la pista está muda.
  • El visor: un pliego que cambia de formato enseña TODO formato (también el 16:9) como ventana de esquinas redondas con aire de papel, el cambio siempre animado, y la edad, la bobina, el grano, el soporte y la estática quedan dentro. No se escribe nada: lo decide FORMATO.
  • Un movimiento va hasta otra pieza o hasta fuera de campo por la derecha | por la izquierda; «hasta la derecha» no es un destino y la pieza no se mueve (con la cámara montada en ella, no corre el mundo).
  • mesa por-que p.mesa bNN enseña lo roto con permiso y la cámara de la escena.

El blocking enorme (SPEC §3.11.3b): python: X · gigante · cortado por la frente | por abajo | por la izquierda; en PANTALLA PARTIDA · desigual · inclinada cada mitad es el cuadro (a la izquierda: python: X · gigante) y > la costura se mueve hacia «X»; X se sale del cuadro por la derecha; RÍO TIPOGRÁFICO · no apaga el río de una escena.

La salvaguarda (SPEC §3.11.3c): un corte nunca se lleva la cara, la boca, la mano que actúa ni las letras que hay que leer; para pedirlo, · sin leer. El muro con río: el río se estrella contra él. la raya corta «X» también dentro del río. TEJE dibuja la malla de puntadas dentro de letras nítidas.

LA VIDA · nada se queda en su pose (SPEC §3.15, dirigir-saorin §41)

Ley fundamental: un personaje en cuadro siempre actúa. Con --motor gx la vida va sola; el pliego NO la escribe. Lo que el motor hace sin que lo pidas:

  • anima por esqueleto las fichas que publican ANGULOS (pose clave en ángulos) y aceptan pose como diccionario: cada acción va pose a pose con anticipación, sobrepaso, asiento y superposición (el tronco tira, brazos, codo y cabeza llegan después), redibujando la pluma «en dos»; las fichas sin ese contrato viven como marionetas (respiran, se balancean, cabeza y brazos por sus pivotes);
  • la capa de vida: respira, cambia el peso de pierna, se reorienta, mueve cabeza y mirada (sin enseñar la nuca), ajusta las manos, parpadea, tics de quien no habla (gafas, cadera, nuca, barbilla); su energía sale del afecto del beat;
  • actúa la voz del sidecar: un gesto en la tónica de cada golpe de frase (repertorio propio por personaje, sin repetirse), cabeza y tronco con la frase; MAYÚSCULAS y «¡…!» = grito con el cuerpo entero; «jajaja» = risa que sacude; quien escucha mira, asiente, se indigna con el grito y niega con la risa ajena;
  • los objetos viven: la radio vibra con lo que suena, la aguja tiembla, la ropa, la tela, el cable y el pelo se mecen, las ondas laten, el vaho sube, lo demás respira (lo que va · a sangre no: es el mundo).

Lo que sí escribe el pliego (acciones, todas anclables con al decir «…»:):

LOCUTOR se gira · se da la vuelta · se vuelve hacia la cámara · se pone de perfil · de espaldas
VECINO se sienta · se levanta · se inclina · se yergue · se asoma a la barandilla
VECINO asiente · niega · se encoge de hombros · se rasca la cabeza · se ríe
VECINO se acerca · se aleja                  # camina a cámara (crece) o se va (mengua)
VECINO mira a «radio»                        # hasta el beat siguiente
VECINO se queda quieto                       # el freno del personaje, con intención
LOCUTOR celebra | grita | aplaude | señala | gira el dial | corre hasta … (ya existían)

Comprobarlo SIEMPRE tras rodar: ${=MESA} vida /tmp/x.mp4 mide por personaje y por segundo la postura y la silueta de lo rodado y marca PEGATINA cada segundo en cuadro que no actúa (fuera de los frenos). Un corte con pegatinas no se entrega. MESA_GX_SIN_VIDA=1 rueda como antes, para comparar. Y mírala en tiras de fotogramas consecutivos, no sueltos:

ffmpeg -y -ss 2 -t 2 -i x.mp4 -vf "fps=12,scale=320:-1,tile=6x4" -frames:v 1 tira.png

Trampas: la vida es del backend gx (con --motor ce las fichas no se redibujan); una ficha sin ANGULOS solo se mueve como marioneta (pide el contrato al bestiario: NOTAS_LENGUA «VIDA · PEDIDO»); X mira a Y necesita que Y esté ya en la mesa.

La partitura con cuidado: solo grita las exclamaciones y mayúsculas breves; la frase larga del vecino va en una tira pequeña al canto; ningún rótulo tapa una cara. Apagarla: PARTITURA · no / PARTITURA · sin gritos en la escena o el clip, o sin partitura en el clip.

PIEZAS, MARIONETAS Y COLLAGE · lo que el pliego puede pedir a cada pieza (SPEC-PIEZAS.md)

Todo lo que entra por python: sigue el estándar de pieza en cuatro niveles (cada uno superconjunto del anterior). El pliego pide según el nivel:

nivelejemploel pliego puede
dibujopython: maquina · foto: x.jpg · sin fondoponerla (con prefijos de sitio y distancia), moverla con los 24 verbos, filmarla, · gigante · cortado por …
partespython: radioademás el pelo pasa de A a B; sus esenciales no se cortan
marionetaMARIONETA charlot · de la foto … · python: tijerasademás QUIEN acción (las que declara: TIJERAS corta), ciclos con los verbos (corre, va), boca con la voz si tiene mandíbula
personajepython: abuela (un .personaje.toml)además QUIEN de espaldas, la vista del plano, al decir «…»: QUIEN se asombra, la boca sola

Antes de escribir acciones, pregunta qué sabe hacer cada pieza: mesa bestiario pliego.mesa lista cada pieza que ve el pliego, su tipo y sus acciones, con la línea exacta para pedirlas. No adivines acciones: mesa lee da error si la pieza no la tiene (y propone la más cercana).

Toda marioneta de foto (una MARIONETA o un .marioneta.toml) sabe de serie: saluda, celebra, señala, baila, se inclina, duda, grita, aplaude, en jarras, y los ciclos anda y corre; más las que declare su .toml. Un personaje (.personaje.toml) sabe las de la lengua (celebra, grita, aplaude, señala, salta, se sienta…) y sus poses propias.

PIEZAS piezas/                       # un .py, un .toml (personaje · marioneta de foto · recorte) o una carpeta
MARIONETA charlot · de la foto medios/chaplin.jpg · mira a la derecha · canto de tijera
REPARTO CHARLOT: minio, elevenlabs A, alias: charlot       # para que hable y actúe por su nombre
REPARTO ABUELA: ultramar, elevenlabs B, alias: abuela
REPARTO TIJERAS: minio, alias: tijeras                     # una pieza que NO habla también va al REPARTO (sin voz) para pedirle acciones

* medio de CHARLOT frontal · jugueton
a la izquierda: python: charlot · grande
CHARLOT: —¿estás viendo lo que yo estoy viendo?     # la mandíbula de la foto sigue a la voz
al decir «gambas»: ABUELA recuerda                   # una acción que su .toml declara
python: abuela pose=recuerda vista=perfil            # pose y vista de partida, con nombre

El collage (fotos, vídeo, recortes, tipografía, pluma y materias en el mismo plano), con modificadores tras ·:

foto: medios/x.jpg · sin fondo · canto de tijera | de troquel | rasgado | limpio
                   · sombra pegada | levantada | sin sombra · con cinta | con celo | con chincheta
recorte: medios/x.jpg · canto rasgado                 # recorte: ya es sin fondo
foto: medios/carta.jpg · con fondo · canto rasgado · con celo   # la copia entera, con su canto
en risografía rosa: foto: medios/x.jpg · sin fondo     # la materia por pieza sigue valiendo
clip: medios/baile.mp4 de 0:02 a 0:08 · sin fondo      # recortado fotograma a fotograma, EN DOS
clip: medios/baile.mp4 de 0:02 a 0:08 · sin fondo · a 24 · canto de troquel
clip de fondo: medios/baile.mp4                        # la película a 24, a pantalla completa
clip de fondo: medios/baile.mp4 de 0:00 a 0:05         # solo ese tramo; al acabar, se va en el beat siguiente
CADENCIA las figuras en dos · el fondo en uno

Sitio de una pieza (prefijo delante de python:, foto:…): a la izquierda: · a la derecha: · al fondo: · delante: · lejos: · cerca: · en el cielo: · junto a «X»: · bajo «X»:. Sin prefijo, la pieza va al centro (en el centro: no existe).

Colores del REPARTO: los tambores (ambar, bermellon, naranja, rosa, ultramar, verde, violeta) y las tintas del cartel (minio, tinta, azul, rojo, celeste…). mesa lee da error con otro.

Ejemplos que se miran: ejemplos/collage/{recortes,gilliam,cine}.mesa (antes, python prepara.py: baja el material de Commons y escribe los sidecar con tomas ya grabadas).

Las herramientas de las piezas (en el Python de ManimGX, solas):

${=MESA} pieza nueva «la abuela» --tipo personaje       # dibujo · marioneta · personaje · recorte (--foto x.jpg)
${=MESA} pieza nueva «bailarina» --tipo marioneta --foto medios/isadora.jpg
${=MESA} pieza comprueba piezas/                        # ✓ ⚠ ✗ con qué hacer; sale 1 si hay ✗
${=MESA} pieza hoja piezas/abuela.personaje.toml        # hojas de presentación → mirarlas
${=MESA} bestiario pliego.mesa                         # las piezas que ve el pliego y sus acciones (en pantalla)
${=MESA} bestiario piezas/                              # la ficha de cada pieza (y BESTIARIO.md + hoja_contactos.png)

Trampas:

  • todo esto rueda con --motor gx; en Cairo · sin fondo avisa y sale la foto de siempre;
  • QUIEN acción solo se entiende si QUIEN está en el REPARTO (con alias: al nombre de la pieza) o es una MARIONETA; si no, mesa lee da error y te dice la línea de REPARTO que falta;
  • una acción que la pieza no declara es error de mesa lee, con la lista de las que tiene: mírala antes con mesa bestiario pliego.mesa;
  • la pieza tiene que estar puesta (python: nombre) en ese beat o antes para que se vea actuar;
  • al decir «palabra»: la palabra tiene que decirse en la voz de ESE beat (mesa lee da error si no);
  • el clip recortado es pesado la primera vez (Vision por fotograma): córtalo a lo que se ve (de … a …).

EL METRAJE REAL · rodar y montar con palabras (SPEC-METRAJE.md)

Con METRAJE carpeta/ el pliego monta material filmado. Antes, una vez: ${=MESA} ingesta carpeta/ --idioma es --vocabulario "nombres, con tildes" (proxies, Whisper local palabra a palabra, quién habla, cortes, Vision, multicámara e índice de EmbeddingGemma 2; incremental).

MESA «La vuelta a la Luna»
METRAJE ../documental                     # o METRAJE la casa
FORMATO 9:16 · sigue a quien habla        # 16:9, 1:1, 4:5 · sigue al sujeto | a NOMBRE | centrado
REVELADO de la casa                       # gelatina Saorín + bobina (· desde i-log)
RECORTA los silencios y las muletillas · tapa los saltos con acercamiento
LIMPIA la voz
ESTABILIZA lo que tiembla
SUBTÍTULOS palabra a palabra
REPARTO MARI: ultramar, filmada, alias: persona 6     # el alias, de la ingesta

* medio de MARI · contenido
MARI: —Lo que regresa a la Tierra es la cápsula Orion.   # la frase → su toma
recurso ≈ lo que dice                                     # B-roll por sentido
al decir «Apolo»: recurso ≈ «la cápsula con paracaídas»
sobre la mano de MARI: python: flecha                     # la pluma sigue la mano
sobre «la barandilla»: python: vecino                     # objeto encontrado por sentido

* primer · euforico
toma: «Yo soy Artemis» · la mejor                         # mejor de todas las tomas

* respiro · sereno
plano ≈ «la Tierra desde la ventanilla» · se acerca       # · en capas: paralaje
> retención larga

Bucle: lee (dice qué frase no se dice en el material) → monta (congela tomas, planos, recursos y objetos en el .lock; avisos de continuidad: SALTO, RACCORD DE MIRADA, RACCORD DE LUZ O VESTUARIO, RECURSO QUE NO CASA) → animatica (un cuadro por plano con su subtítulo) → MIRAR → toca (ya va por el turno de pesado). Además: busca carpeta «…» [--dice] -o hoja.png, exporta -o x.otio|x.fcpxml|x.edl, importa, planilla (lista de planos para rodar) y entrevista carpeta/ -o corte.mesa --dura «un minuto» (el pliego que se escribe solo: gancho, quién, desarrollo y remate).

Trampas: copia la frase como se DIJO (mesa lee te da la más parecida); con varias personas en el material, pon el alias: o la mejor toma puede ser de otra; la talla de la cabecera acerca lo filmado (primer = la cara); si un beat pone dibujos, papeles o letreros, el plano es HÍBRIDO y lo compone Tórculo (hoy en 16:9); los papeles se colocan solos lejos de la cara filmada.

EL ESCENARIO 3D · Blender orquestado, la misma cámara, lo generativo (SPEC §3.17)

Un decorado en volumen con la luz del cine; Blender rinde por capas y Tórculo compone (pluma con hervor, láminas, bobina). Vocabulario cerrado, sin cifras; todo en la ESCENA (debajo de -- LUGAR --). Ejemplos que se miran: ~/Movies/tresde-corto/ (azotea.mesa, el corto; ligero/, maniqui/, sintesis/, intercambio/).

-- LA AZOTEA · nocturna --
ESCENARIO 3D · en Blender · con EEVEE · de papel · líneas a pluma
DECORADO azotea                                   # repertorio: mesa tresde mundo p.mesa lo enseña
DECORADO tendedero · lejos · a la izquierda
DECORADO «torre» de modelos/torre.glb · al fondo  # glb gltf usd usdz blend fbx obj
DECORADO radio · sobre «silla»                    # sobre · junto a · detrás de · delante de
DECORADO tejados · al fondo · en fila
PERSONAJE 3D GUARDA · maniquí · a la derecha      # la vida mueve sus huesos; en el REPARTO para hablar
LUZ principal de la izquierda · cálida · dura     # de relleno · de contraluz · práctica de «radio»
HORA hora azul                                    # alba mañana mediodía tarde atardecer hora azul noche
NIEBLA ligera                                     # densa · de suelo
  • en ManimGX (o ligero): las mismas piezas dentro del render, sin Blender (rápido). con Cycles, en GPU alquilada (no alquila sin permiso: deja el paquete; MESA_TRESDE_REMOTO=ensayo lo prueba en el Mac).
  • La ficha (python: vecino, o junto a «silla»: python: vecino) es una lámina plantada en el suelo, con altura de persona; lo que está más cerca la tapa; su vista sale de la cámara (si la cámara gira, pasa por sus vistas). Ponla UNA vez por escena: un personaje no caduca y repetirla duplica.
  • La cabecera manda la cámara de verdad: * medio contrapicado de VECINO = travelling a su talla, mirada desde abajo. Los eventos de §3.13 nombran piezas del decorado: > la cámara se acerca a «torre».
  • Rodar: pesado mesa toca p.mesa --motor gx … hace solo las tres pasadas (grabar la cámara, Blender, componer); la caché evita repetir Blender.
  • Exportar: mesa tresde exporta p.mesa -o x.glb|.usd|.blend --pista <vídeo>.camara3d.json.

Lo generativo (cuarta fuente, declarada y congelada):

imagen sintetizada ≈ «nubes de tormenta sobre los tejados»     # → foto: congelada
clip sintetizado de fondo ≈ «la lluvia sobre un tejado de zinc»  # → clip de fondo:

mesa sintetiza p.mesa (simulado por omisión; --proveedor local con SD Turbo, gratis; --proveedor treg --de-pago SOLO si José Luis lo pide: cuesta dinero). Sin congelar, mesa lee da error; el vídeo lo declara en su comment y en <vídeo>.creditos.txt.

Trampas: DECORADO, LUZ principal…, HORA… dentro de un clip es error; un s01 como cabecera no es id (usa s01_01); el ancho de la pluma de ManimGX no se encoge con la distancia (lo resuelve el motor); un modelo importado deja fuera su cámara y sus luces.

EL FÚTBOL · la acción física y la jugada (SPEC §3.20, rama futbol)

Que se vea correr, chutar, parar y marcar. Las acciones son de la ficha (librería manim_saorin/estudio/futbol.py, que publican las fichas de Radiointermisión y cualquier personaje del estudio); el balón, la red, el césped y la grada son de la física del motor (gx/jugada.py). Nada se escribe con números.

REPARTO DELANTERO: celeste, alias: delantero       # quien actúa va al REPARTO (sin voz vale)
REPARTO PORTERO: ambar, alias: portero

* general nadir perfil de delantero · euforico
python: delantero vista=perfil · grande
junto a «delantero»: python: balon actual          # el balón: cualquier pieza balon/pelota/esferico
python: cesped_en_fuga · a sangre                  # el suelo que corre bajo quien corre en el sitio
DELANTERO esprinta                                 # en el sitio, hasta el beat siguiente

* general frontal de portero · euforico
a la derecha: python: porteria · gigante           # la red que se hincha (red, boca, postes)
a la derecha: python: portero vista=frente · grande
a la izquierda: python: delantero vista=perfil · grande
junto a «delantero»: python: balon actual
DELANTERO chuta a «PORTERO»                        # anticipación, contacto, seguimiento; el balón sale en el contacto
PORTERO no llega                                   # espera al balón: vuela cuando llega
> el balón entra en «porteria»                     # la red se hincha, el poste vibra
  • Acciones: corre hasta «X» (pies clavados: la fase la marca lo que avanza), esprinta, regatea, chuta [a «X»], pasa a «X», remata de cabeza [a «X»], hace la chilena [a «X»], despeja a «X», hace una entrada, se desploma, celebra de rodillas, abre los brazos, se besa el escudo, se lamenta, protesta, se incorpora (tras caer al suelo); el portero: se estira, para, no llega, se le escapa.
  • El suelo que corre: cualquier pieza cesped… o estadio_… (salvo el futbolín) va · a sangre y corre bajo quien esprinta en el sitio, a la velocidad de su zancada. Las capas se declaran por el nombre de la parte: corre:FACTOR:PERIODO: PENDIENTE (PERIODO v = la ventana, lo que se ve del decorado; el resto entra al correr) y gira:FACTOR (gira alrededor de su pivote). Una pieza con parte ventana se pone a sangre por su ventana, no por su caja.
  • En Radiointermisión: estadio_cartel amarillo|ultramar|rosa, estadio_vortice, estadio_materia, estadio_futbolin, grada_riso y grada a pluma (NOTAS_FUTBOL.md).
  • El balón sin jugador: el balón vuela hasta «portero», el balón rueda hasta «X», el balón rebota; eventos > el balón bota, > el balón da en el poste, > la red se hincha, > la grada estalla.
  • Lo que va solo: el balón toma la escala del jugador, lo conduce quien corre a su lado, gira, se estira, se aplasta y deja estela de Marey; lo rápido deja ecos y líneas de fuerza en la hoja; el portero se cronometra con el balón.
  • Trampas: un personaje puesto en un beat sigue en la mesa en el siguiente (es del mundo): si el plano nuevo lo vuelve a poner, retira: todo antes; las acciones necesitan que la pieza las declare (mesa lee lo comprueba); · gigante en un jugador protege la cabeza y el pie que golpea.

GÉNEROS Y PRODUCCIÓN · un vídeo para cada género (SPEC §3.19)

Una línea en el preámbulo y el pliego ya sabe qué vídeo es: lienzo, ritmo, duración de plano, subtítulos, sonoridad, pausa, silencio, bucle, zonas seguras, títulos y estructura. El pliego sigue mandando sobre el perfil.

MESA «Cuarenta y dos dobleces»
GÉNERO tiktok                        # tiktok reel short didáctico noticia documental ensayo
                                     # corto videoclip podcast anuncio clase tráiler
                                     # videopoema efeméride tutorial   (mesa géneros)
GÉNERO noticia · de «Laboratorios Saorín · Noticias» · para la tele
LIENZO 9:16                          # el fichero en vertical (o 1:1, 4:5)
IDIOMA en                            # la lengua de lo que se dice y se lee
DATOS datos/cimas.csv                # la fuente de una serie

Las piezas de oficio (líneas de clip):

ecuación: C_n = C_0 \cdot (1 + r)^n          # LaTeX ($…$ = Typst); la siguiente ecuación
                                             # TRANSFORMA a esta: paso a paso
ver: curva desde datos/capital.csv           # también barras y puntos; CSV o JSON
titular: El NIST deja de exigir que cambies tu contraseña
rótulo: David Temoshok · coautor de la guía, NIST
fuente: nist.spdf «SHALL NOT require subscribers to change passwords periodically» · en español «…»
dato: «15» caracteres como mínimo · según nist.spdf «a minimum of 15 characters in length»
cita: «La declaración tal cual» · Nombre, cargo
llamada: Pruébalo gratis · ejemplo.app       # anuncio (con marca.toml)
firma                                        # el cierre de marca
paso: Abre los ajustes                       # tutorial: se numeran solos
audiograma de ANA                            # podcast
  • Una cartela no puede citar lo que la fuente no dice: fuente:, dato: … · según y cita: … · según buscan la frase en el SPDF letra a letra; si no está, mesa lee da error. El SPDF de un PDF: mesa fuente nueva informe.pdf. En noticia y efeméride, toda cifra en pantalla sin fuente es aviso.
  • En vertical la página es una columna sobre los subtítulos palabra a palabra, y nada que se lea cae bajo la interfaz de la app. En redes, la página va desnuda, el beat anterior se va al cortar y el final funde con el principio (bucle).
  • La ortografía la revisa mesa lee en todo lo que se ve y se oye (corrector de español del sistema y reglas de la casa: vídeo, píxel, -ciones sin tilde, ¿ y ¡, la raya pegada al inciso).

Las órdenes de la productora (todas en local; lo pesado, por pesado):

${=MESA} nuevo "Título" --género noticia          # plantilla con // ✎ en cada hueco
${=MESA} serie p.mesa [datos.csv] --rueda         # un vídeo por fila ({campo}, si {campo}:)
${=MESA} variantes p.mesa --rueda                 # variante A: / variante B: (el gancho)
${=MESA} traduce p.mesa en [--maquina]            # la hoja p.en.lengua.json
${=MESA} localiza p.mesa en                       # p.en.mesa + voz en inglés con los tiempos del original
${=MESA} subtitulos v.mp4 --incrusta              # .srt, .vtt y la pista dentro
${=MESA} audiodescribe p.mesa v.mp4               # .ad.vtt, .ad.txt, .ad.mp4 (segunda pista)
${=MESA} accesible v.mp4                          # contraste, destellos, lectura, letra, interfaz
${=MESA} revisa v.mp4                             # notas sobre el fotograma, en el navegador
${=MESA} notas p.mesa --aplica | --hecha n3 | --correo x@y --simula | --importa resp.txt
${=MESA} trailer p.mesa                           # p.trailer.mesa con las tomas del original
${=MESA} deriva v.mp4 --hilo --web --vertical     # el mismo contenido en otras formas
${=MESA} canal canal.toml --rueda                 # el vídeo del día de un canal
  • Las notas de revisión son tareas en el pliego: // NOTA n3 [pendiente] 0:31,5 · Pepe: … bajo la cabecera de su beat. Se aplican, se re-rueda y mesa notas p.mesa --hecha n3. Por correo, siempre BORRADOR (gog).
  • La audiodescripción sale del pliego; para que un dibujo se diga bien, el bestiario declara DESCRIBE = {"torre": "… junto a {junto}"} y, si hace falta, DESCRIBE_VALORES = {"mano": "una mano abierta"}.
  • Trampas: mesa serie no se lanza dentro de pesado (ya pide turno por cada vídeo; anidado se queda esperando); un pliego traducido se rueda con su propio sidecar (p.en.tiempos.json), nunca con el del original; el 3D matemático y los mapas aún no (rama tresde).
  • Ejemplos que se miran: ejemplos/generos/{tiktok,didactico,noticia}.

LAS TOMAS Y LOS PLANOS · una toma de voz, varios planos (SPEC §3.18)

Nació en la v6 de «Radiointermisión» («los planos del estadio son estáticos cuando deberían ser frenéticos»): una toma de diez segundos era un clip y, por tanto, UN plano. Ahora la toma y el plano son dos cosas.

La toma partida en planos: el mismo id de beat en clips SEGUIDOS es la misma toma cortada en planos. Cada clip dice su tramo de la frase, tal cual; entre todos, la toma entera.

* r06_01 medio nadir perfil de delantero · euforico
> seco
python: cesped_en_fuga · a sangre
python: delantero vista=perfil · gigante · cortado por la frente
BLANQUIAZUL: —arranca a correr su delanterogoleador
al decir «arranca»: DELANTERO esprinta

* r06_01 detalle de balon · euforico
> seco
python: balon actual · gigante
BLANQUIAZUL: —con el esférico entre los pies
al decir «esférico»: > la cámara va pegada a «balon»
  • La voz suena una vez, entera, desde el primer plano; cada plano empieza cuando la voz dice su primera palabra, sin pausa entre planos. El compilador los llama r06_01, r06_01_p2… y al decir busca en el tramo de su plano.
  • Un plano que declara su talla (o es cartel) es un CUADRO NUEVO: en el corte se va todo, también personajes y capas. Pon de nuevo lo que quieras ver.
  • El plano no se pasa de su toma: lo que no cabe se aprieta. Escribe > seco en cada plano corto: las piezas están al cortar, sin vuelo de entrada (si no, medio plano es papel vacío).
  • mesa lee avisa («toma partida») si los planos no suman las palabras de la toma.

Dos tomas en una frase: * r15_01+r15_02 … junta dos tomas seguidas del sidecar en un beat (la frase partida: VECINO / LOCUTOR: —Podría haber sido un / partido decepcionante…). Se combina con lo anterior.

Trampas que costaron una tirada:

  • en un plano general las figuras salen pequeñas aunque digas gigante: para el cuerpo grande, medio o americano (el cenital sí, general);
  • un objeto pequeño (el balón) sin tamaño: · grande lo hace del tamaño de un jugador;
  • CÁMARA teleobjetivo dentro de un clip se escribe en pantalla: dentro, > teleobjetivo; PANTALLA PARTIDA dentro de un clip, > se parte la pantalla;
  • PARTITURA · no en la escena no apaga la tira del vecino: en el clip, sin partitura;
  • HORIZONTE se inclina en la cabecera de un capítulo inclina también el patio que viene detrás: ponlo en la escena del estadio, o usa > el horizonte se inclina en el golpe.

LA PELÍCULA · la emulsión física de Tórculo (SPEC apéndice G)

Una línea de preámbulo, para todo el pliego (rueda con --motor gx, y en el metraje):

PELÍCULA Vision3 500T · copia 2383 · 35 mm · gelatina Saorín
PELÍCULA Portra 400 · escaneada · medio formato
PELÍCULA Tri-X · 16 mm · forzada un paso
PELÍCULA Vision3 500T · luz de día · bleach bypass al 50 %
PELÍCULA look «cinestill»
  • El primer trozo es el stock (Vision3 500T, Portra 400, Velvia, Tri-X, HP5, CineStill…; mesa lee dice los que hay) o look «nombre» (cine-de-noche, tungsteno-en-dia, premier, bleach-50, proceso-cruzado, answer-print, telecine, dieciseis, super8, retrato, paisaje, reportaje-bn…).
  • Tras ·, vocabulario cerrado: copia (copia 2383 | copia 2393 | escaneada | telecine | proyectada), formato (8 mm | super 8 | 16 mm | super 16 | 35 mm | 65 mm | paso universal | medio formato | gran formato), gelatina Saorín [delante], luz (luz de día | luz de tungsteno | luz de 4300 K), laboratorio (forzada un paso | dos pasos, subrevelada un paso, bleach bypass [al 30 %], proceso cruzado, con flash), grano y luz (grano fino | grano grueso | sin grano | sin halación | halación fuerte).
  • Sustituye a la bobina en el baño del motor: config.post = [Papel(), Pelicula(…)].
  • En el metraje, REVELADO … · desde s-log3 (o logc3, logc4, canon log 3, v-log, f-log, apple log, i-log…) vale para cualquier log con fórmula publicada; con PELÍCULA, el negativo va en un intermedio ACEScct y la emulsión revela en la GPU (materia revela); con REVELADO de la casa, la gelatina Saorín va sobre la película.

Lasseter sobre lo rodado en gx: mesa lasseter rueda en seco por el motor antiguo y no sirve para un pliego que pide gx. Para medir lo que de verdad se rueda: MESA_CRONOLOGIA=/tmp/x.cronologia.json mesa toca p.mesa --motor gx … y después mesa lasseter p.mesa --cronologia /tmp/x.cronologia.json (el registro apunta cada beat y cada gesto).