Repository navigation
fix: the arrow is narrow, and the centre can be dragged - #27
Merged
Merged
Conversation
Both reported against the demo. THE CHEVRON WAS A CORNER GLOW. Its traversal was a continuous ramp, and a continuous ramp cannot draw an arrow here: `arm` takes five distinct values on a 9-row field, so its level sets are V shapes in theory and a blob in practice, and no envelope resolves a line out of five steps. `ring` already solved this by being QUANTISED, on an integer lattice, for exactly this reason — and quantising `|along - arm|` makes the zero-cells be the arrow itself rather than a wash across it. One band per grid step is what keeps it narrow; any fewer and adjacent cells share a band and the arrow thickens. Its preset also moved from `morph` to `spiral`. The traversal is ours but the envelope is the preset's, and a plateau HOLDS its level instead of running a crest along the arrow, so the right traversal under the wrong envelope still looked like a static gradient. The test asserts the zero-cells form the V, by reading the WHOLE set rather than a few guessed ones — `arm` spans five rows and `along` nine columns, so the arms land every two columns, and my first attempt asserted a 1:1 diagonal and reported a shape that was fine. THE CENTRE IS A DRAG, not a click. `setPointerCapture` so the gesture survives leaving the element, `touch-action: none` so a touch drag does not scroll the page, and movement only while held — a hover would make the centre chase the cursor the moment it entered the field, which nobody asked for. The hint names the GESTURE, because a centre you can drag and a centre you can click are different affordances and the sentence is the only thing saying so. The handle is a ring rather than a dot: a 7px disc on a field of 81 dots reads as one more dot, and the ring is what says "this is a thing you move". AND A LAYOUT BUG THE SCREENSHOT CAUGHT, which the drag probe could not: the overlay was `inset: 0`, spanning the field's PADDING box, so a handle at 0% sat in the padding rather than on the first row of dots — it rendered outside the dot grid while every behavioural assertion reported the correct cell. Fixed by insetting the overlay by the same 6px. This is the second time this session that geometry had to be read off a screenshot: the numbers were right and the pixels were somewhere else. 273 tests, oxlint 0, registry ok, both changelog ledgers.
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 37 minutes. View limit detailsLimit details: You’ve used the included review currently available. Review configuration: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (8)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
Why
Both reported against the demo: the chevron looked like a glow in one corner, and a centre
you had to hit with a single click was a target nobody aimed at twice.
Change outline
The chevron was a corner glow. Its traversal was a continuous ramp, and a continuous ramp
cannot draw an arrow here:
armtakes five distinct values on a 9-row field, so its levelsets are V shapes in theory and a blob in practice — no envelope resolves a line out of five
steps.
ringalready solved this by being quantised, on an integer lattice, for exactlythis reason, and quantising
|along - arm|makes the zero-cells be the arrow rather thana wash across it. One band per grid step is what keeps it narrow.
Its preset also moved
morph→spiral: the traversal is ours but the envelope is thepreset's, and a plateau holds its level instead of running a crest along the arrow.
The centre is a drag, not a click —
setPointerCapture,touch-action: none, movementonly while held (a hover would make the centre chase the cursor). The hint names the
gesture, because drag and click are different affordances and the sentence is the only
thing saying so. The handle is a ring rather than a dot: a 7px disc on a field of 81 dots
reads as one more dot.
Special things to note
inset: 0, spanning the field's padding box, so a handle at 0% sat in the paddingrather than on the first row of dots — it rendered outside the grid while every
behavioural assertion reported the correct cell. Fixed by insetting the overlay by the
same 6px.
numbers were right and the pixels were somewhere else.
than a few guessed ones —
armspans five rows andalongnine, so the arms land everytwo columns, and my first attempt asserted a 1:1 diagonal and reported a shape that was
fine.
🤖 Generated with Claude Code