Commit Graph

  • 7547fed56d playback: remember the last transport so a reload lands where you left off KeelrLeekandClaude Opus 5 2026-08-03 07:03:20 -05:00
  • dc918c98ef metadata: per-track listeners, and an artist profile the search hero can ask for KeelrLeekandClaude Opus 5 2026-08-03 07:03:03 -05:00
  • f8f56f4398 albums: ask the artist's own discography before deciding a record does not exist KeelrLeek 2026-08-01 07:53:57 -05:00
  • dde8c7510b albums: one page for every record, and streamed history rows that actually open KeelrLeek 2026-08-01 07:43:50 -05:00
  • 3c5bccf1b6 recents: a streamed album has no library id, so the key must not pretend it does KeelrLeek 2026-08-01 07:11:25 -05:00
  • 69f64c11eb previews: the glow goes, the eq steps, and every clip lands before you scroll to it KeelrLeek 2026-08-01 07:11:17 -05:00
  • eba29824c9 sidebar and artist pipeline: one list in the rail, recents anchored to ids, and popular takes its own lane KeelrLeek 2026-07-31 18:21:04 -05:00
  • 606250c361 resize: reads before writes everywhere, and an open album drags like a closed one KeelrLeek 2026-07-31 16:58:48 -05:00
  • 52f5878297 loudness: a first play starts three quarters of a decibel under the prefix KeelrLeek 2026-07-30 07:39:44 -05:00
  • 4179247203 build: strip the UTF-8 BOM that stopped both halves of the app starting KeelrLeek 2026-07-30 07:39:30 -05:00
  • 5682dfc22f release: 0.1.0-alpha.2 KeelrLeek 2026-07-29 18:46:38 -05:00
  • 3f4f5c305a now playing: the transfer moves into the bar, and the panel speaks the app's headings KeelrLeek 2026-07-29 18:46:31 -05:00
  • a6b585303e album page: the record's own shape while it loads, and prose that waits its turn KeelrLeek 2026-07-29 18:46:16 -05:00
  • 35a18d9ca0 state: one identity merge, one description splitter, and a record named at click time KeelrLeek 2026-07-29 18:45:58 -05:00
  • 1e35c5e039 loudness: correct the gain during the track instead of only guessing at its start KeelrLeek 2026-07-29 18:45:43 -05:00
  • 4f485b6f9a backend: a supplemented album remembers what it is between runs KeelrLeek 2026-07-29 18:45:23 -05:00
  • 0ea4da7146 now playing: the drag tracks the pointer, and the panel stops fighting its width KeelrLeek 2026-07-29 08:12:31 -05:00
  • 9cb19f42af player: fill the album, report a cached track honestly, and stop double-appending KeelrLeek 2026-07-29 08:12:07 -05:00
  • d460352973 backend: a cached track says so, and fallback hero art expires in a day KeelrLeek 2026-07-29 08:11:49 -05:00
  • 9dc3eaf939 artist hero: the blurred layers ride with the photograph KeelrLeek 2026-07-29 08:11:36 -05:00
  • ae99757ddd hero: repaint on a resize instead of rebuilding the canvas for it KeelrLeek 2026-07-29 08:11:20 -05:00
  • e334cd51c2 now playing: collapse to a rail, and rebuild the panel around the record KeelrLeek 2026-07-28 19:15:15 -05:00
  • 35729c1f9e navigation: state the bar's geometry instead of collapsing a margin for it KeelrLeek 2026-07-28 17:40:22 -05:00
  • 8017c0d877 navigation: one glass bar for the app's life, not one per page KeelrLeek 2026-07-28 17:31:01 -05:00
  • 98d11a2228 previews: the album button opens the record the previewed track came from KeelrLeek 2026-07-28 17:13:54 -05:00
  • 122157e061 listener bars: a bar is never narrower than the number standing on it KeelrLeek 2026-07-28 17:00:18 -05:00
  • 7a517dca59 navigation: one glass bar for every page, with a history and a path in it KeelrLeek 2026-07-28 16:40:31 -05:00
  • ea9a040d09 album page: the record gets a page of its own, under the same glass bar KeelrLeek 2026-07-28 15:16:58 -05:00
  • fa3cbc64ca loudness: a prefix may lower a track's volume but never raise it KeelrLeek 2026-07-28 13:00:09 -05:00
  • 4d7fb7f72e attribution: a reissue is not the record it was built from KeelrLeek 2026-07-28 12:08:42 -05:00
  • 4cb2c4c1b3 previews: fall back to Apple for the clips Deezer has no pressing of KeelrLeek 2026-07-28 11:57:26 -05:00
  • 84f050fe3b popular: let Last.fm decide what is popular, and Deezer only how to play it KeelrLeek 2026-07-28 11:41:17 -05:00
  • ddf2840b78 musicbrainz: tell "no answer" apart from "nothing to say", and pay the plays forward KeelrLeek 2026-07-28 11:02:29 -05:00
  • 644a0192a5 discography: give mixtapes a tab, and stop the provider spelling it twice KeelrLeek 2026-07-28 10:28:34 -05:00
  • 388ad7d910 artist page: open an album in place, and show what the numbers are worth KeelrLeek 2026-07-28 09:44:05 -05:00
  • c0fa892eee catalog: what the artist page can know once it asks somebody other than Deezer KeelrLeek 2026-07-28 09:42:22 -05:00
  • 6d6968e9b1 artist art: a provider's API being up is no promise its CDN is KeelrLeek 2026-07-28 09:39:14 -05:00
  • 0cc01328a4 cover logo: fit the traced outline to lines and curves, not a decimated polyline KeelrLeek 2026-07-27 06:37:08 -05:00
  • 4c0c4a1ea5 cover logo: supersample the winner, and scale to the target not past it KeelrLeek 2026-07-26 09:33:11 -05:00
  • 4d6e69e324 release ownership: one Deezer id can be seven artists KeelrLeek 2026-07-26 05:58:17 -05:00
  • 8e623e3d8d artist page: put the load status in the chip row it hands over to KeelrLeek 2026-07-25 20:20:17 -05:00
  • d67df6f55e artist page: float the load status instead of shoving the page down KeelrLeek 2026-07-25 20:10:44 -05:00
  • 0955dc02ce cover logo: trim the wordmark horizontally, and stop rewarding bleed KeelrLeek 2026-07-25 19:47:15 -05:00
  • b16fc340b4 provider art: a duplicate MusicBrainz entry is not a namesake KeelrLeek 2026-07-25 19:13:29 -05:00
  • 613ae18e87 cover logo: fix the two ways artists silently lost their wordmark KeelrLeek 2026-07-25 18:51:30 -05:00
  • 88e0d98ddd cover logo: bump the cache recipe for the ink-scaled alpha ramp KeelrLeek 2026-07-25 18:31:43 -05:00
  • 21ef73770c cover logo: keep the source's anti-aliasing, then trace it lightly KeelrLeek 2026-07-25 18:12:46 -05:00
  • e536e96180 discography: drop guest appearances, but only where MusicBrainz can arbitrate KeelrLeek 2026-07-25 17:15:39 -05:00
  • 9cd03a6ecc hero: tell a square press crop from a sleeve by hashing the artist's releases KeelrLeek 2026-07-25 16:46:07 -05:00
  • d79fe2f28a hero: admit portrait sources, the crop was built for them KeelrLeek 2026-07-25 16:35:39 -05:00
  • 9536ff23a9 hero search: stop reading " x " as a co-bill, and reject explicit results KeelrLeek 2026-07-25 16:25:17 -05:00
  • 8b2aadce2b hero search: read both Bing safesearch buckets, and the bare artist name KeelrLeek 2026-07-25 16:22:08 -05:00
  • 7ce9fd0efc artist art: keep a known-good hero instead of rediscovering it daily KeelrLeek 2026-07-25 14:50:55 -05:00
  • ee2509538a metadata: send safesearch=strict on Bing image searches KeelrLeek 2026-07-25 12:49:25 -05:00
  • 3718dad667 metadata: say why the Bing hero tier found nothing KeelrLeek 2026-07-24 18:38:01 -05:00
  • 52b1b8e622 artist page: keep the album reveal's target reachable KeelrLeek 2026-07-24 18:25:58 -05:00
  • e58410d9f8 artist page: always open at the top KeelrLeek 2026-07-24 17:51:41 -05:00
  • 0878659f6a artist page: end the pane's scroll at the content (clip the 300vh sheet out of the scroll range) KeelrLeek 2026-07-24 17:51:24 -05:00
  • 2eb1cf57e3 artist page: compositor scroll pipeline + final hero design (crossfade twins, mirror seam, bloom retired) KeelrLeek 2026-07-24 17:02:21 -05:00
  • 790a9c60c0 artist page: compositor-locked fade line (sticky host + clipped frame + scroll-driven counter-translate) KeelrLeek 2026-07-24 09:15:56 -05:00
  • 67d98dfe79 fix: artist page fade line no longer lags fast scroll (compositor-driven) KeelrLeek 2026-07-23 17:46:04 -05:00
  • 86e0d86604 fix: preview crossfade no longer strands the main volume (silent playback) KeelrLeek 2026-07-23 17:31:06 -05:00
  • 28aba3a3b3 feat: normalize preview clips to -14 LUFS to match the library KeelrLeek 2026-07-23 17:12:04 -05:00
  • abc959ca2f fix: defer the open crossfade so main no longer fades into a gap KeelrLeek 2026-07-23 16:54:09 -05:00
  • 691fdcdc9a fix: previews follow the app volume; volume bar fill always accent KeelrLeek 2026-07-23 16:25:42 -05:00
  • 793f78370e feat: crossfade preview suite, loudness normalization, debug overlay KeelrLeek 2026-07-23 16:05:14 -05:00
  • 5e877c0b0a chore: ignore dev-note artifacts, start alpha versioning at 0.1.0-alpha.1 KeelrLeek 2026-07-23 16:04:54 -05:00
  • df75433795 Handoff: mark Phase 2C verification done, log Kyle's TBD open issues KeelrLeek 2026-07-22 19:46:56 -05:00
  • 56036216f8 Phase 2C: fix reel centering via window-relative card positioning KeelrLeek 2026-07-22 19:38:10 -05:00
  • e6252b9bb3 Handoff doc for Phase 2C reel-centering bug KeelrLeek 2026-07-22 19:27:37 -05:00
  • d051f0db28 Phase 2C WIP: PreviewOverlay modal + root integration (reel centering bug) KeelrLeek 2026-07-22 19:26:41 -05:00
  • 8cb3cd593b Phase 2A+2B: native preview backend and renderer glue KeelrLeek 2026-07-22 18:45:29 -05:00
  • 8ede6a8adf Phase 1: preview contracts and pure session core, 61 tests KeelrLeek 2026-07-22 18:29:03 -05:00
  • 6dcc62a2fd Phase 0.4: silence-ack primitive — pause_acked + desired-paused latch KeelrLeek 2026-07-22 18:17:37 -05:00
  • 58918cf79d Phase 0.2 complete: lease soak results, ID3-shell universality, long tracks KeelrLeek 2026-07-22 18:07:35 -05:00
  • abe9bc33db Phase 0: corpus probe results, transport bakeoff probes, first findings KeelrLeek 2026-07-22 18:00:09 -05:00
  • a667b4b28e Baseline: full tree snapshot after git repository loss KeelrLeek 2026-07-22 17:57:00 -05:00