Repository navigation
Releases: Cottzz/product-trailer
Release list
v0.1.0 — first public beta
v0.1.0 — first public beta
Turn any GLB device model with a screen (laptop, phone, monitor, tablet) plus
any screen content (a terminal session, a scrolling landing page, app UI) into
a ~30-second cinematic product trailer — delivered two ways:
- Single self-contained HTML — zero dependencies, double-click to play
(works overfile://; three.js r128 pinned). - Deterministic MP4 — headless Chrome frame-stepping via CDP
(window.__PT.seek(t)) + OfflineAudio mix + ffmpeg; portrait 1080×1920 and
landscape 1920×1080 @ 30fps.
▶ Watch the gallery: https://cottzz.github.io/product-trailer/gallery/
Highlights
- Three contracts —
model.manifest.json(model source: builtin
procedural / inline base64 / external GLB; normalization; screen mesh),
storyboard.json(duration, spherical camera keyframes, fades), and a
PTContent module (purebuildState(t),drawScreen, theme, overlay,
dual-path audio). - Two content templates —
terminal(cinematic shell boot session) and
web-scroll(auto-scrolling mock-browser landing page with a DOM-overlay
finale). - Procedural built-in models — stylized laptop and phone generated
in-repo: no external assets, no trademark or redistribution risk. Bring
your own GLB (uncompressed glTF) via the calibration playground
(calibrate/). - Determinism gates — 44-check acceptance suite (2 templates × 2
orientations × 11 checks): byte-identical double renders, seek-per-frame
capture, OfflineAudio integrity. - Agent-ready — root
SKILL.mdinstallable via
npx skills add Cottzz/product-trailerfor Claude Code / Codex / Trae.
Self-produced launch trailer
The dogfood trailer attached below was built by product-trailer itself
(terminal template, builtin laptop model) — vertical and horizontal cuts,
poster frame, and the self-contained HTML player.
Model licensing note
Third-party or branded models (e.g. a MacBook GLB under Sketchfab Standard)
may be used for local renders and can appear in exported videos, but their
source files must never be committed or redistributed. Keep them in the
git-ignored models/local/ — see models/ATTRIBUTION.md.
Full Changelog: https://github.com/Cottzz/product-trailer/commits/v0.1.0
Gallery media (rolling)
Pre-rendered demo trailers for the gallery preview wall (F6: media hosted as Release assets, never in git).
Contents per example (dogfood = self dogfooding terminal trailer, sellerscope = SellerScope terminal demo, landing = web-scroll template):
- -vertical.mp4 1080x1920 @ 30fps
- -horizontal.mp4 1920x1080 @ 30fps
- -poster-1..4.jpg
- .html self-contained live HTML cut (double-click to play, file:// OK)
Regenerate with tools/pt_render_materials.sh.