Commit Graph
4 Commits
Author SHA1 Message Date
KeelrLeek 6dcc62a2fd Phase 0.4: silence-ack primitive — pause_acked + desired-paused latch
Player::pause_acked() returns a generation-bound PauseAck applied on the
audio thread; a desired-paused latch makes an in-flight decoder come up
paused instead of auto-starting, closing the window where a pause lands
during decode setup. Proven live by examples/focus_ack_probe.rs:
ack-while-playing freezes position; ack-while-buffering never becomes
audible; resume clears the latch; plain pause() during buffering is
demonstrated to auto-start (pre-existing hazard, filed separately).

Transport ADR recorded (native), Phase 0 marked complete in the plan.
2026-07-22 18:17:37 -05:00
KeelrLeek 58918cf79d Phase 0.2 complete: lease soak results, ID3-shell universality, long tracks
Soak: signed URLs serve 206 through their parsed exp (+14.96 min batch)
and return 403 with an Akamai HTML error page by +17.5 min. Resolver
must refresh ahead of exp, treat 403 as stale-lease (re-mint by track
id), and validate audio/mpeg before decoding. ID3v2.4 empty shell
verified byte-identical on 7/7 extra samples; 18- and 26-minute tracks
carry the same uniform 30 s / 480 KB / 128 kbps preview artifact.
2026-07-22 18:07:35 -05:00
KeelrLeek abe9bc33db Phase 0: corpus probe results, transport bakeoff probes, first findings
- research/PHASE0-VALIDATION-2026-07-22.md: 71-track Deezer corpus
  (uniform 128k CBR MP3, per-fetch signed URLs, exp 13-15 min, HTTP-200
  error bodies), WebView transport suite pass, native transport pass
  after isolating the empty-ID3v2.4-shell decode failure in
  rodio/symphonia; bakeoff scorecard leaning native.
- crates/player/examples/preview_probe.rs: isolated native probe (two
  coexisting Player instances, real preview bytes).
- mockups/phase0-webview-transport-probe.html: single-root-audio
  lifecycle probe with injected resolver-style URLs.
- IMPLEMENTATION-PLAN.md: Phase 0 status row updated.
2026-07-22 18:00:09 -05:00
KeelrLeek a667b4b28e Baseline: full tree snapshot after git repository loss
The previous .git directory was found gutted (only info/ remained), so
history is unrecoverable locally. This commit restores version control
with the tree exactly as it stands: the working app, the preview-tracks
launcher on the artist hero, the scrollable-track-previews design bundle
(docs + approved mockups), and the Phase 0 validation artifacts.
2026-07-22 17:57:00 -05:00