The explainer rollout - #218
Closed
abernier wants to merge 1 commit into
Closed
Conversation
The first two of the rollout proper (#216), through the orchestration #214 settled on. Both cleared in one pass, and both came back with the documentation wrong about the prop that matters most. `caustics` -- `lightSource` is a direction, not a position: it is normalised on use, so its length is discarded and moving the light closer changes nothing. drei calls it a camera position. `resolution` buys no detail either; the shader derives a texel size from it, divides `worldRadius` by that, then divides by it again, and the two cancel -- leaving the tap spacing equal to `worldRadius` in world units. What `resolution` does buy is roughly a quarter of a gigabyte of VRAM at its default, held for the component's lifetime, for a texture written once. Four props this demo passes are inert: they are pre-10 names that fall through the rest-spread onto the group as dead JS fields, silently. `portals` -- `MeshPortalMaterial` is not `RenderTexture` with extras, it is the inverse: it overrides that component's UV-based event compute precisely because it samples by screen position. Which is why the parallax is real rather than corrected. `resolution` sizes only the distance-field buffer; the scene render is always canvas times device pixel ratio, and the uniform of that name is overwritten regardless, so there is no way to render a portal small. `apis` here does one thing worth noting: `caustics` lists `AccumulativeShadows`, which looks like staging and is not. `Caustics` blends additively and can only add light, so the dark a caustic needs comes from elsewhere -- and in this demo that is where. The backtick lint earned its keep on the way in, rejecting `createPortal` in `portals`' glossary: fiber's helper is the plumbing underneath, and this example does not import it. UNDESCRIBED goes from 33 to 31. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YQmbpRu6oCNrLiUQvhz5x6
30 tasks
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.
The rollout of #216: the remaining explainers, one commit per batch, on top of the #214
pilot (#215).
This PR is a container, not a review surface. Review happens per example, in session,
on the pass's non-obvious findings, before anything is written — #216 Decision 5. The
reviewable unit here is the commit, whose message carries the corrections that example
returned;
git logon this branch is the campaign's journal. One PR rather than seventeenbecause splitting a diff nobody reads as a diff buys nothing, while seventeen stacked
branches cost a rebase each every time anything below them moves.
How each example is done
One pass of the
teachorchestration per example, in an ephemeral workspace outside therepo;
description,apisand the explainer written from that one distillation. Theorchestrator does not read the example's source before the pass. See #214 for why, and
.claude/skills/describe-example/explain.mdfor how.Order
The empty descriptions first, alphabetically — the only list under a test, and the one that
closes #192.
bin/description-exceptions.mjsshrinks by one entry per example, and thecount in its header moves with it.
Progress
Tracked on #216. This PR merges with the rest of stack #205, at the end, after the trim.