feat(train): the workouts listed, and each one's page with its map (ADR 0030, D22-D24)

Home lists the person's workouts newest first under their months, each
with its activity's icon, its name (else the time of day's and the
activity's), when it started, its distance, moving time and pace or
speed; those this device can't open come last, locked. A workout's page
shows its track on the instance's map source (flutter_map with
vector_map_tiles, pinned at 9.0.0-beta.13), in pieces between its
pauses, start and end marked; its totals with the elevation gained;
its splits per kilometre on foot, per 5 km cycling; pace or speed and
elevation over the distance, drawn by the app's own painter; and what
the map's source sees. Its name and notes are edited there; deleting
asks first and can be undone for a moment from home (halkyon_app's
DelayedDeletions, TrainPerson.deletions).

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 14:29:39 +01:00
commit 405577050d
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -21,6 +21,10 @@ dependencies:
# What every Halkyon app is built around (a shared package): the instances a
# device keeps accounts on, signing in through halkyon_base, each person's
# dependencies opened and closed, with texts of its own.
# Workouts' tracks over the map (ADR 0030, D11, D23): the map widget, the
# vector tiles of the instance's source (OpenFreeMap without a setting, D22),
# and its coordinates.
flutter_map: ^8.3.2
halkyon_app:
path: ../../../packages/halkyon_app
# The device's half of signing in with OpenID Connect (ADR 0023): the
@ -36,6 +40,7 @@ dependencies:
path: ../../../packages/halkyon_ui
# gen-l10n's output imports it.
intl: ^0.20.3
latlong2: ^0.10.1
lucide_icons_flutter: ^3.1.20
material_ui: ^1.5.0
package_info_plus: ^10.2.2
@ -44,6 +49,10 @@ dependencies:
serverpod_auth_idp_flutter: 4.0.4
serverpod_flutter: 4.0.4
serverpod_offline_sync_client: 0.0.10
url_launcher: ^6.3.2
# Pinned: the 9 line is beta, the only one for flutter_map 8 (D23); moves to
# 9.0.0 once it is released.
vector_map_tiles: 9.0.0-beta.13
dev_dependencies:
flutter_driver: