preview: nerd tier spinner, U+EE06-EE0B (do not merge as-is) - #2
Closed
DanielCarmingham wants to merge 2 commits into
Closed
preview: nerd tier spinner, U+EE06-EE0B (do not merge as-is)#2DanielCarmingham wants to merge 2 commits into
DanielCarmingham wants to merge 2 commits into
Conversation
nf-extra-progress_spinner_1..6 at U+EE06-EE0B, replacing the braille this tier shared with the unicode one. The braille is not in FiraCode Nerd Font -- 0 of its 11,992 codepoints -- so macOS substitutes Apple Braille at 1.111 cells, and the marker column only survives because terminals snap a glyph into their own cell rather than honouring the advance. These six are really in the font, with an advance of 1200 against a space of 1200: exactly 1.000 cells, read out of the font's own hmtx table rather than taken from the cheat sheet. The tier no longer depends on that grace. They also sit directly after the U+EE00-EE05 progress-bar kit the meter already composes, so both of this tier's moving parts now come from the same Nerd Fonts 3.3.0 set. This was once rejected as "a second animation model for one tier, not worth two code paths". That cost turned out to be nil: `spin` is already a per-tier slice and `pulse::frame` already takes the frame count, so six frames here and ten elsewhere is what the types were built for. No branch, no second path, and the repaint rate is unchanged because the schedule is FRAME, not the frame count. Also corrects the doc on `active`, which claimed it is "always spin[0]". It is not, in any tier -- nerd is fa-play against a braille dot, ascii is `>` against `*` -- and the claim contradicts the rule with_animation_off_the_marker_is_the_still_glyph pins. Claude-Session: https://claude.ai/code/session_019vddQQKM4N7Mu72Cdqn9iy
Not part of the change. Pushed only so the glyphs can be looked at on a device whose terminal has no Nerd Font, which is where this is being reviewed -- and so the GIF animates, since whether six frames read as a rotation or a twitch is the one question a still image cannot answer. Delete this commit before merging; `preview/` has no business in the repo or in the crate tarball. Claude-Session: https://claude.ai/code/session_019vddQQKM4N7Mu72Cdqn9iy
Owner
Author
|
Rejected: the braille pops more at real terminal size. The arc is correct on font metrics but too thin a stroke to read as a state marker, which is the job. Keeping braille. |
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.
Preview only — do not merge as-is. The second commit adds a
preview/directory that must be dropped first.Swaps the nerd tier's spinner from braille to
nf-extra-progress_spinner_1..6at U+EE06–EE0B.Does it rotate, or just twitch?
The one question a still image can't answer. Six frames at 80ms, the same cadence
pulse::FRAMEuses:The frames
Blown up ~5x, then at the size a terminal actually draws them, with the braille they replace underneath for comparison:
In the app
Same seeded store, same width. Look at the two in-progress rows — "Ship dextui v1" and "Core data layer":
Alignment
The
|bars are the test fromscripts/glyph-check.py— a glyph that isn't exactly one cell makes them go ragged:Why
Braille is not in FiraCode Nerd Font — 0 of its 11,992 codepoints — so macOS substitutes Apple Braille at 1.111 cells, and the marker column only survives because terminals snap a glyph into their own cell rather than honouring the advance. These six are really in the font: advance 1200 against a space of 1200, exactly 1.000 cells, read from the font's own
hmtxtable rather than the cheat sheet.They also sit directly after the U+EE00–EE05 progress-bar kit the meter already composes, so both of this tier's moving parts now come from the same Nerd Fonts 3.3.0 set.
The catch
The arc is a thin single stroke; braille was a denser cluster. It's lighter at 1x — that's the trade to judge, and it's why the app comparison is here.
Cost
Nil. This was once rejected as "a second animation model for one tier, not worth two code paths", but
spinis already a per-tier slice andpulse::framealready takes the frame count, so six frames here and ten elsewhere needed no branch. Repaint rate unchanged — the schedule isFRAME, not the frame count. 417 tests, clippy clean.https://claude.ai/code/session_019vddQQKM4N7Mu72Cdqn9iy