שינוי צורה בין מצבי ממשק משתמש
לְעוֹרֵר
בקשו ממני: 8 עד 12 מצבי ממשק משתמש שאני רוצה שהצורה תהיה (למשל כפתור, טוען, נגן, מחוון, כפתור דו-מצבי, טאבים, תרשים, לוח פקודות, טוסט), שחור ולבן טהור או צבע הדגשה אחד, ושיר ללא תמלוגים בקצב של כ-120 BPM (למשל Mixkit, חינמי לשימוש מסחרי). תנועת ממשק משתמש ברמת דריבבל. צורה אחת, לעולם לא גזורה: כל מצב הוא אותו אלמנט שמשנה את גודלו, רדיוסו וצבעו, בעוד שתוכנו משתנה בטשטוש קצר. סמן מניע כל שינוי באמצעות לחיצות וגרירות אמיתיות. בד קנבס אפור חם בהיר, רכיבים בשחור-לבן, גופן ממשק משתמש נקי אחד (Geist). קפיצים בכל מקום, חריגה זעירה לכל היותר. המצלמה מתקרבת כך שכל מצב ממלא את הפריים. הפריים האחרון הוא הפריים הראשון, כך שהיא עוברת בלולאה. אסור: הפחתה קופצנית, התפרצויות חלקיקים, זוהר, מעברי צבע בכרום של ממשק המשתמש, משיכות אייקונים לא תואמות, זמן מת, כל דבר שנראה כמו תבנית. 120 BPM, 7 תיבות, משהו קורה בכל פעימה. כפתור ← טוען ← בדיקה ← אי דינמי ← נגן מוזיקה עם צורת הפעלה/השהיה ← שפשוף סרגל ההתקדמות ← הוא הופך למחוון עוצמת קול שנמתח כשגוררים אותו מעבר למקסימום ← כפתור המתהפך בקצב ← הכפתור הופך למחוון טאב נוזלי ← הטאבים נפתחים לתרשים שמצייר את עצמו, עם תיאור כלי בריחוף ← הוא קורס ל-⌘K ← הקלד לסינון ← אנטר ← טוסט ← חזרה לכפתור. 1. קובץ HTML אחד, ריבועי 1440x1440. כל סגנון מחושב לפי הזמן בתוך seek(t): אין מעברי CSS, אין טיימרים, אין מצב בין פריימים. 2. קפיצים הם תגובות צעד סגורות. ערך שמשתנה את היעד פעמים רבות הוא סכום של קפיץ אחד לכל שינוי, כך שהוא נשאר פונקציה טהורה של זמן. 3. שני הקצוות של מחוון הלשונית רוכבים על קפיצים שונים, כך שהקצה הקדמי נמתח לפני הקצה האחורי. אותו טריק לגבי כפתור ההפעלה. 4. גרירות הן מניפולציה ישירה: בזמן שהסמן מוחזק, הערך מחושב ממיקומו. עם שחרורו הוא קופץ חזרה מהמקום בו היה. 5. נתחו את השיר בעזרת numpy עבור רשת הביט והתחלו על פעימה למטה. מקמו כל צליל ממשק משתמש לפי השיא הנמדד שלו. 6. רינדור עם Playwright: 4 תת-פריימים לכל פריים, מעורבבים עם ffmpeg tmix לטשטוש תנועה ב-60fps. 7. בצעו רינדור של פריים אחד לכל פעימה לפני הרינדור המלא. תקנו כל דבר מחוץ לרשת, צפוף או קשה לקריאה. לעולם אל תשתמשו באפשרות will-change על שום דבר שהמצלמה מטשטשת או שהטקסט מטושטש. טקסט שמשתנה בתוך מיכל מורפינג זקוק לתזמון כניסה ויציאה משלו או שהוא חופף. ודאו שהפריים האחרון זהה לראשון, כולל מיקום הסמן ומהירותו, אחרת הלולאה תגמגם. בקשו ממני את הקלט, לאחר מכן הראו לי את רשימת המצבים ברשת הפעימות לפני שאתם כותבים קוד כלשהו.
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.
ההנחיה נלקחה מ שֶׁלְאַחַר @twoclipping.
- דֶגֶם
- Opus 5.5
- לַעֲרוֹם
- HTML + Playwright
- פורסם
תעשה סרטון כזה
צרו סרטונים כאלה בעצמכם - פי 7 זולים יותר מה-API - בעזרת התוסף שלנו לגוגל Chrome.. עובד עם Claude דרך MCP: אתה מתאר את המשימה, וההרחבה מטפלת בתהליך היצירה מההנחיה ועד לקובץ המוגמר. היא מייצרת סרטונים, מרכיבה אותם, משמיעה אותם ומתרגמת אותם.
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