Skip to content

feat(app): mascot redrawn from the flame poses, and a new app icon - #44

Merged
httpsphl merged 2 commits into
mainfrom
feat/mascot-glow
Sep 30, 2026
Merged

httpsphl merged 2 commits into
mainfrom
feat/mascot-glow

Conversation

@httpsphl

Copy link
Copy Markdown
Owner

What

Mascot (BotAvatar)

  • The avatar is traced from the first pose of the brand's flame sheet (mascotArt.ts): the same body with its tongues of fire, plus the loose drop of fire above the tip, stronger light and shadow (13 layers, a sharper blur) and glossy black eyes with a reddish glow at the bottom.
  • The re-tint now takes the palette's first color (#FF7A59) as the one that shows the drawing as drawn. An orange bot looks just like the drawing, and the lighter palette colors keep their depth instead of washing out. Existing bots keep their color; it just renders more vivid.
  • The drop of fire goes a little past the top of the avatar's square, as the embers already did, so the body keeps its size.
  • Every mood burns as before: the old flame frames were carried over to the new outline with a thin-plate spline fitted to them, and the drop follows the flame.
  • While idle, the eyes glance down and to the side now and then, as in the drawing's poses (eye-look in mascot.css; less motion stops it).

App icon

  • app-icon.svg is rebuilt from the same outline and layers, in the palette orange on the black square. Every icon in src-tauri/icons is generated from it with pnpm tauri icon app-icon.svg (its android and ios folders are dropped).
  • Botloft's own mascot in the title bar and in system messages matches it: orange on the black square (BOTLOFT_COLOR), instead of white.

Spec 15.3 (motion and identity) describes both. No new interface text.

Tests

  • pnpm check passes (181 tests), and each commit passes on its own. cargo check -p botloft-app passes with the new icons.
  • New tests:
    • Every flame frame in mascot-flame.css keeps the outline's commands, since the morph stops otherwise. Vitest now loads that one CSS file as text for it (test.css.include).
    • The outline is the body plus the drop of fire.
    • Both eyes sit in the group that glances, and the shading layers use evenodd.
    • Botloft's own color shows the drawing as drawn.
  • Checked in the dev preview (pnpm dev), light and dark: all palette colors, every mood, the sidebar, cards, chat header and title bar. The traced artwork was compared pixel by pixel with the source pose.

Still to try by hand

  • The installed app: the new icon on the taskbar, Start menu, installer and near the clock.
  • The attention dot near the clock and on the taskbar is still the accent orange. It now sits on an orange flame and stands out only by its dark ring; it is visible at 16 px, but less than on the old white mascot.

The avatar is now traced from the first pose of the brand's flame sheet:
the same body with its tongues of fire, plus the loose drop of fire above
the tip, stronger light and shadow (13 layers, sharper blur) and glossy
black eyes with a reddish glow at the bottom.

The re-tint now takes the palette's first color (#FF7A59) as the one that
shows the drawing as drawn, so an orange bot looks just like it and the
lighter palette colors keep their depth instead of washing out.

The flame frames of every mood were carried over to the new outline with
a thin-plate spline fitted to the old frames, so the flame burns as it
did and the drop follows it. While idle, the eyes glance down and to the
side now and then, as in the drawing's poses.

A test checks that every flame frame keeps the outline's commands, since
the morph stops otherwise; vitest now loads mascot-flame.css as text for
it. Spec 15.3 follows.
app-icon.svg is rebuilt from the same outline and layers as the avatar
(mascotArt.ts), in the palette's first color on the black square, and
every icon in src-tauri/icons is generated from it with
`pnpm tauri icon app-icon.svg` (its android and ios folders are dropped).

Botloft's own mascot in the title bar and in system messages matches it:
orange on the black square, from BOTLOFT_COLOR, instead of white.
Spec 15.3 follows.
@httpsphl
httpsphl enabled auto-merge September 30, 2026 00:07
@httpsphl
httpsphl merged commit 3ae9043 into main Sep 30, 2026
3 checks passed
@httpsphl httpsphl mentioned this pull request Sep 30, 2026
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