fix(web): restore fork artwork on the default theme - #113
Merged
Conversation
yngatech-nightly
Bot
force-pushed
the
main
branch
from
August 13, 2026 12:15
21f3064 to
90e6a92
Compare
This was referenced Aug 13, 2026
The Yngatech stage palette was scoped to `html[data-theme-id="t3-chat"]`, but the default T3 Code theme carries no `data-theme-id` at all: `applyThemePalette` deletes the attribute whenever the preference does not resolve to a stored palette, and the settings grid renders that state as the T3 Code card. Everyone on the default theme therefore fell through to upstream's pigments, so Nightly showed the upstream purple sky and Dev the upstream blue blueprint. Scope the fork pigments to the absence of `data-theme-id`, and cover the Dev blueprint alongside the Nightly sky. The pigments sit on the root rather than on the artwork element because the sidebar focus rings offset against `--stage-art-bottom` from outside the SVG and would otherwise stay upstream blue. T3 Chat now derives from its own pigments like the rest of the named built-ins. ## Verification - Computed `--stage-art-top` / `--stage-night-top` in a running dev client: default theme resolves to `#5cd6ce` / `#10484f` light and `#35939c` / `#10484f` dark; Iris and T3 Chat still resolve to their own OKLCH color-mix values - `vp fmt apps/web/src/yngatech.css --check` --- Written by an agent (T3 Code, claude-opus-5).
incognitojam
force-pushed
the
t3code/fix-default-theme-artwork
branch
from
August 13, 2026 13:05
79154a9 to
374288f
Compare
incognitojam
enabled auto-merge (squash)
August 13, 2026 13:05
yngatech-nightly Bot
pushed a commit
that referenced
this pull request
Aug 13, 2026
> [!NOTE] > The fork's teal stage artwork was scoped to the T3 Chat theme, but the default T3 Code theme has no `data-theme-id` for that selector to match. Everyone on the default theme saw upstream's palette. This scopes the fork pigments to the absence of `data-theme-id` and covers the Dev blueprint as well as the Nightly sky. `#96` moved the Yngatech colorway out of `index.css` into `yngatech.css` and scoped it to `html[data-theme-id="t3-chat"] .stage-nightly`. The default T3 Code theme never carries a `data-theme-id`: `applyThemePalette` deletes the attribute whenever the preference does not resolve to a stored palette, and the settings grid renders that state as the T3 Code card. So the one theme most users run could not match the fork's own selector, and fell through to upstream's pigments — the purple Nightly sky and the blue Dev blueprint. Scope the fork pigments to the absence of `data-theme-id` instead, and cover both artworks. The pigments sit on the root rather than on the artwork element because the sidebar focus rings offset against `--stage-art-bottom` from outside the SVG, and would otherwise stay upstream blue while the art went teal. T3 Chat now derives its sky from its own pigments like Grove, Ocean, Ember, and Iris. The fork identity belongs to the fork's default theme, not to a named accent theme. ## Before and after Both captures use the dark default T3 Code theme at the same sidebar width and crop. | | Before | After | | --- | --- | --- | | Nightly |  |  | | Dev |  |  | ## Verification - `vp test run src/components/SidebarStageBackdrop.test.tsx --project unit` — 8 tests passed - `vp fmt apps/web/src/yngatech.css --check` - Computed custom properties in a running dev client: the default theme resolves `--stage-art-top` / `--stage-night-top` to `#5cd6ce` / `#10484f` in light and `#35939c` / `#10484f` in dark; Iris and T3 Chat still resolve to their own OKLCH `color-mix` values, confirming the named built-ins are untouched - Captures above taken from that same client, forcing each stage variant in turn --- Written by an agent (T3 Code, claude-opus-5).
yngatech-nightly Bot
pushed a commit
that referenced
this pull request
Aug 13, 2026
> [!NOTE] > The fork's teal stage artwork was scoped to the T3 Chat theme, but the default T3 Code theme has no `data-theme-id` for that selector to match. Everyone on the default theme saw upstream's palette. This scopes the fork pigments to the absence of `data-theme-id` and covers the Dev blueprint as well as the Nightly sky. `#96` moved the Yngatech colorway out of `index.css` into `yngatech.css` and scoped it to `html[data-theme-id="t3-chat"] .stage-nightly`. The default T3 Code theme never carries a `data-theme-id`: `applyThemePalette` deletes the attribute whenever the preference does not resolve to a stored palette, and the settings grid renders that state as the T3 Code card. So the one theme most users run could not match the fork's own selector, and fell through to upstream's pigments — the purple Nightly sky and the blue Dev blueprint. Scope the fork pigments to the absence of `data-theme-id` instead, and cover both artworks. The pigments sit on the root rather than on the artwork element because the sidebar focus rings offset against `--stage-art-bottom` from outside the SVG, and would otherwise stay upstream blue while the art went teal. T3 Chat now derives its sky from its own pigments like Grove, Ocean, Ember, and Iris. The fork identity belongs to the fork's default theme, not to a named accent theme. ## Before and after Both captures use the dark default T3 Code theme at the same sidebar width and crop. | | Before | After | | --- | --- | --- | | Nightly |  |  | | Dev |  |  | ## Verification - `vp test run src/components/SidebarStageBackdrop.test.tsx --project unit` — 8 tests passed - `vp fmt apps/web/src/yngatech.css --check` - Computed custom properties in a running dev client: the default theme resolves `--stage-art-top` / `--stage-night-top` to `#5cd6ce` / `#10484f` in light and `#35939c` / `#10484f` in dark; Iris and T3 Chat still resolve to their own OKLCH `color-mix` values, confirming the named built-ins are untouched - Captures above taken from that same client, forcing each stage variant in turn --- Written by an agent (T3 Code, claude-opus-5).
yngatech-nightly Bot
pushed a commit
that referenced
this pull request
Aug 14, 2026
> [!NOTE] > The fork's teal stage artwork was scoped to the T3 Chat theme, but the default T3 Code theme has no `data-theme-id` for that selector to match. Everyone on the default theme saw upstream's palette. This scopes the fork pigments to the absence of `data-theme-id` and covers the Dev blueprint as well as the Nightly sky. `#96` moved the Yngatech colorway out of `index.css` into `yngatech.css` and scoped it to `html[data-theme-id="t3-chat"] .stage-nightly`. The default T3 Code theme never carries a `data-theme-id`: `applyThemePalette` deletes the attribute whenever the preference does not resolve to a stored palette, and the settings grid renders that state as the T3 Code card. So the one theme most users run could not match the fork's own selector, and fell through to upstream's pigments — the purple Nightly sky and the blue Dev blueprint. Scope the fork pigments to the absence of `data-theme-id` instead, and cover both artworks. The pigments sit on the root rather than on the artwork element because the sidebar focus rings offset against `--stage-art-bottom` from outside the SVG, and would otherwise stay upstream blue while the art went teal. T3 Chat now derives its sky from its own pigments like Grove, Ocean, Ember, and Iris. The fork identity belongs to the fork's default theme, not to a named accent theme. ## Before and after Both captures use the dark default T3 Code theme at the same sidebar width and crop. | | Before | After | | --- | --- | --- | | Nightly |  |  | | Dev |  |  | ## Verification - `vp test run src/components/SidebarStageBackdrop.test.tsx --project unit` — 8 tests passed - `vp fmt apps/web/src/yngatech.css --check` - Computed custom properties in a running dev client: the default theme resolves `--stage-art-top` / `--stage-night-top` to `#5cd6ce` / `#10484f` in light and `#35939c` / `#10484f` in dark; Iris and T3 Chat still resolve to their own OKLCH `color-mix` values, confirming the named built-ins are untouched - Captures above taken from that same client, forcing each stage variant in turn --- Written by an agent (T3 Code, claude-opus-5).
yngatech-nightly Bot
pushed a commit
that referenced
this pull request
Aug 14, 2026
> [!NOTE] > The fork's teal stage artwork was scoped to the T3 Chat theme, but the default T3 Code theme has no `data-theme-id` for that selector to match. Everyone on the default theme saw upstream's palette. This scopes the fork pigments to the absence of `data-theme-id` and covers the Dev blueprint as well as the Nightly sky. `#96` moved the Yngatech colorway out of `index.css` into `yngatech.css` and scoped it to `html[data-theme-id="t3-chat"] .stage-nightly`. The default T3 Code theme never carries a `data-theme-id`: `applyThemePalette` deletes the attribute whenever the preference does not resolve to a stored palette, and the settings grid renders that state as the T3 Code card. So the one theme most users run could not match the fork's own selector, and fell through to upstream's pigments — the purple Nightly sky and the blue Dev blueprint. Scope the fork pigments to the absence of `data-theme-id` instead, and cover both artworks. The pigments sit on the root rather than on the artwork element because the sidebar focus rings offset against `--stage-art-bottom` from outside the SVG, and would otherwise stay upstream blue while the art went teal. T3 Chat now derives its sky from its own pigments like Grove, Ocean, Ember, and Iris. The fork identity belongs to the fork's default theme, not to a named accent theme. ## Before and after Both captures use the dark default T3 Code theme at the same sidebar width and crop. | | Before | After | | --- | --- | --- | | Nightly |  |  | | Dev |  |  | ## Verification - `vp test run src/components/SidebarStageBackdrop.test.tsx --project unit` — 8 tests passed - `vp fmt apps/web/src/yngatech.css --check` - Computed custom properties in a running dev client: the default theme resolves `--stage-art-top` / `--stage-night-top` to `#5cd6ce` / `#10484f` in light and `#35939c` / `#10484f` in dark; Iris and T3 Chat still resolve to their own OKLCH `color-mix` values, confirming the named built-ins are untouched - Captures above taken from that same client, forcing each stage variant in turn --- Written by an agent (T3 Code, claude-opus-5).
incognitojam
added a commit
that referenced
this pull request
Aug 15, 2026
> [!NOTE] > The fork's teal stage artwork was scoped to the T3 Chat theme, but the default T3 Code theme has no `data-theme-id` for that selector to match. Everyone on the default theme saw upstream's palette. This scopes the fork pigments to the absence of `data-theme-id` and covers the Dev blueprint as well as the Nightly sky. `#96` moved the Yngatech colorway out of `index.css` into `yngatech.css` and scoped it to `html[data-theme-id="t3-chat"] .stage-nightly`. The default T3 Code theme never carries a `data-theme-id`: `applyThemePalette` deletes the attribute whenever the preference does not resolve to a stored palette, and the settings grid renders that state as the T3 Code card. So the one theme most users run could not match the fork's own selector, and fell through to upstream's pigments — the purple Nightly sky and the blue Dev blueprint. Scope the fork pigments to the absence of `data-theme-id` instead, and cover both artworks. The pigments sit on the root rather than on the artwork element because the sidebar focus rings offset against `--stage-art-bottom` from outside the SVG, and would otherwise stay upstream blue while the art went teal. T3 Chat now derives its sky from its own pigments like Grove, Ocean, Ember, and Iris. The fork identity belongs to the fork's default theme, not to a named accent theme. ## Before and after Both captures use the dark default T3 Code theme at the same sidebar width and crop. | | Before | After | | --- | --- | --- | | Nightly |  |  | | Dev |  |  | ## Verification - `vp test run src/components/SidebarStageBackdrop.test.tsx --project unit` — 8 tests passed - `vp fmt apps/web/src/yngatech.css --check` - Computed custom properties in a running dev client: the default theme resolves `--stage-art-top` / `--stage-night-top` to `#5cd6ce` / `#10484f` in light and `#35939c` / `#10484f` in dark; Iris and T3 Chat still resolve to their own OKLCH `color-mix` values, confirming the named built-ins are untouched - Captures above taken from that same client, forcing each stage variant in turn --- Written by an agent (T3 Code, claude-opus-5).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
The fork's teal stage artwork was scoped to the T3 Chat theme, but the default T3 Code theme has no
data-theme-idfor that selector to match. Everyone on the default theme saw upstream's palette. This scopes the fork pigments to the absence ofdata-theme-idand covers the Dev blueprint as well as the Nightly sky.#96moved the Yngatech colorway out ofindex.cssintoyngatech.cssand scoped it tohtml[data-theme-id="t3-chat"] .stage-nightly. The default T3 Code theme never carries adata-theme-id:applyThemePalettedeletes the attribute whenever the preference does not resolve to a stored palette, and the settings grid renders that state as the T3 Code card. So the one theme most users run could not match the fork's own selector, and fell through to upstream's pigments — the purple Nightly sky and the blue Dev blueprint.Scope the fork pigments to the absence of
data-theme-idinstead, and cover both artworks. The pigments sit on the root rather than on the artwork element because the sidebar focus rings offset against--stage-art-bottomfrom outside the SVG, and would otherwise stay upstream blue while the art went teal.T3 Chat now derives its sky from its own pigments like Grove, Ocean, Ember, and Iris. The fork identity belongs to the fork's default theme, not to a named accent theme.
Before and after
Both captures use the dark default T3 Code theme at the same sidebar width and crop.
Verification
vp test run src/components/SidebarStageBackdrop.test.tsx --project unit— 8 tests passedvp fmt apps/web/src/yngatech.css --check--stage-art-top/--stage-night-topto#5cd6ce/#10484fin light and#35939c/#10484fin dark; Iris and T3 Chat still resolve to their own OKLCHcolor-mixvalues, confirming the named built-ins are untouchedWritten by an agent (T3 Code, claude-opus-5).