Declare a showcase frame for the hqtui.com apps gallery - #36
Merged
Conversation
hqtui.com/apps captures screenshots of applications built on the library. The capture script takes an application directory and imports `scripts/showcase.ts` from it, because only the application knows what a good state looks like. The frame is a fixture, not a live session. A screenshot from a real run changes on every capture and would show whatever happened to be in somebody's home directory and on the far end of an SSH connection -- neither reviewable in a diff nor safe to publish. It is built from the real Change, ChangeSummary, RsyncProgress and Transfer types rather than cast into shape, so it stops compiling if the model moves. A showcase frame that has silently drifted from the app is worse than no frame. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017Df2FNu5DhinMV2soRz3cy
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.
hqtui.com/apps captures screenshots of applications built on the library. The capture script takes an application directory and imports
scripts/showcase.tsfrom it, because only the application knows what a good state looks like.This adds ours: the two-pane browser mid-transfer.
Why a fixture
A screenshot from a real run changes on every capture, and would publish whatever happened to be in somebody's home directory and on the far end of an SSH connection. Neither reviewable in a diff nor safe to put on a website.
Why it is typed rather than cast
The state is built from the real
Change,ChangeSummary,RsyncProgressandTransfertypes, with noas unknown asanywhere, so this file stops compiling if the model moves underneath it. A showcase frame that has silently drifted from the application is worse than no frame — it is a screenshot of something that no longer exists.Writing it that way caught my own first draft, which invented a
Transfershape (changes,done,total,bytes) that the model does not have.Checks
npx tsc --noEmiton the new file: cleannpx vitest run: 1 failed / 398 passed, identical with and without this change — verified against a stashed baseline. The 19 collection failures and the one failing test are pre-existing and untouched here.renderToText, not a mock-up.This adds nothing to the shipped CLI — it is a build-time fixture only.
🤖 Generated with Claude Code
https://claude.ai/code/session_017Df2FNu5DhinMV2soRz3cy