Repository navigation
Release 1.7.0: ask first - #7
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…styped) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
.github/affected.js plans each push: Node suites by import graph (and
new URL() reads), the type check when declarations change, and GPU checks
by test/gpu-map.json -- per function in src/, which checks run it ('*' for
the shared setup) -- carrying changed lines back to the map's commit
through git diff. Chosen checks are split across up to four runners,
balanced by recorded time. Uncertain cases (CI or suite changes, new src
files, no map) run everything; a version-only package.json change, docs
and benchmarks run no GPU checks.
ci.yml: a plan job, then test (20/22/24) running the chosen suites and a
gpu job per shard. Pushes to any branch but main; same-repo pull requests
are not checked again, and main (pull requests only) not at all.
gpu.test.js: checks have ids (FNV of their name); ?steps= and ?shard=
choose them; the first five always run; checks the map does not know run
in shard 0. gpu.ci.js: GPU_STEPS, GPU_SHARD, and --map to record coverage
per function (refuses a dirty src/).
Locally: two DOF checks alone in 12 s; the full suite in four shards of
12-18 s each, every check accounted for.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gpu.ci.js prints each check's id and time; .github/ci-times.js reads a run's log back into test/gpu-map.json (ciMs), and the planner balances by it, falling back to the real-GPU time x7. The first run balanced by real-GPU times spread four runners over 113-227 s. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
So CI can spread them across runners and run only those a change reaches; as one check it was 145 of a full run's 491 s on CI. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
navigator.gpu, and an adapter: a core adapter has every limit the renderer needs, so that is all create could refuse a page for. Never throws. Documented with the fallback pattern, in the README's install section beside a plain "WebGPU only" and why; typed; checked in Node against stand-in navigators and on a real device in the GPU suite. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
One animated SVG, a chart a slide, seven seconds each with a short fade and dots to say which; held on the first for prefers-reduced-motion. 760 x 400 where the stacked chart was 760 x 668, and more comparisons are more slides at the same size. Same numbers as before: the desktop and the laptop, a slide each. The footnote says it turns, that every number is in the description, and that Winding is WebGPU only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A 28 KB geometric robot made for this project (MIT): 48 nodes, 30 drawn parts on 5 meshes and 4 materials, 18 named joints to pose by node. Loads and draws on develop with no device errors. The folder's README records each file's origin and licence; nothing there is published. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
His upper body, rendered in Winding from test/assets/walker.glb and cut out with a true alpha (rendered before a black backdrop and a white one; the difference is his coverage), so he sits on GitHub's light and dark pages alike. Floated right of the wordmark, his hand turned flat to the camera. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…he name What is uploaded as the repository's social preview (Settings > Social preview); kept here as its source. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The logo sat 152 px from the left edge and his hand 220 px from the right; now 220 each side, and centred top to bottom. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Ask first.
Winding.supported()says whether an engine can be made here, so a page can showsomething else where WebGPU is missing. The README has a face now -- a walker robot, rendered in
Winding, waving beside the name -- and its engine comparison is a slideshow, a chart at a time. And
CI checks only what a change reaches: a docs change in seconds, a full run split across four runners.
Added
Winding.supported(): whetherWinding.createcan work inthis browser -- WebGPU, and a GPU it will hand out -- as
trueorfalse, never a throw. Askbefore creating an engine and show a still, a video or a message where the answer is no; the
README's install section shows how.
🤖 Generated with Claude Code