Repository navigation
Draw the ASCII visuals on the GPU, drop decorative labels, add favicon - #7
Merged
Merged
Conversation
getByRole("alert") now matches two elements on the page, so the strict
locator failed and main went red.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The main thread was the bottleneck, not the 3D: every eye frame read the WebGL canvas back with getImageData and drew ~8,000 glyphs with fillText, and the background drew ~13,000 more at 15 fps on every device, phones included. - Eye: three.js renders into an MSAA render target; a shader averages it per cell and picks glyph and colour, a second one draws the glyphs from an atlas texture. No readback per frame, no fillText. Gaze, drag, modes and glitches work as before. - Background: one fragment shader in plain WebGL2, rain as a function of time. No three.js, so narrow screens (where the eye is hidden) don't download it. - The eye loads only at >= 1100px, the width at which its panel is shown. - Nothing is drawn for reduced motion, Save-Data, a missing or lost WebGL2 context, or frames slower than 35 ms on average; the last two stick for the tab session. - Fixes a TypeError when the color attribute was set before connection. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
SYSTEM ONLINE, / ENCRYPTED CONNECTION, [ SECURE BY DESIGN ] and ACCESS PORTAL / 01 said nothing. The favicon keeps the 16, 32 and 48 px frames of the original (9 KB instead of 432 KB). 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.
getImageDatareadback and no ~8,000fillTextcalls. The background is a single WebGL2 shader without three.js. Main-thread time in a headless benchmark (1600×900, software WebGL): eye ~1000 → ~22 ms/s, background ~300 → ~15 ms/s. Interactions (gaze, drag, modes, glitches) are unchanged.SYSTEM ONLINE,/ ENCRYPTED CONNECTION,[ SECURE BY DESIGN ],ACCESS PORTAL / 01.main: the login tests'getByRole("alert")matched two elements.🤖 Generated with Claude Code