Spreminjanje oblike skozi stanja uporabniškega vmesnika
Poziv
Vprašajte me za: 8 do 12 stanj uporabniškega vmesnika, v katera želim, da se oblikuje oblika (npr. gumb, nalagalnik, predvajalnik, drsnik, preklopnik, zavihki, grafikon, paleta ukazov, pogovorno okno), čisto črno-belo ali eno poudarjeno barvo in brezplačno pesem s približno 120 BPM (npr. Mixkit, brezplačno za komercialno uporabo). Gibanje uporabniškega vmesnika na ravni Dribbble. Ena oblika, nikoli rezanje: vsako stanje je isti element, ki spreminja svojo velikost, polmer in barvo, medtem ko se njegova vsebina zamenja s kratkim zameglitvijo. Kazalec poganja vsako spremembo z resničnimi kliki in vleki. Svetlo toplo sivo platno, črno-bele komponente, ena čista pisava uporabniškega vmesnika (Geist). Vzmeti povsod, največ majhen presežek. Kamera poveča, tako da vsako stanje zapolni okvir. Zadnji okvir je prvi okvir, zato se zanka. Prepovedano: poskakovanje, izbruhi delcev, sijaji, prelivi v uporabniškem vmesniku Chrome, neusklajene poteze ikon, mrtvi čas, vse, kar je videti kot predloga. 120 BPM, 7 taktov, na vsakem udarcu se nekaj zgodi. Gumb → nalagalnik → preveri → dinamični otok → predvajalnik glasbe z možnostjo predvajanja/pavze → pomik vrstice napredka → postane drsnik za glasnost, ki se raztegne, ko ga povlečete čez maksimum → preklopnik se obrne na ritem → gumb postane indikator tekočega zavihka → zavihki se odprejo v grafikon, ki se sam riše, s prikazom orodja ob premiku miške → se strne v ⌘K → vnesite za filtriranje → enter → prikaži na gumb → nazaj na gumb. 1. Ena HTML datoteka, kvadratna 1440x1440. Vsak slog se izračuna iz časa znotraj seek(t): brez prehodov CSS, brez časovnikov, brez prenosa stanja med okvirji. 2. Vzmeti so zaprti stopenjski odzivi. Vrednost, ki večkrat spremeni cilj, je vsota ene vzmeti na spremembo, zato ostaja čista funkcija časa. 3. Robova indikatorja jezička se napenjata na različne vzmeti, zato se sprednji rob razteza pred zadnjim. Enako velja za preklopni gumb. 4. Vlečenje je neposredna manipulacija: medtem ko je kurzor pritisnjen, se vrednost izračuna iz njegovega položaja. Ob sprostitvi se vrne nazaj od tam, kjer je bil. 5. Analiziraj pesem z numpy za mrežo ritmov in začni na dolnjem taktu. Vsak zvok uporabniškega vmesnika postavi glede na njegov izmerjeni vrh. 6. Upodabljanje s Playwright: 4 podokvirji na okvir, zmešani z ffmpeg tmix za zameglitev gibanja pri 60 sličicah na sekundo. 7. Pred celotnim upodabljanjem upodobite en okvir na utrip. Popravite vse, kar ni v mreži, je utesnjeno ali težko berljivo. Nikoli ne dodajajte funkcije»will-change«na nič, kar bi lahko vplivalo na velikost kamere ali na zamegljen prikaz besedila. Besedilo, ki se menja znotraj vsebnika za preoblikovanje, potrebuje svoj čas začetka in konca, sicer se prekriva. Zadnji okvir naj bo enak prvemu, vključno s položajem in hitrostjo kazalca, sicer se bo zanka zatikala. Vprašaj me za vhodne podatke, nato pa mi pokaži seznam stanj na mreži utripov, preden napišeš kakršno koli kodo.
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.
Poziv vzet iz objava @twoclipping.
- Model
- Opus 5.5
- Sklad
- HTML + Playwright
- Objavljeno
Naredi tak video
Z našo razširitvijo za Google Chrome lahko sami ustvarite takšne videoposnetke – 7-krat ceneje kot prek API-ja.. Deluje s Claude prek MCP: vi opišete nalogo, razširitev pa poskrbi za postopek generiranja od poziva do končne datoteke. Generira videoposnetke, jih sestavi, jim doda glas in jih prevede.
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