diff --git a/README.md b/README.md index 6ec2bd6..f3f190f 100644 --- a/README.md +++ b/README.md @@ -2394,7 +2394,7 @@ now — they are listed so they are not mistaken for anything else: section was short of room, and finding one meant scrolling past the others. The built sidebar is a **Measure** tab (the cursors readout and the measurements) and a **Signals** tab (the trigger and the channels), **each a pill with its own glyph and no text** — the - cursors and the ruler for Measure, a signal rising above its trigger level and the channel list + cursors and the ruler for Measure, a sine crossing its trigger level and the channel list for Signals (the same picture the toolbar's trigger button carries), drawn as a 32x16 pair so both motifs are legible at a glance — with the words kept as each pill's tooltip and accessible name. The design spec had the switcher showing *titles* and neither page an diff --git a/docs/claude/invariants-gtk-and-chrome.md b/docs/claude/invariants-gtk-and-chrome.md index 5235505..2904ecd 100644 --- a/docs/claude/invariants-gtk-and-chrome.md +++ b/docs/claude/invariants-gtk-and-chrome.md @@ -65,10 +65,14 @@ Part of [CLAUDE.md](../../CLAUDE.md). These are rules that cost a defect to lear `udpscope-tab-measure-symbolic` is two cursors beside the ruler they read against — each a cap over two bold dashes, beside a ruler of two bands with three marks between them and **no end caps** (a closed frame reads as a rectangle, and costs a fifth of the ink on two lines that say nothing) — and - `udpscope-tab-signals-symbolic` is a signal rising above its level, beside two bold channel rows. They + `udpscope-tab-signals-symbolic` is a sine crossing its dashed level, beside two bold channel rows. They are not reuses, because a glyph the toolbar already carries means two things the moment a tab shows it too; instead the *trigger's* own icon (`udpscope-trigger-symbolic`) was redrawn to the Signals pill's picture, so the pill and the button that turns the trigger on are recognisably about the same thing. + The wave is a **full period and not a hump**: a crest and a trough are what make it read as a wave + rather than as a hill, and the level's dashes survive between the crossings. (A hump was tried and + reverted — it named the "above the level" half of a trigger and lost the crossings, which is the half + that matters.) Both are **32x16** composites drawn **bold** — one thick band, two thick dashes, few features — because at this size a thin wave or a 1px tick reads as *texture* rather than as a shape, which is what "not clear" looks like. Wider than tall on purpose: a 16px square cell carries one motif, not a pair. And diff --git a/docs/claude/verification.md b/docs/claude/verification.md index c212fba..c2fea12 100644 --- a/docs/claude/verification.md +++ b/docs/claude/verification.md @@ -16,7 +16,7 @@ xvfb-run -a env UDPSCOPE_EXIT_AFTER_MS=8000 UDPSCOPE_ENABLE_ALL_MS=1000 \ Two baselines every run is read against. A clean build emits **four** warnings and no more: two `-Wmissing-field-initializers` on `MathNode::source` and `-Woverlength-strings` on **both** generated GResource `.c` files — the help pages' (**514660** bytes) and the icons', whose blob is -**11774** against C99's 4095-byte string-literal limit with the seven action icons and the two app icons +**12352** against C99's 4095-byte string-literal limit with the seven action icons and the two app icons that remain (a note about a generated file, which GCC itself supports) -- re-measured when the tab work changed the set (that icon left, the two tab glyphs arrived, and this file's help page was rewritten), which did not move the count; re-measure by touching each `*.gresource.xml` diff --git a/src/icons/scalable/actions/udpscope-tab-signals-symbolic.svg b/src/icons/scalable/actions/udpscope-tab-signals-symbolic.svg index dae8748..ad68985 100644 --- a/src/icons/scalable/actions/udpscope-tab-signals-symbolic.svg +++ b/src/icons/scalable/actions/udpscope-tab-signals-symbolic.svg @@ -1,25 +1,29 @@ - + - - + - +