Repository navigation
feat(website): add the nostream 3.3.0 release film - #812
Merged
Merged
Conversation
A 40 s operator-focused cut (1200 frames at 30 fps, 1920x1080) in the same visual dialect as the website hero, composed in website/hero-animation/src/release-film.ts and rendered headlessly by the new src/release-render.ts entry point. Story: a relay that is slow under load and the user-visible consequence -> the throttled client, where the OK carries the wait so it stops guessing and retrying on a clock it invented -> the operator at 3am, where NIP-11 and the relay's actual behaviour disagree and the dashboard flags the drift -> sign-off over the planet. Scene boundaries are frames 0 / 150 / 540 / 760 (PROBLEM, WAIT, DOCS, CLOSE). Adds render:release, render:release:small and frames:release scripts, and a Release film section to the package README. Verified: pnpm run typecheck passes; pnpm run frames:release rendered frames 0/150/540/760/1199 on the GPU render path.
🦋 Changeset detectedLatest commit: 944f7d4 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
…, sample visible frames Three findings from review, each verified against the hero before changing it: - The sparkle halo animated on the planet's raw y keys, overriding its own `y: 1150 - haloOffset` start, so during playback it sat haloOffset (237.5 px) below the planet it is meant to wrap. film.ts subtracts haloOffset on every animated key; this now does the same. - The Composition was built without `fonts`, unlike film.ts. Text metrics then depend on whatever the host happens to have installed; the render's own assets are already produced by `pnpm run setup`, which fetches Inter and JetBrains Mono, so they are registered explicitly. - `frames:release` sampled each scene exactly at its cut, after the outgoing scene has faded out and before the incoming one appears — frame 0 rendered as the bare dot grid. It now samples inside each scene (60 / 300 / 650 / 1000) plus the end card at 1199, matching how the hero's own `frames` script picks its stills. Verified: `pnpm run typecheck` clean, and `pnpm run frames:release` re-rendered all five stills on the GPU render path — frame 60 now shows the PROBLEM scene in full, and frame 1199's halo is centred on the planet.
The two sizes came from the pre-fix render (very high ~12 MB, low ~1.7 MB). Re-rendering from the fixed sources gives ~14 MB and ~2.3 MB.
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.
Adds the nostream 3.3.0 release film — a 40 s operator-focused cut (1200 frames at 30 fps, 1920×1080) in the same visual dialect as the landing-page hero, composed in
website/hero-animation/src/release-film.tsand rendered headlessly by the newsrc/release-render.tsentry point.Story
PROBLEMWAITOKcarries the wait (retry after 30 s), so the client stops guessing and hammeringDOCSCLOSEnostream 3.3.0, "Less friction for your users. Fewer surprises for you."Changes
src/release-film.ts— the composition (scene windows, layout, copy)src/release-render.ts— headless renderer entry: stills viaframes <n>…, or MP4 at a chosen qualitypackage.json—render:release(very high),render:release:small(low, for sharing),frames:release(one still per scene + the end card)README.md— a Release film section, and the film added to "Edit the story"MP4s are not committed:
output/is gitignored, as with the hero.Verification
pnpm run typecheck— cleanpnpm run frames:release— renderedoutput/release/frames/f0060.png,f0300.png,f0650.png,f1000.pngandf1199.pngfrom the committed tree on the GPU render path (Intel UHD 630 via Vulkan in anode:22-bookwormcontainer). Frame 60 shows the PROBLEM scene in full; 1199 the end card.pnpm run render:releaseproducedoutput/release/nostream-3.3.0-very_high.mp4(1200 frames) from these same sourcesReview
Three findings from Greptile, each verified against
film.tsbefore changing anything, all fixed in2edafd8:ykeys used the planet's raw values and overrode the sprite's own1150 - haloOffsetstart, leaving the halo 237.5 px below the planet for the whole film.planetYis now mapped with- haloOffsetper key, as the hero does.Compositionrelied on whatever the host had installed;InterandJetBrains Monoare now registered explicitly, asfilm.tsdoes.Notes