docs: launch asset set (GIFs, screenshots, logo lockup) + shared capture pipeline - #53
Merged
Conversation
Adds the Phase 2 launch-asset GIFs (wall-sit, jumping-jacks, jab-cross, dead-bug) in docs/launch-media/, rendered from the real playground. Extracts the capture core into scripts/lib/gif-capture.mjs (with an optional per-target vertical crop anchor) so the README pipeline (capture-gifs.mjs) and the new launch pipeline (capture-launch-gifs.mjs) share one implementation.
Phase 2 "static images" set, all rendered from the real playground at 2x:
- docs/launch-media/play-{desktop,transport,mobile}.png — editor+viewer,
transport close-up, and mobile viewport of /play (jumping-jacks hero frame)
- docs/brand/posecode-logo{,-dark}.png — logo lockup (lime figure + Pose/code
wordmark in Hanken Grotesk) on transparent and ink backgrounds
Adds scripts/capture-screenshots.mjs and scripts/capture-logo.mjs, and
extends scripts/lib/gif-capture.mjs with a shared bootPlayground/gotoDoc
helper (the GIF core now reuses it, so there is one boot path).
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds the Phase 2 "launch ammunition" — a set of shareable visual assets rendered directly from the real playground, plus the tooling to regenerate them. No product/source code changes; this is docs + capture scripts only.
Assets added
docs/launch-media/):wall-sit,jumping-jacks,jab-cross,dead-bug— tight looping clips, all <3MB.jumping-jacks(the Mixamo clip) is the lead/"money" GIF.docs/launch-media/):play-desktop.png(editor+viewer),play-transport.png(transport close-up),play-mobile.png— all rendered at 2× device scale.docs/brand/):posecode-logo.png(transparent) andposecode-logo-dark.png(ink bg) — the lime figure glyph + Pose/codewordmark in the real brand font (Hanken Grotesk), for profiles / Product Hunt / decks.Tooling added / changed
scripts/lib/gif-capture.mjs— extracted the capture core into a shared lib with a reusablebootPlayground/gotoDochelper and an optional per-target vertical crop anchor.scripts/capture-gifs.mjs— refactored into a thin wrapper over the shared lib (behaviour unchanged; still emits the README GIF set).scripts/capture-launch-gifs.mjs— new entry point for the launch GIF set →docs/launch-media/.scripts/capture-screenshots.mjs— new: the three/playscreenshots at 2×.scripts/capture-logo.mjs— new: the two logo lockups.Why
The project is visual, so the visuals are the marketing. Rendering every asset from the live playground (headless Chromium driving the real Three.js viewer) guarantees they stay pixel-identical to what visitors see — there's no second render path to drift out of sync. Consolidating onto one capture core means future asset refreshes are a single command.
Type of Change
Regenerate
Checklist
npm run typecheckpasses.mjsscripts + image assets onlynpm run build/npm test— not run (no TypeScript/source changes; scripts are standalone dev tooling)Reviewer notes: the capture scripts require a Playwright Chromium binary (resolved via
POSECODE_CHROMIUM/PLAYWRIGHT_BROWSERS_PATH, falling back toplaywright-core). They are manual dev tools, intentionally not part ofnpm run build.