Skip to content

feat(glance,pip): the owner's mark and flame, ink for "All", one control vocabulary - #208

Merged
jaywedgeworth22 merged 2 commits into
mainfrom
mm/glance-chrome-tweaks
Oct 10, 2026
Merged

jaywedgeworth22 merged 2 commits into
mainfrom
mm/glance-chrome-tweaks

Conversation

@jaywedgeworth22

Copy link
Copy Markdown
Collaborator

Four owner tweaks from 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, so at narrow widths this is the only place the signal survives.

  2. "All" in ink, not the accent. It was the one control in the header wearing the accent while meaning nothing by it.

  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, 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.

  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. Now a filled track under an unselected segment, matching the footer's Open CodeCaps: same corner radius, accent fill, on-accent ink. Added a controlTrack token 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 build clean; swift test 394 passed, 3 skipped, 0 failures.

…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.
@kody-ai

kody-ai Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Code Review Completed! 🔥

The code review was successfully completed based on your current configurations.

Kody Guide: Usage and Configuration
Interacting with Kody
  • Request a Review: Ask Kody to review your PR manually by adding a comment with the @kody start-review command at the root of your PR.

  • Validate Business Logic: Ask Kody to validate your code against business rules by adding a comment with the @kody -v business-logic command.

  • Provide Feedback: Help Kody learn and improve by reacting to its comments with a 👍 for helpful suggestions or a 👎 if improvements are needed.

Current Kody Configuration
Review Options

The following review options are enabled or disabled:

Options Enabled
Bug ✅
Performance ✅
Security ✅
Business Logic ✅

Access your configuration settings here.

​

@kody-ai

kody-ai Bot commented Oct 10, 2026

Copy link
Copy Markdown

kody code-review Business Logic medium

🤔 Insufficient Task Context

I 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:

  • Business requirements and acceptance criteria
  • Expected behavior and business rules
  • Edge cases and constraints to consider

💡 How to improve the task context:

  • Add a description to the linked ticket
  • Include acceptance criteria or business rules
  • Describe the expected behavior after the change

⚠️ Important:

A task title alone is not sufficient to determine whether the implementation is correct or complete.


💡 This validation runs automatically only on the first review of a pull request. To run it again, comment @kody -v business-logic.

Comment thread Sources/CodeCaps/PipWidget.swift
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.
@kody-ai

kody-ai Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Code Review Completed! 🔥

The code review was successfully completed based on your current configurations.

Kody Guide: Usage and Configuration
Interacting with Kody
  • Request a Review: Ask Kody to review your PR manually by adding a comment with the @kody start-review command at the root of your PR.

  • Validate Business Logic: Ask Kody to validate your code against business rules by adding a comment with the @kody -v business-logic command.

  • Provide Feedback: Help Kody learn and improve by reacting to its comments with a 👍 for helpful suggestions or a 👎 if improvements are needed.

Current Kody Configuration
Review Options

The following review options are enabled or disabled:

Options Enabled
Bug ✅
Performance ✅
Security ✅
Business Logic ✅

Access your configuration settings here.

​

@jaywedgeworth22
jaywedgeworth22 merged commit 63ccbf8 into main Oct 10, 2026
4 checks passed
@jaywedgeworth22
jaywedgeworth22 deleted the mm/glance-chrome-tweaks branch October 10, 2026 22:10
@kody-ai

kody-ai Bot commented Oct 10, 2026

Copy link
Copy Markdown

kody code-review Business Logic medium

🤔 Insufficient Task Context

I 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:

  • Business requirements and acceptance criteria
  • Expected behavior and business rules
  • Edge cases and constraints to consider

💡 How to improve the task context:

  • Add a description to the linked ticket
  • Include acceptance criteria or business rules
  • Describe the expected behavior after the change

⚠️ Important:

A task title alone is not sufficient to determine whether the implementation is correct or complete.


💡 This validation runs automatically only on the first review of a pull request. To run it again, comment @kody -v business-logic.

Comment on lines 1107 to +1113
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)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

kody code-review Bug low

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.

​

​

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