Skip to content

feat(web): use OKLCH for theme palettes - #3

Merged
rynfar merged 2 commits into
pylonfrom
upstream/2026-08-11-oklch
Aug 11, 2026
Merged

feat(web): use OKLCH for theme palettes#3
rynfar merged 2 commits into
pylonfrom
upstream/2026-08-11-oklch

Conversation

@rynfar

@rynfar rynfar commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

Moves palette generation to OKLCH so generated theme ramps are perceptually uniform. Rewrites themePalette.ts (+592), index.css, and the boot script in index.html, and updates ThemeColorPicker and the VS Code theme importer.

Adds two dependencies: culori and @types/culori.

Cherry-picked from upstream 083fa4ab24c464ddf01e5b7ab22135d1ebdc120b (pingdotgg/t3code#6036). Clean, despite five files where Pylon had diverged.

Why it applies cleanly: #6183 (theme-aware environment artwork) is an ancestor of this commit, and Pylon adopted that earlier today. Taking these out of order would have fought.

index.html checked Pylon-first. The diff adds no visible T3 branding and leaves <title>Pylon (Alpha)</title> untouched. The t3-chat-dark theme id and the boot-script comments that mention T3 Chat were already on pylon (5 references before this change, none added) and are compatibility identifiers — renaming them would orphan saved themes.

Also carries the ledger entry for this batch, covering both this PR and #2, and advances reviewed-through to 2db08457f. DEF-1 and DEF-2 re-evaluated and still deferred: the date gate is 2026-08-25 and the churn check is non-empty.

Verification

themePalette, themeBoot, vscodeThemeImport, and SidebarStageBackdrop pass (78 tests). Web typecheck, lint, and format clean.

Worth a human eye before merge: tests confirm the math, not the appearance. A color-space change can compute correctly and still shift how the five built-in themes look, so this deserves one pass in a real client.

Model: Claude Opus 5 (1M context). Harness: Claude Code.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

StiensWout and others added 2 commits August 11, 2026 14:03
(cherry picked from commit 083fa4ab24c464ddf01e5b7ab22135d1ebdc120b)
@github-actions github-actions Bot added size:XXL vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels Aug 11, 2026
@github-actions

Copy link
Copy Markdown

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 11.4 KiB 11.3 KiB −4 B (−0.0%) 15.1 KiB
Codex Thread snapshot wire 5.5 KiB 5.5 KiB +2 B (+0.0%) 7.3 KiB
Codex Live turn WebSocket wire 5.9 KiB 5.9 KiB −6 B (−0.1%) 7.8 KiB
Codex Live turn WebSocket decoded 49.7 KiB 49.7 KiB 0 B (0.0%) 66.4 KiB
Codex Live turn messages 16 16 0 (0.0%) 21
Claude Total thread wire 11.4 KiB 11.4 KiB +3 B (+0.0%) 15.1 KiB
Claude Thread snapshot wire 5.5 KiB 5.5 KiB +4 B (+0.1%) 7.3 KiB
Claude Live turn WebSocket wire 5.9 KiB 5.9 KiB −1 B (−0.0%) 7.8 KiB
Claude Live turn WebSocket decoded 50.6 KiB 50.6 KiB 0 B (0.0%) 66.4 KiB
Claude Live turn messages 16 16 0 (0.0%) 21

Baseline: c53f5b8 · PR result: 10ff060 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 94.6 KiB
  • Claude decoded thread snapshot: 95.4 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@rynfar
rynfar merged commit 2faf7c4 into pylon Aug 11, 2026
11 checks passed
@rynfar
rynfar deleted the upstream/2026-08-11-oklch branch August 11, 2026 20:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants