Files
SoulStream/handoff/rounds/ins-r30-syncroom-script.txt
T
KeelrLeek 9f0601027c android: the handoff — the pending rounds, the pipeline, and what is unverified
Everything written this session that has not been through the device: rounds 43
to 48 (each patch adversarially verified, 43's transient-notice expectation
fixed), a partial round 49, the pipeline scripts, the Android Auto design and
the icon comparison mock. Also the two harness changes that were never A/B'd —
adaptive waits, which may only shorten a declared wait and never lengthen it,
and a ship that runs the mock walk and the deploy at the same time. The A/B and
its 255-step baseline are in handoff/tools; main stays at what the phone has
actually walked.
2026-09-14 07:57:41 -05:00

22 lines
1.1 KiB
Plaintext

/* the envelope at the width the strip draws: 64 columns, each the
loudest frame in its slice — the shape of the singing, not the wave */
const cols = $derived.by(() => {
const f = tapSync.activity?.frames;
if (!f?.length) return [];
const per = f.length / 64;
return Array.from({ length: 64 }, (_, i) => {
let m = 0;
for (let j = Math.floor(i * per); j < Math.floor((i + 1) * per) && j < f.length; j++) m = Math.max(m, f[j]);
return m;
});
});
const spanMs = $derived((tapSync.activity?.frames?.length ?? 0) * (tapSync.activity?.frameMs ?? 100));
const pct = (ms) => (spanMs ? Math.max(0, Math.min(100, (ms / spanMs) * 100)) : 0);
/* one button, four states: reading the file, nothing worth reading, the
estimate, and the way back out of it */
const estLabel = $derived(
tapSync.reading === "ready"
? (tapSync.estimated ? "Clear the estimate" : "Estimate the timing")
: tapSync.reading === "none" ? "No estimate for this one" : "Reading the song…",
);