An animation for the Artifactory - #232
Closed
scgopi wants to merge 2 commits into
Closed
Conversation
The HTML→frames→GIF/MP4 pipeline has lived untracked in marketing/animations. A committed figure whose renderer is not in the tree cannot be rebuilt or checked by anyone else, so the four scripts come along with it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011b4JC1STxSMfbx7fJQv5wz
A 30s designed figure, marketing/animations/artifactory.html, rendered by ./build.sh artifactory. Four beats, the last one longest: 1. node send and edges are addressed — a drawn wire, and a command carrying a uuid the sender had to already know. 2. Fixer posts to the board. The pip travels to the Artifactory along no wire at all; nothing was created to carry it and nobody is named. 3. Fixer resolves and is deleted. Its card goes, the lane closes over it, and the post's byline becomes "Fixer (deleted)" — the handle goes, the note does not. 4. Auditor, created three days later and wired to nothing, sees the unread count in status and reads the note with one sync. Every command and every line of output is what the merged code prints — renderPosted, renderArtifactory's "<project> artifactory, unread: N post" header and "#<id> (topic) from <author> at <stamp> — <body>" rows, renderArtifactoryStatusLine, and the empty-board line — with the byline taken from ArtifactoryPost.withAuthorDeleted. A new loop's cursor is nil, so its first sync really does see the whole board. 766,186 bytes as a GIF, inside the ~900 KB the site and README can carry. Frames are stepped through window.__seek, so a re-run reproduces it byte for byte; verified. The renderer comes along in its own commit: marketing/animations has been untracked, and a committed figure nobody else can rebuild is not much of one. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011b4JC1STxSMfbx7fJQv5wz
Owner
Author
|
Closing — marketing/ is kept local and is not intended to merge. |
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.
A designed HTML figure explaining the Artifactory (#229), in the house style of the
existing
marketing/animations/figures — 1200×675, same palette and type asloops-talk, stepped throughwindow.__seekand rendered by./build.sh artifactory.The story, four beats, the last one longest.
node sendand edges are addressed:the figure opens on a drawn wire between two loops and a command carrying a uuid the
sender had to already know. Then Fixer posts to the board — the pip travels to the
Artifactory along no wire at all, because nothing was wired and nobody was named.
Fixer resolves, is deleted, and the lane closes over it while its post's byline becomes
Fixer (deleted). Finally Auditor, created three days later and wired to nothing, seesthe unread count in
statusand reads the note with onesync. That last beat gets athird of the runtime, because it is the claim: notes outlive their authors.
Nothing on screen is invented. Every command and every line of output is what the
merged code prints —
renderPosted,renderArtifactory's<project> artifactory, unread: N postheader and#<id> (topic) from <author> at <stamp> — <body>rows,renderArtifactoryStatusLine,and the empty-board line — with the byline taken from
ArtifactoryPost.withAuthorDeleted. A new loop'slastArtifactoryReadisnil, so itsfirst sync genuinely does see the whole board.
./build.sh artifactorytwice → identical sha256 on all three outputsTwo commits, and the first needs a decision.
marketing/animations/has never beentracked — not ignored, just never committed — so a figure landing on its own would be a
GIF nobody else could rebuild or check. The first commit brings the four renderer
scripts (
build.sh,render.mjs,probe.mjs,package.json/lock) along, plus a.gitignoreforframes/andnode_modules. The other nine local figures are notincluded, which leaves one wart:
./build.shwith no arguments still names them in itsdefault list and will fail on a fresh clone.
./build.sh artifactoryworks. Say theword if you would rather the whole directory came across, or none of it.
🤖 Generated with Claude Code
https://claude.ai/code/session_011b4JC1STxSMfbx7fJQv5wz