Animation accents: calendar escalation icons + start takeover, CI running spinner - #18
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Review fix: the 16x16 escalation icon at (0,0) was drawn over the still-unconditional `time` element (x=2,y=5), occluding its leading digits. Drop `time` whenever the icon is shown (warn + imminent), same as the title is already dropped at imminent. Also documents imminent_minutes in build_elements' cfg docstring (minor).
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.
What & why
Brings the device's built-in stock animations into the two existing integrations, at the moments that matter — turning the calendar escalation and CI running states into something alive rather than static text.
Calendar (
calendar_countdown)calendar_eventicon (left) + the event title (scrolls in the narrowed band) + amber countdown.calendar_reminder(bell) icon + big red countdown; title dropped for room; LED blink unchanged.start_animation, defaultmeeting_72x16) held at urgent priority, coinciding with the T-0 chirp — a strong "it's starting / you're running late" alarm — then reverts to the normal in-progress display.time) anddividerelements are dropped while an escalation icon shows, so the icon has room.run_once's clear logic migrated from anin_progress-boolean transition to a unifiedstate["last_shape"]frozenset shape-tracker (mirroringci_status), so every new element-id-set transition (title drop, takeover↔ENDS) clears cleanly. Verified no LED/chirp/commit-on-DRAWN regression.CI (
ci_status)spinner_front_8x8on the running badge (top-right; title width reserved 68→60 so it never runs under the spinner). All repo/PR/ETA info preserved. Quota frames untouched.Mechanics
stock_path(shared/<name>.anim) — no assets bundled, verified on-device.escalation_icons,start_animation,start_window_seconds,running_spinner), defaulting on;""/falsedisable.Testing
Follow-ups (filed, non-blocking)
start_animationnames a non-existent stock animation (currently the takeover draw errors for the window; default is valid).Design/spikes:
docs/superpowers/specs/2026-08-06-animation-accents-design.md.🤖 Generated with Claude Code