Skip to content

Look: the app icon, Pitch and Cinder in its orange, and every tab one width - #35

Merged
Maxaubert merged 8 commits into
mainfrom
feat/app-icon
Sep 22, 2026
Merged

Maxaubert merged 8 commits into
mainfrom
feat/app-icon

Conversation

@Maxaubert

Copy link
Copy Markdown
Owner

Owner, 2026-09-20: "use this for the prism terminal icon", with the artwork attached.

build/icon.ico is what the app, the installer, the uninstaller and the taskbar all read, so one file covers every place the icon appears.

tools/make-icon.py builds it from build/icon-source.png: ten frames from 16 to 256, each resampled from the FULL-SIZE artwork with LANCZOS rather than from the frame above it, so the 16px one (the size the taskbar and Explorer's details view draw all day) is as sharp as the source allows instead of a copy of a copy.

Verified: packaged and installed here, 0.7.0 to 0.7.1 with the exe's timestamp moved, and the icon read back OUT of the installed exe rather than off the source file. Rendered at 16, 32, 48 and 128 to check it still reads small: the silhouette and the white wave survive, which is what matters on a taskbar.

I told the owner it reads as a Microsoft Edge derivative and what that risks on a public release; they answered "its not its just similar. use it", which is their call to make.

0.7.1. Merge this BEFORE the help-panel PR (0.8.0), or the release numbers go backwards.

🤖 Generated with Claude Code

Maxaubert added a commit that referenced this pull request Sep 21, 2026
Owner, 2026-09-21: new artwork, replacing the blue swirl of the day before.
Same builder, same ten frames; the source is their own
'Prism Terminal Icon Concepts 2026-09-21 - Soft Colours/05-orange-charcoal'.

The PNG is used rather than the JPG that arrived in chat: a JPEG carries no
alpha, so its transparency had been flattened onto BLACK and an icon built
from it would wear a black card on every taskbar. make-icon.py refuses such a
source, which is how this was caught rather than shipped.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Maxaubert added a commit that referenced this pull request Sep 21, 2026
#35 now carries the icon, the two icon themes and the fixed tabs as 0.8.0, so
this one must climb past it or the release numbers go backwards. Core stays
0.7.0, which is above #35's 0.6.1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@Maxaubert Maxaubert changed the title The app wears the owner's own mark Look: the app icon, Pitch and Cinder in its orange, and every tab one width Sep 21, 2026
@Maxaubert

Copy link
Copy Markdown
Owner Author

Two more asks from the owner (2026-09-21) folded in, since both are the app's look:

"two themes that match the app icon colour scheme, one with orange and black, and one with orange and dark grey" ("change a couple is better"). Pitch and Cinder, the two ORIGINALS whose names already fitted, now wear the icon's orange #ec9448 as cursor AND chrome accent, on black and on the icon's own dark grey #383c44. The public schemes keep their real colours. The contrast floors hold on both (the legibility test runs over every preset), and a test pins the pair.

"make tabs in both apps have a fixed size". flex: 0 1 176px, min 72px: one width, all shrinking equally only when the strip is full. tabWidth opens three folders with names of very different lengths and measures 176 / 176 / 176, the long name truncated inside.

App 0.8.0 (features), core 0.6.1. The help PR #36 is bumped to 0.9.0 so it still climbs past this. Full e2e green; installed here (0.7.1 -> 0.8.0, the exe's timestamp moved).

Maxaubert and others added 8 commits September 22, 2026 15:01
Owner, 2026-09-20: "use this for the prism terminal icon", with the artwork.
build/icon.ico is what the app, the installer, the uninstaller and the taskbar
all read, so one file covers every place it appears.

tools/make-icon.py builds it from build/icon-source.png: ten frames from 16 to
256, each RESAMPLED FROM THE FULL-SIZE ARTWORK rather than from the frame above
it, so the 16px one - the size the taskbar and Explorer's details view draw all
day - is as sharp as the source allows instead of a copy of a copy. 0.7.1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Owner, 2026-09-21: new artwork, replacing the blue swirl of the day before.
Same builder, same ten frames; the source is their own
'Prism Terminal Icon Concepts 2026-09-21 - Soft Colours/05-orange-charcoal'.

The PNG is used rather than the JPG that arrived in chat: a JPEG carries no
alpha, so its transparency had been flattened onto BLACK and an icon built
from it would wear a black card on every taskbar. make-icon.py refuses such a
source, which is how this was caught rather than shipped.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
… one width

Owner, 2026-09-21: "two themes that match the app icon colour scheme, one with
orange and black, and one with orange and dark grey" ("change a couple is
better" than adding), and "make tabs in both apps have a fixed size, and not
dynamically adjust based on the content".

Pitch and Cinder are the two originals whose names already fitted; orange
grey #383c44. The public schemes keep their real colours.

A tab is flex 0 1 176px now: one width that shrinks equally only when the strip
is full. tabWidth measures the boxes with names of very different lengths.
App 0.8.0, core 0.6.1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Owner, 2026-09-21: "the fixed size needs to be way smaller. around the size
that the explorer tab had in prism. I'd say around 60% of what it is now".
176px -> 106px (60%), min 64px. tabWidth measures 106 / 106 / 106.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Owner, 2026-09-21: "new pt icon", from their own concepts
('Orange Spirals/04-dark-grey-symbols'), replacing the cream-symbol version of
this morning. Same builder, ten frames from the full-size PNG.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Owner, 2026-09-21: "make the tabs a bit wider like 20%". 106px -> 127px.
tabWidth measures 127 / 127 / 127.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The paste fix is a bug fix and should merge first, as core 0.6.1; this look
PR's own core change climbs past it. App stays 0.8.0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Owner, 2026-09-22: "make the tabs 10% less wide". 127px -> 114px.
tabWidth measures 114 / 114 / 114.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@Maxaubert
Maxaubert merged commit da893af into main Sep 22, 2026
2 checks passed
@Maxaubert
Maxaubert deleted the feat/app-icon branch September 22, 2026 13:40
github-actions Bot pushed a commit that referenced this pull request Sep 22, 2026
… width (#35)

* feat(icon): the app wears the owner's own mark

Owner, 2026-09-20: "use this for the prism terminal icon", with the artwork.
build/icon.ico is what the app, the installer, the uninstaller and the taskbar
all read, so one file covers every place it appears.

tools/make-icon.py builds it from build/icon-source.png: ten frames from 16 to
256, each RESAMPLED FROM THE FULL-SIZE ARTWORK rather than from the frame above
it, so the 16px one - the size the taskbar and Explorer's details view draw all
day - is as sharp as the source allows instead of a copy of a copy. 0.7.1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* feat(icon): the soft orange and charcoal mark (#35)

Owner, 2026-09-21: new artwork, replacing the blue swirl of the day before.
Same builder, same ten frames; the source is their own
'Prism Terminal Icon Concepts 2026-09-21 - Soft Colours/05-orange-charcoal'.

The PNG is used rather than the JPG that arrived in chat: a JPEG carries no
alpha, so its transparency had been flattened onto BLACK and an icon built
from it would wear a black card on every taskbar. make-icon.py refuses such a
source, which is how this was caught rather than shipped.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* feat(look): Pitch and Cinder wear the icon's orange, and every tab is one width

Owner, 2026-09-21: "two themes that match the app icon colour scheme, one with
orange and black, and one with orange and dark grey" ("change a couple is
better" than adding), and "make tabs in both apps have a fixed size, and not
dynamically adjust based on the content".

Pitch and Cinder are the two originals whose names already fitted; orange
grey #383c44. The public schemes keep their real colours.

A tab is flex 0 1 176px now: one width that shrinks equally only when the strip
is full. tabWidth measures the boxes with names of very different lengths.
App 0.8.0, core 0.6.1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix(tabs): 106px, the size the Explorer tab had in Prism

Owner, 2026-09-21: "the fixed size needs to be way smaller. around the size
that the explorer tab had in prism. I'd say around 60% of what it is now".
176px -> 106px (60%), min 64px. tabWidth measures 106 / 106 / 106.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* feat(icon): the orange spiral with dark-grey symbols

Owner, 2026-09-21: "new pt icon", from their own concepts
('Orange Spirals/04-dark-grey-symbols'), replacing the cream-symbol version of
this morning. Same builder, ten frames from the full-size PNG.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix(tabs): 127px, 20% wider

Owner, 2026-09-21: "make the tabs a bit wider like 20%". 106px -> 127px.
tabWidth measures 127 / 127 / 127.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* build: core 0.6.2, above the paste fix's 0.6.1 (#37)

The paste fix is a bug fix and should merge first, as core 0.6.1; this look
PR's own core change climbs past it. App stays 0.8.0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix(tabs): 114px, 10% narrower

Owner, 2026-09-22: "make the tabs 10% less wide". 127px -> 114px.
tabWidth measures 114 / 114 / 114.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Maxaubert added a commit that referenced this pull request Sep 22, 2026
#35 now carries the icon, the two icon themes and the fixed tabs as 0.8.0, so
this one must climb past it or the release numbers go backwards. Core stays
0.7.0, which is above #35's 0.6.1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Maxaubert added a commit that referenced this pull request Sep 22, 2026
…d the width is draggable (#12) (#36)

* feat(help): every row names itself, carries hidden search words, and the width is draggable (#12)

Owner, 2026-09-20: "make sure the names or description headers are good. they
should be ultra concise and they should not say things like copy it to the
clipboard. what is it? and they should be very searchable. including a lot of
meta tags that are not visible to the user but lets them search easier", and
"you also need to be able to adjust the width of this since some text can be
seen", and of the sentence under the list, "remove this line".

Every variant label was a caption under its parent's title until the panel
became a table; 828 rows were renamed to stand alone and every variant gained
3-12 hidden keywords, gated by catalogue.test.ts rather than by eye. Ids,
commands, summaries and danger lines are byte-identical, checked out of git.

The popup's width is dragged from either edge and remembered; the footer is
the keys and nothing else. App 0.8.0, core 0.7.0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* build: 0.9.0, above the look PR's 0.8.0 (#35)

#35 now carries the icon, the two icon themes and the fixed tabs as 0.8.0, so
this one must climb past it or the release numbers go backwards. Core stays
0.7.0, which is above #35's 0.6.1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
github-actions Bot pushed a commit that referenced this pull request Sep 22, 2026
…d the width is draggable (#12) (#36)

* feat(help): every row names itself, carries hidden search words, and the width is draggable (#12)

Owner, 2026-09-20: "make sure the names or description headers are good. they
should be ultra concise and they should not say things like copy it to the
clipboard. what is it? and they should be very searchable. including a lot of
meta tags that are not visible to the user but lets them search easier", and
"you also need to be able to adjust the width of this since some text can be
seen", and of the sentence under the list, "remove this line".

Every variant label was a caption under its parent's title until the panel
became a table; 828 rows were renamed to stand alone and every variant gained
3-12 hidden keywords, gated by catalogue.test.ts rather than by eye. Ids,
commands, summaries and danger lines are byte-identical, checked out of git.

The popup's width is dragged from either edge and remembered; the footer is
the keys and nothing else. App 0.8.0, core 0.7.0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* build: 0.9.0, above the look PR's 0.8.0 (#35)

#35 now carries the icon, the two icon themes and the fixed tabs as 0.8.0, so
this one must climb past it or the release numbers go backwards. Core stays
0.7.0, which is above #35's 0.6.1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Maxaubert added a commit that referenced this pull request Sep 23, 2026
Settings > Appearance > Tab width. Fixed (the default) is every tab one
width, as since #35; Fit to name is the strip from before, each tab as
wide as its name up to 14rem.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Maxaubert added a commit that referenced this pull request Sep 23, 2026
…56) (#57)

* feat(settings): Tab width, Fixed or Fit to name (#56)

Settings > Appearance > Tab width. Fixed (the default) is every tab one
width, as since #35; Fit to name is the strip from before, each tab as
wide as its name up to 14rem.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat(settings): Tab width is Dynamic by default, and first on Appearance (#56)

Owner: "put the option closer to the top of appearance, and call it dynamic
not based on name. also have dynamic be the default setting, not fixed".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Maxaubert added a commit that referenced this pull request Sep 25, 2026
…2e harness (#71) (#72)

Settings: the colour editor saves the whole setup into Custom and is a theme
pick (#8, #29); ThemeSwitchAsk registers once (#22); a hex field commits only
a changed draft (#26); the dictation key is never a key that types or a chord
the terminal owns, and a press elsewhere ends the capture (#27); the editor
takes the focus, traps Tab and hears Escape, the pencil is its own button
(#28); a finished download reads fresh state before picking the model (#30).

Release and CI: release.yml tags the built commit (#11); core-release runs
from main only (#34), waits for terminal-gate by name and its success (#38),
and opens an issue when a core change cannot be released; core-version also
requires the core version above the base's (#39).

Harness: a time limit per scenario and closeApp (#35), profiles removed after
each scenario (#36), the poll's first verdict awaited instead of 6 s (#37).

Core 0.15.3, app 0.18.3. New reviewSettings e2e and unit tests.


Claude-Session: https://claude.ai/code/session_01LJbePcRzre7AusNzPNS2Bk

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
github-actions Bot pushed a commit that referenced this pull request Sep 25, 2026
…2e harness (#71) (#72)

Settings: the colour editor saves the whole setup into Custom and is a theme
pick (#8, #29); ThemeSwitchAsk registers once (#22); a hex field commits only
a changed draft (#26); the dictation key is never a key that types or a chord
the terminal owns, and a press elsewhere ends the capture (#27); the editor
takes the focus, traps Tab and hears Escape, the pencil is its own button
(#28); a finished download reads fresh state before picking the model (#30).

Release and CI: release.yml tags the built commit (#11); core-release runs
from main only (#34), waits for terminal-gate by name and its success (#38),
and opens an issue when a core change cannot be released; core-version also
requires the core version above the base's (#39).

Harness: a time limit per scenario and closeApp (#35), profiles removed after
each scenario (#36), the poll's first verdict awaited instead of 6 s (#37).

Core 0.15.3, app 0.18.3. New reviewSettings e2e and unit tests.


Claude-Session: https://claude.ai/code/session_01LJbePcRzre7AusNzPNS2Bk

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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