video-3d
Skill2 starsChanged 23 days agoMITView on GitHub
Renders real 3D for any code-built video: three.js scenes inside HyperFrames, deterministic (every frame a pure function of t). Covers cameras (rails, ortho, dolly zoom, shake, cuts), extrusion, lathe, 3D text, lines, physical materials, HDRIs, baked AO, every EffectComposer pass (AO, DOF, AA, grain, LUT, glitch, SSR, motion blur), looks (ASCII, toon, halftone, dither, CRT, pixel art, ink), particles and GPU compute, baked physics and cloth, glTF models and animation, screens and image sequences, data maps and graphs, audio-driven visuals, DOM/GSAP/alpha compositing and WebGPU, each with a tested status. An executor under video-studio. Use when a film needs volume, light, depth, element counts or a rendered look that CSS 3D cannot give. Triggers: "3D", "three.js", "WebGL", "WebGPU", "3D logo", "logo sting", "globe", "particles", "shader", "3D scene", "ASCII", "glTF".
1 other project uses a version of this.
Adopted by
Most recently taken up by
- tymoshenko-dmytro/claude-marketing-skillsword for word, first seen Nov 1, 2026
Other versions1 project uses a version of this.
Word for word · 1
- tymoshenko-dmytro/claude-marketing-skills★ 2100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository19 other files it gives its agents.
- ads-parserSkill
- ads-video-librarySkill
- ahrefsSkill
- competitor-researchSkill
- connectSkill
- funnel-screenshotsSkill
- ga4-reportsSkill
- gsc-insightsSkill
- image-genSkill
- parallel-researchSkill
- plain-copySkill
- seoSkill
- seo-tech-auditSkill
- video-buildSkill
- video-checkSkill
- video-generatedSkill
- video-movesSkill
- video-soundSkill
- video-studioSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 65
If flat layers can do it, prefer CSS: cheaper, check can see it, text stays DOM.
- Very specific: line 96
Start from assets/scene-skeleton/ (index.html + assets/scene.js): a seek-driven renderer with camera helpers and a try/catch renderAt.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
video-3d
The lane for films where flat cards in space (video-moves' CSS 3D) are not enough: solids, light, real depth and occlusion, huge element counts, a rendered look. HyperFrames seeks frames out of order in parallel workers, so every visual state is computed from t alone.
Proven by private test films (they do not ship; their numbers, traps and fixes are in the references).
Four finished looks: a logo film (extruded logo, PBR, lock-up landing), a globe film (15k dots, draw-on
arcs, labels), a particles film (64k particles from a voice morphing into words), an ASCII film (a scene
as glyphs, words resolving out of it). Seven capability reels (2026-10-14, one capability per section):
materials, post, styles, models, camera-text, data, WebGPU. The labels are explained in the legend of
references/capabilities.md.
video-studio orchestrates the film and its laws (../video-studio/references/laws.md, Picture: motion
has a cause, no frozen holds, every frame postable, readable text); video-moves owns camera grammar
(../video-moves/scripts/camera-kit.js); video-sound the sound; video-check the gates. Colours come from
the film being made - no brand or film content is baked into this skill.
Input: the film's brief.md (../video-studio/references/brief.md). It owns copy, claims, tone,
material, moments and private data; this skill owns the implementation. If the brief cannot be
met, say so to video-studio - never change it silently.
Requirements
- HyperFrames CLI ≥ 0.8.156 (tested on 0.8.156; pin it in the film's
package.json) and a GPU-capable browser for the render (--browser-gpu). WebGPU films need a hardware adapter. SwiftShader (--no-browser-gpu) renders WebGL only, ~6-10x slower. - three.js 0.181.2 (r181), loaded from jsdelivr through an import map (
three,three/addons/; WebGPU films alsothree/webgpu,three/tsl) - every recipe assumes this version. Other pins the recipes use: troika-three-text 0.52.4, d3-force 3.0.0,@dimforge/rapier3d-compat0.19.3 (bakes in Node), world-atlas 2.0.2 (maps). - Node 22+ for the Node tools (
build-map.mjs,seek-order-test.mjs, your bakes). The seek-order test uses puppeteer-core and HyperFrames' cached chrome-headless-shell (it finds them in the npx cache). - Python 3 with numpy and Pillow, plus ffmpeg, for the QA scripts.
- The upstream
hyperframesskills (heygen-com/hyperframes) and the sibling video skills.
When 3D, when CSS
| The film needs | Use |
| a card or a screenshot moving in space; parallax between flat layers | video-moves (CSS 3D, camera-kit.js) |
| an object with thickness, bevels, glass or metal, a shadow; a logo as an object | object / materials recipes |
| points, arcs, labels on a globe; bars, maps, graphs, terrain from data | data in space / data maps recipes |
| thousands to millions of moving elements, morphs, glow, shader grounds | particles; WebGPU counts above ~8M |
| a rendered look: glyphs, toon, print, dither, CRT, pixel art, ink | ASCII / looks recipes |
| grading, DOF, AO, grain, glitch, reflections, motion blur | post chain recipe |
| a character, a model, a fall, cloth, a flock | models and baked sims recipe |
| a device with a live screen, 3D text, footage plates, a 3D layer with alpha | screens and compositing recipe |
If flat layers can do it, prefer CSS: cheaper, check can see it, text stays DOM.
What is proven
references/capabilities.md is the catalogue: every useful capability by area (17 areas), how to keep
it deterministic, traps, sketches, measured costs and a status - proven (film), proven, partial
(film): what or never (not seek-safe as shipped, with the replacement). Only rendered capabilities are
listed; the legend names what was left out (Gaussian splats, fracture, fluids, lightmaps, cascaded
shadows, stencil portals, most WebGPU post). All proofs ran on the GPU path; SwiftShader was checked only
in part. Never: GlitchPass, AfterimagePass, TAA/TRAA accumulation, VideoTexture, physics stepping in
the page.
Anything not in the catalogue: render a 3-5 s probe and run the determinism protocol before promising it, then add it to capabilities.md with the probe film as its status.
Recipes and code
references/recipes.md - eleven proven kinds of scene with the pieces to lift. Reusable code, each
folder with a README: assets/recipes/ascii/ (glyph pass), looks/ (toon hull, Sobel ink, halftone,
dither, CRT, ink and paper, wipe), post/ (seeded AO, grain hash, SMAA wait, sub-frame motion blur,
presenter, seeded glitch), materials/ (lathe vessels, GPU AO baker), models/ (seek-safe mixer, baked
rigid bodies and VAT cloth), compositing/ (sub-composition time, alpha export), data/ (map builder,
GPGPU replay/bake), webgpu/ (film clock, node frame, atomic density splat), qa/ (seek-order test,
per-section comparison, blank/frozen check, exact shimmer).
Build
references/contract.mdfirst - binding: the page (build hold, warm-up, visible failures, sub-compositions), time (everything from t, integer-frame decisions, seeded libraries, no frozen ends), picture (supersampling, culling, lines, text, colour, banding), post-processing, models and animation, render (determinism protocol, backends, bitrate), WebGPU.- Start from
assets/scene-skeleton/(index.html + assets/scene.js): a seek-driven renderer with camera helpers and a try/catchrenderAt; fill inbuild()andrenderAt(t). - Take the recipe and the capability entries the film needs; lift code from
assets/recipes/first, and write the rest from the recipe and the capability entries. - Camera moves and story time from video-moves (the same math; copy what you need into the module).
- Light for the medium: measure hero colours (PBR) or cell luminance (glyph and grid looks) on a rendered frame before judging.
Check
references/qa-3d.md: hyperframes check is a lint only (it cannot see a canvas). Snapshots at every
state change; the determinism protocol (--workers 4 vs --workers 1 - auto is one worker for ≥ 900
frames - plus the in-page shuffled/reverse seek-order test, PNGs per section when checksums differ);
blank/magenta/frozen output; 1:1 crops; chunk seams; banding on the encoded file; hero colours;
shimmer tools for quantised looks. Pin --browser-gpu (or --no-browser-gpu) for a deliverable and
never mix the two. Then video-check's gates and its independent review.
Adapt it
- Your palette and brand objects: set the
--film-*tokens from each film's brief, keep your logo SVGs, product models and fonts in one folder that films copy in, and measure your brand colours once under the light and tone mapping you use (capabilities.md3) - write the numbers down. - Your GPU and backend per deliverable: choose
--browser-gpu(WebGL or WebGPU) or--no-browser-gpu(WebGL only) for each deliverable, write it into the render command, and never mix chunks. The costs here were measured on an M1 Max; time one film on your machine before you plan a long render. - Adding a capability: render a 3-5 s probe film, run the determinism protocol and the seek-order test
(
qa-3d.mdstep 3), then add an entry tocapabilities.mdwith its status, traps and costs, under a label for your probe film in the legend. - Your asset policy: which sources and licences you accept, and whether the agent may download free
assets without asking (
capabilities.md16). - Upgrading three.js or HyperFrames: re-render one film per recipe you use and re-check the private
node-frame API (
contract.md, WebGPU) before you move the pins.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

