| Filename | Latest commit message | Latest commit date |
|---|---|---|
The developer's choice of 7 Nov 2026 (the mockup's variant E): a tap on another destination sends a radial glow in the app's colour over the bar from that destination's centre, solid to 35 % of its radius and gone at 70 %, growing to cover the bar (cubic(.2, .7, .2, 1)) while it fades from half its strength in dark mode and a third in light, over 1.2 s, behind the destinations and clipped to the bar. None for the destination already chosen, none with animations off, and none for a tab changed without a tap (a link, back): the wave answers the finger. The destination chosen takes the app's colour, its indicator tinted 22 % with it, without Material's ripple or the indicator growing; the bar's top corners are rounded, 20 dp, the screen showing through them. Each app gives the frame its colour (NavigationFrame's accent, from PaletteColor): Learn's purple, its icon's last colour, Todo's strawberry, Train's carrot and Meditate's fern, their screens' wash. For trying it on a phone, a debug build's Settings has a section Navigation bar (debug), halkyon_ui's NavigationBarDebugSection, switching live, in memory alone: the variant (A Material only, C the wave with Material's fill, E without it, F without the indicator too), the wave's time (0.7 to 2 s) and the corners (0 to 28 dp). Release builds never read it and show shippingNavigationBarStyle, the debug section's start: to remove it, delete the section from the four Settings screens and debugNavigationBarStyle, and let effectiveNavigationBarStyle return the shipping style. Whats-New: Tapping a tab sends a soft wave in the app's colour across the navigation bar, now with rounded corners. Whats-New-De: Ein Tipp auf einen Tab schickt eine sanfte Welle in der Farbe der App über die Navigationsleiste, jetzt mit abgerundeten Ecken. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me> |
||
| .. | ||
| brouter | ||
| halkyon_train_client | ||
| halkyon_train_flutter | ||
| halkyon_train_server | ||
| snap | ||
| .gitignore | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| README.md | ||
| release.dart | ||
Halkyon Train
Running, cycling and rowing, as a Halkyon app (what it is to do: ADR 0030). For now a shell on the shared packages: people choose an instance, sign in (with SimpleLogin or a password), switch between the accounts on their devices, sign out and delete their account; the home is empty until Train's first model.
| Package | What it is |
|---|---|
halkyon_train_server |
The server: Serverpod with the halkyon_base module |
halkyon_train_client |
Its client, generated by Serverpod |
halkyon_train_flutter |
The app, on halkyon_app and halkyon_ui (Android, iOS, Linux, macOS, Windows) |
Run it with serverpod start in halkyon_train_server, which starts the server (and its
embedded PostgreSQL) on ports of its own, 8180 to 8190, and the app; or the app alone
against an instance with flutter run --dart-define=SERVER_URL=https://…/ in
halkyon_train_flutter. Tests: dart run melos run test:dart --scope=halkyon_train_server
and dart run melos run test:flutter --scope=halkyon_train_flutter at the repository's
root, or dart run tool/check.dart for everything.
The app's icon is Lucide's bike (ISC licence, ADR 0031), drawn
by the repository's tool/app_icons.py. Licences: the server under the SSPL, the client
and the app under the AGPL, the app's with a permission for linking Polar's BLE SDK, which
isn't free software, for the Polar Loop (ADR 0030, D36;
LICENSE.md).