Family colors: brand gradient title, turquoise AIC (1.1.0) #7

Merged
claude merged 14 commits from oss-oo/family-title-and-aic-colors into main 2026-10-27 22:15:31 +00:00
Member

Follow-up for 1.1.0, asked by Claudiu after #6: color in the popup title as in the Claude and Z applets, a turquoise instead of the critical pink for AIC usage, and no Spark promotion in the README.

  • The title's "ChatGPT" runs a gradient from the G emblem's mint ring (#b5ffed) to the credit turquoise (#3ddbd9); the rest of the title takes the softened theme gray, as in the siblings.
  • AIC credit consumption, the "Used:" line and the credit bars in the activity chart, uses that turquoise (CREDIT_COLOR) instead of the configurable critical color, which keeps marking low quotas.
  • On a light popup (Mint-Y) both accents deepen in tenths toward the theme's text color until they reach 3:1 against the surface (UsageFormat.legibleAccent); on dark popups they are unchanged. A translated title that does not start with "ChatGPT" keeps a plain heading; a transparent popup surface falls back to the designed dark surface.
  • README: Spark is no longer promoted (OpenAI offers no such sub-plan right now); the applet still shows model-specific limits on its own when they are reported — "Supports dynamic sub-plans if available (experimental)". The four Spark captures are retired; 18 README images remain, recaptured from dd7f2df.
  • Capture harness: the bucket-tooltip hover and the model-visibility check work when only the Codex chart / no model limits exist.

Validation: make verify green; 89/89 baselined mutants (dd7f2df); independent read-only review of the color delta (2 major, 2 minor, 1 nit, all fixed in dd7f2df) and of the fix delta; a light-theme probe capture as evidence.

🤖 Generated with Claude Code

Follow-up for **1.1.0**, asked by Claudiu after #6: color in the popup title as in the Claude and Z applets, a turquoise instead of the critical pink for AIC usage, and no Spark promotion in the README. - The title's "ChatGPT" runs a gradient from the G emblem's mint ring (`#b5ffed`) to the credit turquoise (`#3ddbd9`); the rest of the title takes the softened theme gray, as in the siblings. - AIC credit consumption, the "Used:" line and the credit bars in the activity chart, uses that turquoise (`CREDIT_COLOR`) instead of the configurable critical color, which keeps marking low quotas. - On a light popup (Mint-Y) both accents deepen in tenths toward the theme's text color until they reach 3:1 against the surface (`UsageFormat.legibleAccent`); on dark popups they are unchanged. A translated title that does not start with "ChatGPT" keeps a plain heading; a transparent popup surface falls back to the designed dark surface. - README: Spark is no longer promoted (OpenAI offers no such sub-plan right now); the applet still shows model-specific limits on its own when they are reported — "Supports dynamic sub-plans if available (experimental)". The four Spark captures are retired; 18 README images remain, recaptured from dd7f2df. - Capture harness: the bucket-tooltip hover and the model-visibility check work when only the Codex chart / no model limits exist. Validation: `make verify` green; 89/89 baselined mutants (dd7f2df); independent read-only review of the color delta (2 major, 2 minor, 1 nit, all fixed in dd7f2df) and of the fix delta; a light-theme probe capture as evidence. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
claude agent added 1 commit 2026-10-27 20:31:35 +00:00
Family colors: brand gradient title, turquoise AIC consumption
Some checks failed
Checks / Functional checks (pull_request) Has been cancelled
f7098afad1
Claudiu asked for color in the popup title, as in the Claude and Z
applets, and for a turquoise instead of the critical pink for AIC usage.
The title's "ChatGPT" runs from the G emblem's mint ring (#b5ffed) to
the credit turquoise (#3ddbd9) with the rest of the title in a softened
gray; the "Used:" line and the chart's credit bars use that turquoise
(CREDIT_COLOR) instead of the configurable critical color. A brand-colors
suite covers the markup, the escaping and the credit colors.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
README without Spark promotion; dynamic sub-plans stay supported
Some checks failed
Checks / Functional checks (pull_request) Has been cancelled
c4efb0c95a
Claudiu: Codex Spark is not active at the moment and need not be
advertised; such sub-plans may come back, as dynamic plans did in the Z
applet. The published capture fixtures show the Codex plan only, the
four Spark captures (Spark popup, four rings, Codex+Spark panel anchors)
leave the README, the inventories and the capture set, and the README
says the applet supports dynamic sub-plans if available (experimental).
The spark and four capture variants remain for QA.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bucket capture: hover the Codex chart when it is the only one
Some checks failed
Checks / Functional checks (pull_request) Failing after 41s
17ad2561dd
The bucket-tooltip variant required two activity charts because it used
to hover the shared Spark chart; without Spark in the published fixtures
the Codex 7d chart (quota and AIC series) is the one to hover.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Model-visibility capture check works without model limits
Some checks failed
Checks / Functional checks (pull_request) Failing after 40s
4c9f1d869f
The codex-only panel captures toggle model-specific limits and required
model headings to appear; without Spark in the published fixtures there
are none. The check now requires headings exactly when the fixture has
model limits, and an unchanged snapshot either way.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The title gradient and the AIC turquoise were picked for dark popups and
nearly vanished on Mint-Y (1.05:1 and 1.43:1 against the surface). Both now
deepen in tenths toward the theme's text color until they reach 3:1; on
dark popups they are unchanged. The title's brand is "ChatGPT" at the start
of the title, so a translation that puts it elsewhere keeps a plain
heading, and a transparent popup surface falls back to the designed dark
surface for the softened tail.

The brand test now runs the header item and the title on dark, light and
transparent surfaces, and its activity-chart check reads the right slice of
the source.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
README screenshots with the family colors
All checks were successful
Checks / Functional checks (pull_request) Successful in 39s
c5b069ae10
All 18 images recaptured from dd7f2df in the private Mint-Y-Dark-Aqua
session: the brand gradient title and the turquoise AIC consumption, no
Spark captures. The inventory now matches the producing sources again and
the rights inventory carries the new hashes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Second review of the color work:

- An accent now stops only at 3:1 on the same side of the surface as the
  theme text. On a mid-gray popup with black text the mint end used to stay
  lighter and the turquoise end go darker, so the letters between them
  passed through the surface color.
- The surface is the content box over the menu actor, each blended by its
  alpha: Cinnamon's default theme paints only the box. Without an opaque
  surface the theme text picks a dark or a light fallback.
- The credit bars keep their lighter top only on dark popups.
- The thin gap after the brand only replaces a following space, so a
  compound translation keeps its gradient without a gap; the thin space is
  an escape again.
- The 3:1 trade-off against AA's 4.5:1 is stated in the code.
- Capture harness: hidden model limits carry Spark data again, so the
  model-visibility check is real; spark and four are QA-only specs that
  --only selects; a partial run drops retired names from the inventory;
  the QA guide points at specs that exist.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Recapture the README screenshots at c47b334
All checks were successful
Checks / Functional checks (pull_request) Successful in 43s
52314fe55d
All 18 images from c47b334 in the private Mint-Y-Dark-Aqua session. Against
the dd7f2df set only clock-relative text differs (reset and expiry times);
the popup corner and every panel image are pixel-identical, and the
Codex-only panel pair now runs its model-visibility check with Spark data
present.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Third review of the color work:

- Without an opaque popup surface the fallback is the one the theme text
  reads best on (contrast decides), so light-gray text keeps the dark
  surface instead of flipping to the light one at a luminance of 0.5.
- The screenshot corner and the copied screenshot take their radius from
  the layer that paints the surface: the content box in Cinnamon's default
  theme (16 px), else the menu actor as before.
- QA-only captures record into their own qa-inventory.json, and --only
  refuses names without a spec.
- The panel-alert fixture keeps only Codex history, so it works with specs
  that hide model limits.
- Tests read the box-painted surface and the radius directly; the activity
  chart slice ends at the next method; the gradient comment says what holds
  on the light side.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Recapture the README screenshots at b51ef4d
All checks were successful
Checks / Functional checks (pull_request) Successful in 37s
69e37a29d0
All 18 images from b51ef4d in the private Mint-Y-Dark-Aqua session; only
clock-relative text differs from the c47b334 set. Probes in the light Mint-Y
theme and in Cinnamon's default theme (16 px content-box corner) stay
evidence outside the README set.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fourth review of the color work:

- The corner radius is the layer's top-left radius (St.Corner.TOPLEFT), and
  0 stays 0: a popup under a top panel has a square top-left corner, where
  the corner button used to draw a rounded dog-ear. Only an unreadable theme
  falls back to 6, with a warning.
- The copied screenshot captures the menu actor's rectangle, so its
  transparent corner follows the actor's radius; the on-screen corner
  follows the layer that paints the surface (the content box in Cinnamon's
  default theme).
- Tests pin the box over the actor with distinct radii and cover the
  unreadable-theme path; no test asserts the HiDPI scaling of the copy.
- capture.py: --only needs at least one name, and an existing manifest
  loses foreign and retired entries right after loading.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Recapture the README screenshots at 9657cb8
All checks were successful
Checks / Functional checks (pull_request) Successful in 44s
fb73b2e219
All 18 images from 9657cb8 in the private Mint-Y-Dark-Aqua session. The
popup under the top panel now shows a square screenshot corner instead of
the rounded dog-ear; everything else differs from the b51ef4d set only in
clock-relative text.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fifth review of the color work:

- A full capture run resets only inventory.json; qa-inventory.json keeps its
  entries (minus names without a spec), so QA captures keep their
  provenance.
- Theme reads in the corner's repaint path report a failure once per kind
  instead of on every frame, and _menuRadius() no longer dereferences a
  missing menu.
- The changelog says where the corner is square: wherever the theme squares
  it, under a top or left panel in Mint-Y and Mint-X, also in the copy.
- Tests cover an unreadable content box, a missing menu and the single
  warning.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Recapture the README screenshots at 4358a87
All checks were successful
Checks / Functional checks (pull_request) Successful in 44s
954959ee60
All 18 images from 4358a87 in the private Mint-Y-Dark-Aqua session; only
clock-relative text differs from the 9657cb8 set.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude agent merged commit 7d0997e8a1 into main 2026-10-27 22:15:31 +00:00
claude agent deleted branch oss-oo/family-title-and-aic-colors 2026-10-27 22:15:32 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
OSS-Singularity/cinnamon-chatgpt-usage!7
No description provided.