尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Run the same interface animation through different easing curves, side by side, and watch where they actually differ. Built because a curve on a graph tells you very little until you see it move a real bottom sheet.
npm run dev # builds, then serves on http://localhost:4173
There is no bundler and no dependencies. npm run build regenerates the two HTML entry
points from src/body.html; everything else is plain ES modules the browser loads directly.
The repository root is the site root: index.html, styles.css and js/ are served as they
are. vercel.json pins the settings, so importing the repo on Vercel needs no changes in the
import screen:
| Setting | Value |
|---|---|
| Root Directory | ./ (leave it alone) |
| Framework Preset | Other |
| Build Command | node build.js |
| Output Directory | . |
| Install Command | none needed, there are no dependencies |
node build.js only regenerates the two HTML entry points from src/body.html. They are
committed, so the site also deploys correctly with the build step disabled.
Vercel builds the repository's default branch as production. From the CLI:
npx vercel # preview deployment
npx vercel --prod # production
Timing curves use the same cubic-bezier solver browsers use: Newton-Raphson with a bisection fallback.
Springs are parameterised by duration and bounce rather than stiffness, damping and mass,
matching SwiftUI's Spring(duration:bounce:) and Motion's spring({ duration, bounce }).
Internally that maps to a damping ratio (1 - bounce when bounce is positive,
1 / (1 + bounce) when negative) and a natural frequency of 2π / duration, then solves the
underdamped, critically damped or overdamped case as needed. Because a spring keeps moving
after its nominal duration, the settle time is found numerically and shown on each card.
Interruptions follow what each kind of animation really does. A reversed CSS transition is shortened by how far it had travelled (the spec's reversing shortening factor) and replays its curve from the start. A spring is re-solved from its current position and velocity towards the new target, which is why it never stutters.
CSS output for springs is a sampled linear()
easing, which is how you run a real spring through a CSS transition.
src/body.html page markup, the single source for both entry points
styles.css tokens and all styling
js/easings.js curve math, the library, code generation
js/motion.js playback over time, and interruption
js/curve.js SVG plotting
js/demos.js the UI blocks inside the phone
js/app.js state, grid, playback clock, tuning bench
build.js writes index.html (standalone) and artifact.html (embedded)
serve.js dependency-free static server
index.html is the standalone page for any static host. artifact.html is the same page
without the document skeleton, for embedding where the host supplies it. Both are generated:
edit src/body.html, not the output.