تغییر شکل از طریق حالتهای رابط کاربری
سریع
از من بپرسید: ۸ تا ۱۲ حالت رابط کاربری که میخواهم شکل به آنها تبدیل شود (مثلاً دکمه، بارگذاری، پخشکننده، اسلایدر، دکمههای تغییر وضعیت، تبها، نمودار، پالت فرمان، تست)، سیاه و سفید خالص یا یک رنگ مکمل، و یک آهنگ بدون حق امتیاز حدود ۱۲۰ BPM (مثلاً میکسکیت، رایگان برای استفاده تجاری). حرکت رابط کاربری در سطح دریبل. یک شکل، بدون برش: هر حالت، عنصر یکسانی است که اندازه، شعاع و رنگ خود را تغییر میدهد در حالی که محتوای آن با یک محوشدگی کوتاه عوض میشود. یک مکاننما هر تغییری را با کلیکها و کشیدنهای واقعی هدایت میکند. بوم خاکستری گرم روشن، اجزای سیاه و سفید، یک فونت رابط کاربری تمیز (Geist). همه جا میپرد، حداکثر یک جهش کوچک. دوربین زوم میکند تا هر حالت قاب را پر کند. آخرین قاب، اولین قاب است، بنابراین حلقه میشود. موارد ممنوع: افکتهای فنری، انفجار ذرات، درخششها، گرادیانها در رابط کاربری کروم، خطوط آیکونهای نامتناسب، زمانهای مرده، هر چیزی که شبیه الگو باشد. ۱۲۰ BPM ، ۷ میزان، در هر ضرب اتفاقی میافتد. دکمه → بارگذار → بررسی → جزیره پویا → پخشکننده موسیقی با ویژگی پخش/مکث → پاک کردن نوار پیشرفت → تبدیل به یک اسلایدر صدا میشود که با کشیدن آن از حداکثر صدا، کشیده میشود → یک دکمه تغییر وضعیت روی ضرب آهنگ میچرخد → دکمه به یک نشانگر تب مایع تبدیل میشود → تبها به صورت نموداری باز میشوند که خودش را رسم میکند و با نگه داشتن ماوس روی آن، یک راهنمای ابزار نمایش داده میشود → به شکل ⌘K درمیآید → تایپ برای فیلتر کردن → ورود → تست → بازگشت به دکمه. ۱. یک فایل HTML ، مربعی ۱۴۴۰x۱۴۴۰. هر استایل از زمان درون seek(t) محاسبه میشود: بدون انتقال CSS ، بدون تایمر، بدون حالت بین فریمها. ۲. فنرها پاسخهای پلهای با فرم بسته هستند. مقداری که هدف را بارها تغییر میدهد، مجموع یک فنر در هر تغییر است، بنابراین تابع محض زمان باقی میماند. ۳. دو لبه نشانگر زبانه دارای فنرهای متفاوتی هستند، بنابراین لبه جلویی جلوتر از لبه پشتی کشیده میشود. همین ترفند برای دکمه ضامن نیز صادق است. ۴. کشیدنها (drags) دستکاری مستقیم هستند: در حالی که مکاننما نگه داشته میشود، مقدار از موقعیت آن محاسبه میشود. با رها کردن، از هر جایی که بود، به حالت اولیه خود برمیگردد. ۵. آهنگ را با استفاده از numpy برای شبکه ضرب آهنگ تجزیه و تحلیل کنید و با یک ضرب آهنگ پایین شروع کنید. هر صدای رابط کاربری را بر اساس اوج اندازهگیری شده آن قرار دهید. ۶. رندر با Playwright: ۴ سابفریم در هر فریم، ترکیب شده با ffmpeg tmix برای تاری حرکت با سرعت ۶۰ فریم در ثانیه. ۷. قبل از رندر کامل، به ازای هر ضربآهنگ، یک فریم رندر بگیرید. هر چیزی که خارج از شبکه، تنگ یا ناخوانا است را اصلاح کنید. هرگز روی چیزی که دوربین تغییر اندازه میدهد یا متن را تار میکند، 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
- منتشر شده
یه ویدیو اینجوری بساز
با افزونهی گوگل Chrome ما، خودتان ویدیوهایی مثل این بسازید—۷ برابر ارزانتر از API.. با 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