docs: add dual-view screenshot to the README - #131
Merged
Conversation
Adds the screenshot from #49 as assets/screenshot-dual.png and activates the image at the top of the README, replacing the commented-out placeholder. Downscaled from the original capture: 3600px / 1.59 MB -> 1800px / 590 KB. Still retina-sharp at README widths and the UI text stays legible, but a 1.6 MB hero image is more than a README should pull down. The shot works well as a hero: dual view with the dropdown open, so it shows per-side input selection, per-input and system volume, the Settings entry point and the centre divider in one frame. Checked it for anything that should not be public -- device names are "Webcam" and "OBS Virtual Camera", no paths, hostnames or identifiers. The GIF half of #49 is still outstanding. Its markup stays commented out rather than pointing at a file that does not exist, since an unresolved image path renders as a broken image on the repo page; assets/README.md records what is needed and how to enable it. Refs #49 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
BernardJen
added a commit
that referenced
this pull request
Aug 7, 2026
…placeholder (#137) #62: the compositor still cannot be executed here. Re-checked rather than assumed -- navigator.gpu exists but requestAdapter() returns null by every route, including forceFallbackAdapter and SwiftShader forced on the command line. So the shader that shipped dormant in #129 has still never run a frame. Rather than leave it entirely unverified, the WGSL is now exported as COMPOSITOR_WGSL and checked structurally: that the entry points the pipeline names exist, that all three bindings the JS bind group provides are declared, that the Layout struct fits the 32-byte buffer allocated for it, that the quad array holds the six vertices pass.draw(6) requests, and that the Y flip is present. Those are the failure modes most likely to be sitting in code nobody has run. Each would surface as a pipeline or link error on the first machine with a GPU, and the Y flip in particular compiles perfectly while rendering the video upside down. Confirmed the tests bite, by mutation: renaming the vertex entry point and removing the Y flip each fail exactly one test. This is explicitly not a substitute for running it -- the test file says so. #62 stays open until it can be benchmarked on real hardware. #49: removes the commented-out GIF placeholder. The issue asked for a screenshot or a GIF, and the dual-view screenshot added in #131 meets its stated intent ("a single image will communicate the product better than the feature list"). A GIF of D/S switching needs the app running against real capture hardware, which cannot be produced here, and a fabricated one would misrepresent the product. Adding a real clip later is a two-line change and does not need an open issue to track it. 150 tests (was 142), lint clean, build clean, shadercheck 60/0. Closes #49 Refs #62 Co-authored-by: Claude Opus 5 (1M context) <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.
Adds the screenshot you captured for #49 and activates the image at the top of the README, replacing the commented-out placeholder from #129.
The image
assets/screenshot-dual.png— dual view with the dropdown open. It works well as a hero shot because one frame shows per-side input selection, per-input and system volume, the Settings entry point, and the centre divider between feeds.Downscaled: 3600px / 1.59 MB → 1800px / 590 KB. Still retina-sharp at README widths and the UI text stays legible; a 1.6 MB hero image is more than a README should make people download. Used
sips(built into macOS) since no PNG optimiser is installed here.Checked for anything that shouldn't be public before committing: device names are just "Webcam" and "OBS Virtual Camera", and there are no paths, hostnames, or identifying details.
Still open on #49
The GIF half —
D/Slayout switching and1-4input selection. Its markup stays commented out rather than pointing at a file that doesn't exist, because an unresolved image path renders as a broken image on the repo page.assets/README.mdnow records what's needed and that uncommenting one line finishes it.So #49 stays open until the GIF lands, unless you'd rather close it — the screenshot was the part the issue called "a single image will communicate the product better than the feature list".
Verification
Confirmed the image path resolves, that the commented GIF reference does not render (stripped comments and checked), no stray copy of the original filename left in the tree, and lint / 100 tests / build all clean.
🤖 Generated with Claude Code