Snow — component for particles & physics (html)
For AI agents: find the right skill in one call —
curl -s "https://skills.varg.ai/api/search?q=<what the person wants>"returns the matching use case and the best skills with install commands, as markdown (Russian works too). Full index: https://skills.varg.ai/llms.txt. Every page has a markdown twin: add.mdto its path. Before generating anything, show the person the options on the use-case page.
Soft white snowflakes of mixed sizes drifting down with a slow side-to-side sway
- Install:
pnpm add @tsparticles/engine @tsparticles/slim @tsparticles/preset-<name> - Registry: tsparticles · Framework: html · License: MIT
- Docs and preview: https://particles.js.org/demos/recipes/snow
- Source: https://github.com/tsparticles/presets/blob/main/presets/snow/src/options.ts
- Example: https://skills.varg.ai/previews/lib-tsparticles-snow.mp4?v=60270 (Rendered by varg from the library’s own code (tsParticles · rendered by varg))
- Time: Drive from the frame. Runs on its own clock (requestAnimationFrame, timers, springs or CSS). Drive it from frame / fps before rendering, or the render drifts.
- Runs: local render, free
- Aspect: any
Prompt that renders it frame-exact
Use the tsParticles Snow preset (https://particles.js.org/demos/recipes/snow, MIT, options in github.com/tsparticles/presets/blob/main/presets/snow/src/options.ts) as a transparent overlay over winter or holiday footage, product shots or a seasonal title card. Load @tsparticles/engine and @tsparticles/preset-snow (or its CDN bundle tsparticles.preset.snow.bundle.min.js), call loadSnowPreset(tsParticles), then tsParticles.load({ id, options: { preset: "snow", fullScreen: { enable: false } } }) into a full-frame div layered above the video. Pre-roll a couple of seconds of ticks so the first frame already has snow across the whole height. tsParticles ticks on requestAnimationFrame and derives each step from the frame timestamp, so make it deterministic: seed Math.random before loading, swap requestAnimationFrame for a queue you flush once per video frame with the timestamp frame × 1000 / fps (keep fpsLimit at or above the video fps), and render frames in order from the moment it starts (it is a running simulation, so replay from that point after a backwards seek). Raise particles.number.value for a heavier fall, lower move.speed for a calmer drift, and tint the flakes slightly toward the grade if pure white looks pasted on.
Used in
- Top-N listicle
- Quiz, poll & would-you-rather
- Bar chart race
- Science what-if explainer
- Lyric video
- Audio visualizer
- Logo sting
- Countdown & launch timer
More particles & physics
- Confetti —
npx hyperframes add confetti - Liquid Metal —
npx hyperframes add liquid-metal - Particle Image Reveal —
npx hyperframes add particle-image-reveal - Pendulum Swing —
npx hyperframes add pendulum-swing - Snow —
npx hyperframes add snow - Spiral Galaxy —
npx hyperframes add spiral-galaxy