Bucle de estados de interfaz de usuario en transformación
Inmediato
Pídeme lo siguiente: de 8 a 12 estados de interfaz de usuario en los que quiero que se convierta la forma (por ejemplo, botón, cargador, reproductor, control deslizante, interruptor, pestañas, gráfico, paleta de comandos, notificación emergente), blanco y negro puro o un color de acento, y una canción libre de derechos de autor de alrededor de 120 BPM (por ejemplo, Mixkit, gratuita para uso comercial). Animación de interfaz de usuario al estilo Dribbble. Una sola forma, nunca cortada: cada estado es el mismo elemento que cambia de tamaño, radio y color mientras su contenido se intercambia con un breve desenfoque. Un cursor controla cada cambio con clics y arrastres reales. Lienzo gris cálido claro, componentes en blanco y negro, una fuente de interfaz de usuario limpia (Geist). Muelles por todas partes, con un ligero sobreimpulso como máximo. La cámara hace zoom para que cada estado llene el fotograma. El último fotograma es el primero, por lo que se repite en bucle. Prohibido: animaciones con rebote, explosiones de partículas, brillos, degradados en la interfaz de usuario, trazos de iconos que no coinciden, tiempos muertos, cualquier cosa que parezca una plantilla. 120 BPM, 7 compases, algo sucede en cada tiempo. Botón → cargador → comprobar → isla dinámica → reproductor de música con transformación de reproducción/pausa → deslizar la barra de progreso → se convierte en un control deslizante de volumen que se estira al arrastrarlo más allá del máximo → un interruptor cambia al ritmo → la perilla se convierte en un indicador de pestaña líquida → las pestañas se abren en un gráfico que se dibuja a sí mismo, con una información sobre herramientas al pasar el ratón por encima → se colapsa en ⌘K → escribir para filtrar → enter → toast → volver al botón. 1. Un archivo HTML, cuadrado de 1440x1440. Cada estilo se calcula a partir del tiempo dentro de seek(t): sin transiciones CSS, sin temporizadores, sin estado que se mantenga entre fotogramas. 2. Los resortes son respuestas escalón de forma cerrada. Un valor que cambia el objetivo muchas veces es la suma de un resorte por cada cambio, por lo que sigue siendo una función pura del tiempo. 3. Los dos bordes del indicador de pestaña se deslizan sobre resortes diferentes, por lo que el borde delantero se estira por delante del trasero. El mismo truco se aplica al botón de palanca. 4. El arrastre es una manipulación directa: mientras se mantiene pulsado el cursor, el valor se calcula a partir de su posición. Al soltarlo, vuelve a su posición original. 5. Analiza la canción con NumPy para obtener la cuadrícula de ritmos y comienza en el primer tiempo. Coloca cada sonido de la interfaz de usuario según su pico medido. 6. Renderizado con Playwright: 4 subfotogramas por fotograma, mezclados con ffmpeg tmix para desenfoque de movimiento a 60 fps. 7. Renderiza un fotograma por compás antes del renderizado completo. Corrige cualquier elemento que esté fuera de la cuadrícula, demasiado apretado o difícil de leer. Nunca apliques la propiedad `will-change` a nada que la cámara modifique, ya que el texto se verá borroso. El texto que cambia dentro de un contenedor con transformación necesita su propio tiempo de entrada y salida, de lo contrario se superpondrá. Asegúrate de que el último fotograma sea idéntico al primero, incluyendo la posición y la velocidad del cursor, o el bucle se entrecortará. Pídeme los datos de entrada y luego muéstrame la lista de estados en la cuadrícula de ritmos antes de escribir cualquier código.
Ask me for: 8 to 12 UI states I want the shape to become (e.g. button, loader, player, slider, toggle, tabs, chart, command palette, toast), pure black and white or one accent color, and a royalty-free song around 120 BPM (e.g. Mixkit, free for commercial use).
Dribbble-level UI motion. One shape, never cut: every state is the same element morphing its size, radius and color while its content swaps with a short blur. A cursor drives every change with real clicks and drags. Light warm-gray canvas, black and white components, one clean UI font (Geist). Springs everywhere, a tiny overshoot at most. The camera zooms so each state fills the frame. The last frame is the first frame, so it loops.
Banned: bouncy easing, particle bursts, glows, gradients on UI chrome, mismatched icon strokes, dead time, anything that looks like a template.
120 BPM, 7 bars, something happens on every beat.
Button → loader → check → dynamic island → music player with a play/pause morph → scrub the progress bar → it becomes a volume slider that stretches when dragged past max → a toggle flips on the beat → the knob becomes a liquid tab indicator → the tabs open into a chart that draws itself, with a tooltip on hover → it collapses into ⌘K → type to filter → enter → toast → back to the button.
1. One HTML file, square 1440x1440. Every style is computed from time inside seek(t): no CSS transitions, no timers, no state carried between frames.
2. Springs are closed-form step responses. A value that changes target many times is the sum of one spring per change, so it stays a pure function of time.
3. The tab indicator's two edges ride different springs, so the leading edge stretches ahead of the trailing one. Same trick for the toggle knob.
4. Drags are direct manipulation: while the cursor is held, the value is computed from its position. On release it springs back from wherever it was.
5. Analyze the song with numpy for the beat grid and start on a downbeat. Place every UI sound by its measured peak.
6. Render with Playwright: 4 subframes per frame, blended with ffmpeg tmix for motion blur at 60fps.
7. Render one frame per beat before the full render. Fix anything off the grid, cramped or hard to read.
Never put will-change on anything the camera scales or the text renders blurry. Text that swaps inside a morphing container needs its own enter and exit timing or it overlaps. Make the last frame identical to the first, cursor position and speed included, or the loop stutters.
Ask me for the inputs, then show me the state list on the beat grid before you write any code.
Mensaje tomado de correo @demonugc.
- Modelo
- Opus 5.5
- Pila
- HTML, Playwright
- Publicado
Haz un vídeo como este
Crea vídeos como estos tú mismo —7 veces más barato que la API— con nuestra extensión para Google Chrome.. Funciona con Claude a través de MCP: usted describe la tarea y la extensión se encarga del proceso de generación, desde la solicitud hasta el archivo final. Genera vídeos, los ensambla, les añade voces y los traduce.
Automation — MCP для Google Flow, Google Vids и Claude
TikTok Symphony Creative Studio MCP Claude Code
SeedFlow — Seedance 2.5 в Dreamina, Qwen-Audio-3.1-TTS и Claude MCP