Repository navigation
Step the press line as you scroll, with a terminal that replays each unit's lines - #82
Merged
Merged
Conversation
…unit's lines The static press line from #64 stays the source. Unless the reader prefers reduced motion, main.js makes the section sticky over about four viewport heights and steps it: step markers watched by an IntersectionObserver, and 1-4 step buttons, all call one render(n) that sets the lit unit, the button state and the terminal's lines. The terminal replays copies of the lit unit's lines from the columns, with Pause and Play. The observer's state follows its own entries rather than the live scroll position, so a fast scroll back to the last observed step can't leave a stale step lit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…erminal log Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Keeps the press line's track and stage wrappers (and their re-indent) and reapplies main's links from the unit columns' skill labels to the Prompts and skills page. main.js keeps both main's commit label and the press stepping. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Summary
The static press line from #64 stays the source.
main.jsonly steps it, and only when JavaScript runs andprefers-reduced-motionisn'treduce. The steps, buttons and terminal are hidden markup that the script reveals.On wide screens, the press is full width and the lit unit's text and the terminal sit beneath it. On phones they stack. Scrolling stays native: no snap, no smooth scroll, and no scroll-linked animation, only 0.25s fades between steps.
There's one non-obvious fix. The observer callback follows the observer's own entries, not the live scroll position. A stress run of 300 random jump sequences found 3 stale steps when the callback read live positions: the observer only notifies on a change from what it last saw. After the fix, 600 of 600 sequences ended consistent.
Evidence
Chromium, 1440×900. From left to right: steps 1–4.
Chromium, 390×844:
The replay paused mid-unit (3 · Y):
After: a Playwright script (run outside the repo, since the site has no front-end tests) passed every check in Chromium and Firefox, at 1440×900 and at 390×844:
main, in both engines.cargo test: all suites pass after mergingorigin/main.libjxl.so.0.8, which no Ubuntu or Debian archive ships, and there's no root access. The planned human acceptance pass should cover Safari, especiallyscrollTo({ behavior: "instant" })and the sticky stage under iOS's collapsing toolbar (the stage uses100svh).docs/share-card/render.mjsclones the SVG out of.press, and all the dimming CSS is scoped under.press.is-stepped.Merge Danger
Door: two-way
The change touches only
site/(HTML, CSS and one JS module). Reverting it restores the #64 version.Blast Radius: home-page
The press section becomes about 3.8 viewport heights tall while stepped, which changes the page's scroll length. Readers with reduced motion or without JavaScript see no change.
Unaddressed findings
Standards
rendermixes working out the state with writing it to the DOM (testability): the spec rules out front-end tests. Checks are by screenshots and the human acceptance pass.--glowon SVG units,--inkon columns): these are different elements with different tokens. The glows use the "glows only" neon tokens. Sharing a key would mean adding classes to the SVG just for this.Spec
docs/screenshots/issue-N/convention from Home page walking skeleton: the proof-sheet hero with the install command #62, Press line, static: the full How a Run works diagram in HTML and SVG #64, Home page sections: workflow, what comes off the press, proof sheets, requirements, colophon #66 and The factory grows: the floor plan #67. The pull request embeds them.render(n)rebuilds the terminal every time.Closes #65
🤖 Generated with Claude Code