feat(train): the Loop's live heart rate in a recording (ADR 0030, D41)

A recording with a Loop set up reads its heart rate through Polar's SDK
while no strap sends: the strap first, the Loop where there is none or
while it is lost. The SDK is one for the process, held by the open
app's bridge and by the recording service, so that the band stays
connected with the app gone; the app reopening finds it connected. The
recording file gains `loop` state lines; the rate is kept alone, as `h`
lines, and the Record sheet names the source.

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 21:32:13 +01:00
commit fa7680821d
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -27,6 +27,7 @@ class FakeRecorderPlatform({
AutoPauseBy? autoPause,
String? strap,
String? rower,
String? loop,
})
>[];
@ -75,6 +76,7 @@ class FakeRecorderPlatform({
required RecorderNotice notice,
String? strap,
String? rower,
String? loop,
}) async {
started.add((
path: path,
@ -82,6 +84,7 @@ class FakeRecorderPlatform({
autoPause: autoPause,
strap: strap,
rower: rower,
loop: loop,
));
notices.add(notice);
_file = File(path)