feat: the apps' icons as one family, drawn by one tool (ADR 0031)

tool/app_icons.py at the root replaces Learn's and Todo's scripts: each
app's Lucide glyph (lucide-static 1.50.0) drawn by librsvg, fading from
cobalt through the colours ADR 0031 names, then every platform's
launcher icon through flutter_launcher_icons, Windows' .ico with every
size, and Learn's snap icon.

Learn's icon becomes the graduation cap, its window's on Linux too, with
Lucide's notice in its licence list; the kingfisher stays the emblem on
the rail and the launch screen. Todo's becomes list-todo, Train's bike.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-28 10:42:47 +01:00
commit ece9ce9697
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -45,7 +45,7 @@ dev_dependencies:
flutter_driver:
sdk: flutter
# Writes the app's icons for every platform from assets/icon/halkyon_train_icon.png,
# run through the icon tool ADR 0031 asks for (see the section below).
# run through the repository's tool/app_icons.py (see the section below).
flutter_launcher_icons: ^0.14.4
flutter_test:
sdk: flutter
@ -62,13 +62,13 @@ flutter:
# The instance the build names, unless --dart-define=SERVER_URL=… does
# (serverpod_flutter's getServerUrl).
- assets/config.json
# The app's icon (Todo's until Train's is drawn, ADR 0031) and Lucide's
# licence for the licence list.
# The app's icon, Lucide's bike (ADR 0031), and Lucide's licence for the
# licence list (the repository's tool/app_icons.py writes both).
- assets/icon/halkyon_train_icon.png
- assets/icon/LICENSE-lucide.txt
# The app's icons, to be written by the icon tool ADR 0031 asks for: it prepares the
# rounded images in build/icons/ first, then runs `dart run flutter_launcher_icons`, as Learn's does.
# The app's icons, written by the repository's tool/app_icons.py: it prepares the
# rounded images in build/icons/ first, then runs `dart run flutter_launcher_icons`.
# Android: the adaptive icon, on white, for the launcher to cut to its shape, and the
# square one older Androids show. iOS: without its alpha channel, on white. macOS and
# Windows: the rounded tile.