Merge branch 'train-days' into integration
# Conflicts: # apps/train/halkyon_train_flutter/lib/src/app/train_paths.dart # docs/adr/0030-halkyon-train.md
This commit is contained in:
commit
81adeb91cc
1 changed files with 25705 additions and 410 deletions
|
|
@ -1625,6 +1625,47 @@ Strava. What was found, 27 Oct:
|
|||
(`lastWorkoutStart`, of the 5 newest), else on the region as before; the phone's
|
||||
fix then sets the first waypoint as before (D44). From expanded windows on, the
|
||||
route's details beside its map (400 px). It ran without the bar already (D60).
|
||||
- **D64 A day's page, its figures, held charts and the weight** (the developer's
|
||||
feedback of 3 Nov 2026; the weight's sources the developer's answer, the rest the
|
||||
agent's on that feedback):
|
||||
- **A day over the tabs**: Home's day (`/days/<date>`) is a route of its own above
|
||||
the shell, without the navigation bar, back at the top left, each section in a
|
||||
`SectionCard` over the top gradient. A section's explanation (what Nightly
|
||||
Recharge's figures mean, the nervous system's −10 to +10) sits behind
|
||||
halkyon_ui's `HelpButton` beside its title; the person's own values stay in sight.
|
||||
- **The night's chart**: the cause of the rows drawn over Nightly Recharge and the
|
||||
skin temperature was a phase starting at or after the night's end: its right edge
|
||||
was clamped to `left + 1 .. width` with `left + 1` above `width`, `clamp` threw
|
||||
while painting, and the canvas was left translated for everything painted after it.
|
||||
The left edge now stays inside the box first.
|
||||
- **Polar's no-value marks**: Nightly Recharge writes −100 or −1 where it has no
|
||||
value; `Recharge.known` drops what lies outside each figure's range (the nervous
|
||||
system's status outside −10..10, the recovery level outside 1..6, rates, intervals
|
||||
and deviations not above or at zero), and the page shows only what remains.
|
||||
- **Charts held**: a long press on a line chart (`WorkoutChart`, shared by the day's,
|
||||
the workouts' and the weight's) shows a line, a dot and the exact value under the
|
||||
finger, and its time where the chart knows it, following the drag, with a tick of
|
||||
haptic feedback as the press takes hold.
|
||||
- **Sync in Settings**: Settings' first card says where syncing stands and offers
|
||||
*Sync now*, halkyon_app's `SyncStatusCard` as Learn's and Todo's, the cog badged
|
||||
when syncing fails.
|
||||
- **Weight**: a sealed synced table, `body_weight`, as the days' and the places':
|
||||
the weight, when it was measured, and where it came from are the payload (grams as
|
||||
a whole number, the time in UTC, a Health Connect record's id and app), the
|
||||
server sees only the space and the ciphertext. Its migration creates the table
|
||||
(`id` a UUID v7 by default, `spaceId`, `keyId`, `payload` not null, `nonce`), an
|
||||
index on `spaceId` for a space's rows, and a foreign key to `offline_sync_spaces`
|
||||
cascading on delete, so that an account's deletion takes its weights with its
|
||||
space; then the version rows of every module. Nothing existing is changed, so
|
||||
nothing is lost. Entered on Progress's *Weight* card (the plus; a comma taken as
|
||||
a point, 20 to 400 kg, when measured, today by default), with its line over time
|
||||
and *All* to delete one; the latest weight is also *Your body*'s, which the
|
||||
band's and the zones' figures work from. Health Connect's weight records are read
|
||||
in when switched on in its screen (its own permission, asked as the others), each
|
||||
record once (its id kept, also after deletion), not Train's own, and not one
|
||||
within 10 minutes and 0.1 kg of a weight entered here. **In kilograms alone**:
|
||||
Train is metric throughout and has no units setting yet; pounds come with one,
|
||||
for every figure at once.
|
||||
|
||||
## Consequences
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue