feat(ui): Grace tab — slow rotating gradient looks (16 palettes × 14 shapes) for the 28-laser window - #136
Merged
Conversation
…inner four of grace-28 read as centre
Contributor
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
|
Review complete. No issues found — approved ✅. This PR introduces the Grace rings effect for the Wavegrid desktop UI. It adds
Reviewed commit: 3754878 |
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.
Summary
The Grace tab already existed (ring-pair colours + Shapes / Droplets & Chases). This adds the thing Dan asked for — slowly rotating colour gradients for the 28-laser window — as a second family in the same tab, and makes the existing looks understand the new
grace-28inner ring of four.New: Gradients.
GRADIENTS(16 palettes: Dawn, Stained Glass, Ocean, Ember, Moonlight, Aurora, Rose Gold, Twilight, Forest, Candlelit, Violet Hour, Coral Reef, Sunset, Spectrum, Ice Fire, Sage) ×graceGradients(g)(14 looks: Wheel, Counter, Sweep, Spiral, Petals, Rings, Tide, Pendulum, Drift, Glow, Breathe, Embers, Bloom, Still) = 224 combinations. Each look maps a fixture to a point on the gradient loop from its angle/radius and drifts it with time:They compile to
evalPatternsources like the existing looks (no new protocol, run server-side, previewed withMiniGridPreview). Picking a new palette while a gradient look is running re-sends it recoloured, same as ring pairs do.Fix for grace-28:
CENTRE_MAX0.15 → 0.45, so the four inner cannons (radius 0.25) are treated as "centre" like the single centre cannon ofgrace-cathedral. Before, they fell into the inner-twelve bucket, which also brokeslot()/ringCount()on that ring (16 fixtures instead of 12).Tests:
grace-rings.test.tsnow runs on bothgrace-cathedralandgrace-28; every palette × look is checked for in-range HSB on both layouts; Wheel lap = 60 s and moves < 12° per second; Counter rings move in opposite directions; Sweep opposite sides differ; Still is static; inner four read as centre inCore.Not verified against physical BEYOND output.
Link to Devin session: https://app.devin.ai/sessions/c4872c2982734093bdee80d04a7d5ceb
Open in Devin Desktop: https://app.devin.ai/desktop/session/c4872c2982734093bdee80d04a7d5ceb?variant=devin
Requested by: @pyramation