Skip to content

Polish the live-smoke ledger: grid slots, dark focus ring, system monitor states#128

Open
ctate wants to merge 5 commits into
mainfrom
polish/live-smoke-ledger
Open

Polish the live-smoke ledger: grid slots, dark focus ring, system monitor states#128
ctate wants to merge 5 commits into
mainfrom
polish/live-smoke-ledger

Conversation

@ctate

@ctate ctate commented Jul 13, 2026

Copy link
Copy Markdown
Collaborator

Five findings from the post-launch live GUI smokes, each fixed in both authoring tiers where both ports carry it.

  • Grids keep their declared column slots when children run short — the engine clamped the declared column count to the child count, so any parent-stretched grid re-divided its full width among the survivors (the "search down to one album and the tile stretches" finding). The declared count now wins: children fill leading slots at column-slot width, trailing slots stay empty. Pinned at the layout level and in both soundboard e2e batteries.
  • Accent focus rings desaturate in dark appearance — the theme_accent override channel stamped the raw brand hue as the focus ring in both schemes (the neon finding); the house and Geist packs were already per-scheme. New accentFocusRing(accent, scheme) keeps the accent in light and halves its HSL saturation in dark; the Zig soundboard's hand-authored theme states the identical derivation, so both tiers land the same ring. High contrast unchanged. Token-level tests; no goldens involved.
  • System monitor footer says what it shows — the sample timestamp comes from the journaled clock in UTC, and no journaled timezone channel exists, so the honest fix labels it sampled at HH:MM:SS UTC in both tiers (a journaled tz-offset channel is the follow-up if local time is wanted; an unjournaled OS read would break replay byte-identity).
  • The "terminate request delivered" notice retires on the next applied sample — the sample whose rows show the delivery's outcome; failure notices persist. Both cores, both batteries pinned.
  • Empty search results name their scope — "Search sees the top 128 processes by CPU…" derived from the sampler bound in both tiers.

Suites: full battery, validate, test-tooling, test-examples-native, test-ts-core-e2e — all green. Changelog fragments included; no registry codes touched.

ctate added 4 commits July 13, 2026 15:41
- gridColumnCount no longer clamps the declared column count to the child count, so a filtered grid's children keep their column-slot width instead of stretching across the freed row
- pin the rule in the widget layout tests and in both soundboard e2e batteries (Zig example + TS port), which search the album grid down to one match and hold the tile at its natural width
- canvas.accentOverrides now takes the resolved scheme and derives the dark focus ring at half the accent's HSL saturation (canvas.accentFocusRing), matching the built-in packs' per-scheme ring moves
- the Zig soundboard theme states the same derivation so both authoring tiers land the identical ring; pins in the token tests and both soundboard suites
- label the footer sample time UTC: local rendering would need a journaled tz channel to keep replay byte-identical, so the honest label wins for this sweep
- clear the transient 'terminate request delivered' notice on the next applied sample (failure notes still stick); pinned in both e2e batteries
- hint the top-128-by-CPU search scope in the no-match empty state, derived from the sampler cap
- the theme_accent bullet now names the dark scheme's desaturated focus-ring derivation
@vercel

vercel Bot commented Jul 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
native-sdk Ready Ready Preview, Comment Jul 13, 2026 9:45pm

- accentFocusRing's dark step now lifts the desaturated ring's HSL lightness until it holds 3:1 (WCAG non-text) against the default dark background whenever the accent itself cleared that bar, and never below the accent's own contrast when it did not — halving saturation alone dropped #008000 from 3.9:1 to ~2.6:1; a hue-sweep test pins the floor, and the changelog fragment now states the accentOverrides ColorScheme parameter as a deliberate pre-1.0 break with the .light migration line.
- gridRowCount ceil-divides as 1 + (count - 1) / columns so an unclamped huge declared column count no longer overflows the additive form in safe builds; both the layout and intrinsic-size paths already share the helper, and a unit test covers maxInt columns and zero children.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant