chrome: legible 12×10 shuffle/repeat icons - #41
Open
BrandonDedolph wants to merge 1 commit into
Open
Conversation
The previous pre-rasterized icons (commit c2766f7) read as mushy blobs at status-bar size. Three changes fix that without leaving the SVG pipeline. Geometry — redraw both icons in a viewBox that matches output pixel space (12x10 instead of 14x11). Endpoints land on half-pixel offsets so horizontal tails resolve to a single output row, the shuffle arrows have a deliberate gap at the crossing so the "back" arrow visibly passes behind, and arrowhead tips bleed past the corner so the V registers on the edge row instead of disappearing inside the round line-cap. Path count drops from 5 to 5 (shuffle) and 4 to 4 (repeat) but each path is shorter / more pixel-aware. Stroke — bumped from 1.4 to 1.5 (in the new tight viewBox). 1.4 reads faint after the box-filter downsample; 1.6+ starts merging the crossing diagonals back into a blob. Pipeline — 16x upsample (was 8x) and a Pillow fallback when ImageMagick isn't installed. Same Box filter; gaussian/lanczos introduce ringing pixels that chrome_blit_alpha can't compensate for. Validated against the Now Playing status bar in the sim: shuffle now reads as two arrows crossing with distinct arrowheads, repeat as two loop arrows with crisp V tips. meson test -C build-sim still 4/4. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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
icon_gen.shfor dev machines without ImageMagick. Pillow'sImage.BOXis byte-identical to ImageMagick's-filter Boxon single-channel alpha.Test plan
cd core && make sim && ./build-sim/sim/core-sim— drive into Now Playing (main menu → Now Playing → SELECT to cycle pages) and confirm the status-bar shuffle/repeat icons read as their symbols (two crossing arrows with visible arrowheads; loop arrows with crisp V tips), not blobscd core/tools && ./icon_gen.sh— pipeline succeeds whether ImageMagick or Pillow is available; reproduces the arrays committed incore/apps/ui/chrome.ccd core && meson test -C build-sim— 4/4 green (codec-kat, tcdb-reader, tag-mp3, sim-audio-playback)🤖 Generated with Claude Code