Let the urchin's spikes reach the merge that exists for them - #6
Merged
Merged
Conversation
The wrap fix in the last commit got the urchin's colours matching, and the lane still reported zero hazards with one sitting on it. The colour was only half of it. merge() is there because "a single sprite often breaks into a few blobs (the urchin's spikes especially)". But the hazard pass screened the raw blobs on size FIRST, at 30*px*px, so the spikes were thrown away before merge ever saw them -- leaving a merge that could only reassemble a sprite intact enough not to need it. Measured live over the DevTools protocol, one frame, one pixel buffer: an urchin at 17% of the lane put 150 pixels through the colour test and shattered into fragments whose LARGEST was 7px. Every one under the 30*px*px = 15.7 floor, so the pipeline emptied before the merge. Running the real pipeline over that same buffer at a range of pre-merge floors: floor 15.7 (shipped) no hazards matches the live probe floor 8 umbrella only floor 5 umbrella only floor 3 umbrella + urchin at 85px So the floor comes off entirely. blobs() already refuses anything under 3px, the 110*px*px screen still runs after the merge, and the urchin rebuilds to 85px against it. That leaves the beach umbrella, which is red and white, merges to 67px of its own and clears the same post-merge floor. The padded search box does cut it off today -- its centre sits at -0.07 of the lane against a box reaching -0.05 -- but two hundredths of a lane is a coincidence, not a margin, so hazards now get the lane-start screen the species pass has had all along for the sand mound at the same end.
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.
Follow-up to #5. That PR fixed the hazard colour window (it never wrapped past hue 0, where the urchin's strongest tones sit). Hazards still didn't appear, because the colour was only half the problem.
merge()exists because "a single sprite often breaks into a few blobs (the urchin's spikes especially)" — but the hazard pass screened raw blobs on size first, at30 * px * px, throwing the spikes away before merge could reassemble them.Measured live over the DevTools protocol, one frame, one pixel buffer — an urchin at 17% of the lane put 150 pixels through the colour test and shattered into fragments whose largest was 7px, every one under the 15.7 floor:
So the pre-merge floor comes off.
blobs()already refuses anything under 3px, the110 * px * pxscreen still runs after the merge, and the urchin rebuilds to 85px against it.That leaves the beach umbrella, red and white, merging to 67px and clearing the same post-merge floor. The padded search box cuts it off today — centre at -0.07 of the lane against a box reaching -0.05 — but two hundredths of a lane is a coincidence, not a margin, so hazards now get the lane-start screen the species pass has had all along for the sand mound at the same end.
node --checkpasses on both files; suite regenerated from the standalone script (1.5 → 1.6, fishing 2.2 → 2.3).Not yet observed end-to-end: I have the pipeline measurement but haven't watched an AVOID ring actually appear on a live urchin — the round ended before I could.