Repository navigation
feat(glance,pip): the owner's mark and flame, ink for "All", one control vocabulary - #208
Conversation
…rol vocabulary Four owner tweaks, 2026-10-10. 1) USAGE FLAME BESIDE EACH ROW'S LOGO in the PiP. Beside the logo rather than after the name because the name is the first thing the width ladder drops: at narrow widths this is the only place the signal can still live. 2) "ALL" IN INK, not the accent. It was the one control in the header wearing the accent while meaning nothing by it; the accent now appears only where it carries meaning. 3) THE OWNER'S MARK AT THE POPOVER'S TOP-LEFT, before "CodeCaps". The same black-on-transparent artwork the menu bar and PiP use, drawn as a template. This is the Glance popover, not the PiP — the PiP header is gone by the owner's own request in #193, and the provider logos identify the HUD there. 4) THE SCOPE SWITCH READS AS A TOGGLE. It had a full-height rule between the boxes and an outline around the pair, which reads as two adjacent rectangles rather than one control. It now has a filled track under an unselected segment, the same corner radius, accent fill and on-accent ink as the footer's Open CodeCaps — one control vocabulary in the window. Added a `controlTrack` token beside the existing control colours rather than inlining a colour. The header tests caught the first attempt and were right to: changing the header's HStack spacing from 0 to 4 did not add 4pt, it added 4pt to EVERY implicit gap in a row with eight or more children — about 32pt of a 570pt popover, enough to crowd the cluster outright. The gap now lives on the mark alone, and the mark is 12pt. The remaining 16pt is the mark's true cost, which the width-budget test now includes. 394 tests pass, 3 skipped, 0 failures.
Code Review Completed! 🔥The code review was successfully completed based on your current configurations. Kody Guide: Usage and ConfigurationInteracting with Kody
Current Kody ConfigurationReview OptionsThe following review options are enabled or disabled:
|
🤔 Insufficient Task ContextI found a task linked to this PR, but it only contains minimal information (title only, no description or acceptance criteria). To perform a meaningful business rules validation, I need more details. 🔍 What I need to validate:
💡 How to improve the task context:
|
Kody caught this on #208. Adding the flame beside the logo widened the row, but `rowWidth(for:)` — the same number behind `fitSize`, `applyFit` and the horizontal strip's per-row frame — did not know about it. So the icon was clipped by the vertical list's clip shape, and overflowed its frame into the inter-row gap horizontally. The flame's width now lives in `rowWidth(for:hasFlame:)` rather than as an extra padding on the row view, because that one function is what the fit and refit path already consults; putting it anywhere else would leave the same desync behind. One spiking row widens the whole strip: rows are a uniform width by design, and mixed widths would defeat the grid the owner asked for. A test asserts that a spiking row is wider by exactly `flameWidth` at every detail level that draws a logo, and by nothing at the levels that do not.
Code Review Completed! 🔥The code review was successfully completed based on your current configurations. Kody Guide: Usage and ConfigurationInteracting with Kody
Current Kody ConfigurationReview OptionsThe following review options are enabled or disabled:
|
🤔 Insufficient Task ContextI found a task linked to this PR, but it only contains minimal information (title only, no description or acceptance criteria). To perform a meaningful business rules validation, I need more details. 🔍 What I need to validate:
💡 How to improve the task context:
|
| Text("All") | ||
| .font(.system(size: 13, weight: .semibold)) | ||
| } | ||
| .foregroundStyle(tint) | ||
| // Owner 2026-10-10: "the All next to alarm should be black or normal | ||
| // dark text not accent color". Ink follows the appearance and the | ||
| // high-contrast setting; the accent stays where it carries meaning. | ||
| .foregroundStyle(Theme.ink) |
There was a problem hiding this comment.
Orphaned computed property in GlanceAlarmAllToggle (Sources/CodeCaps/GlanceViews.swift): private var tint: AnyShapeStyle has no remaining call sites after .foregroundStyle(tint) inside label was changed to .foregroundStyle(Theme.ink). Delete the property — it still resolves isOn and model.accentColor, so any future caller expecting the label's color would silently receive the accent instead of Theme.ink.
Prompt for LLM
File Sources/CodeCaps/GlanceViews.swift:
Line 1107 to 1113:
Orphaned computed property in `GlanceAlarmAllToggle` (Sources/CodeCaps/GlanceViews.swift): `private var tint: AnyShapeStyle` has no remaining call sites after `.foregroundStyle(tint)` inside `label` was changed to `.foregroundStyle(Theme.ink)`. Delete the property — it still resolves `isOn` and `model.accentColor`, so any future caller expecting the label's color would silently receive the accent instead of `Theme.ink`.
Talk to Kody by mentioning @kody
Was this suggestion helpful? React with 👍 or 👎 to help Kody learn from this interaction.
Four owner tweaks from 2026-10-10.
Usage flame beside each row's logo in the PiP — beside the logo rather than after the name because the name is the first thing the width ladder drops, so at narrow widths this is the only place the signal survives.
"All" in ink, not the accent. It was the one control in the header wearing the accent while meaning nothing by it.
The owner's mark at the popover's top-left, before "CodeCaps" — the same black-on-transparent artwork the menu bar and PiP use, as a template. This is the Glance popover, not the PiP: the PiP header is gone by the owner's own request in feat(pip): drop the header band, and let the platform name go before the logo #193.
The scope switch reads as a toggle. It had a full-height rule between the boxes and an outline around the pair, which reads as two adjacent rectangles rather than one control. Now a filled track under an unselected segment, matching the footer's Open CodeCaps: same corner radius, accent fill, on-accent ink. Added a
controlTracktoken beside the existing control colours rather than inlining a colour.The header tests caught the first attempt, and they were right. Changing the header HStack's spacing from 0 to 4 did not add 4pt — it added 4pt to every implicit gap in a row with eight or more children, about 32pt of a 570pt popover, enough to crowd the cluster outright. The gap now lives on the mark alone. The remaining 16pt is the mark's true cost, and the width-budget test now includes it rather than being quietly loosened.
swift buildclean;swift test394 passed, 3 skipped, 0 failures.