Commit Graph

560 Commits

Author SHA1 Message Date
daniel-c-harvey b359786e69 docs: move Phase 8 §8.1-§8.5 from PLAN to COMPLETED (landed 2026-06-12) 2026-06-11 17:00:55 -04:00
daniel-c-harvey bef3f590ca Merge branch 'p8-w5c-batch-edit' into dev 2026-06-11 16:57:18 -04:00
daniel-c-harvey 407ed90341 feat: add BatchEdit page and extract reusable batch sub-components from BatchUpload
fix: TrackNumber sort case, stale _imagePath reset, skip Done rows on retry in BatchEdit
2026-06-11 16:56:55 -04:00
daniel-c-harvey 92a3bea129 Merge branch 'p8-w5b-t2-genre-browser' into dev 2026-06-11 16:45:10 -04:00
daniel-c-harvey 6480953189 Merge branch 'p8-w5b-t1-album-browser' into dev 2026-06-11 16:45:07 -04:00
daniel-c-harvey b22c3f96d7 feat: add CmsGenreBrowser genre browse mode to CMS track list
fix: add @key="ExpandedGenre" to CmsTrackGrid so genre switch forces fresh component instance
2026-06-11 16:42:46 -04:00
daniel-c-harvey 62620bc0d4 feat(cms): add expandable Album browser to Track Browser 2026-06-11 16:26:44 -04:00
daniel-c-harvey 55b26b2e41 Merge branch 'p8-w5a-foundation' into dev 2026-06-11 16:18:19 -04:00
daniel-c-harvey 508a522a8d feat(cms): add Track Browser foundation with mode toggle and CmsTrackGrid
- Extend ICmsTrackService.GetPagedAsync with album/genre filter params
- Add CmsTrackBrowserViewModel (DI-scoped) with lazy album/genre load
- Extract CmsTrackGrid: 9-column layout, waveform status, per-row generate,
  info tooltip, album/genre filter params, OnStatusLoaded callback
- Restructure TrackList: remove MudTabs, add three @page routes, mode toggle,
  Generate All Missing button; album/genre stubs for next wave
2026-06-11 16:17:45 -04:00
daniel-c-harvey cf557e16aa Merge branch 'p7-w6-parallax-pop' into dev 2026-06-11 16:09:34 -04:00
daniel-c-harvey a2f9742f8a fix(parallax): prime parallax position with pre-Blazor init script to kill Server->WASM position pop 2026-06-11 16:08:55 -04:00
daniel-c-harvey a29b961c27 docs: move Phase 8 §8.0 to COMPLETED; unblock §8.1-§8.5 in PLAN 2026-06-11 15:58:30 -04:00
daniel-c-harvey e077b8ec7b Merge branch 'p8-w12-release-track-normalize' into dev 2026-06-11 15:55:10 -04:00
daniel-c-harvey 612b21b1e7 Merge branch 'p7-w5-parallax-prerender-pos' into dev 2026-06-11 15:47:48 -04:00
daniel-c-harvey 70d4a87cd5 fix: include Release nav on all TrackRepository query paths; add unique constraint on release(title, artist) 2026-06-11 14:48:52 -04:00
daniel-c-harvey ae531116b7 fix(parallax): animate background-position-y directly so SSR parallax works pre-WASM 2026-06-11 14:45:30 -04:00
daniel-c-harvey 63bdc5ee93 feature: Home Pictures part 1 2026-06-11 13:47:41 -04:00
daniel-c-harvey f767d288c5 feat: normalize release-cardinal fields out of track into a Release entity (Phase 8 §8.0) 2026-06-11 12:51:21 -04:00
daniel-c-harvey 9d7f2ff003 feat(home): wire ParallaxImage hero to homepage; tweak crossfade to 700ms 2026-06-11 12:12:35 -04:00
daniel-c-harvey c59f59c3fe Merge branch 'p7-w4-parallax-css-scroll' into dev 2026-06-11 12:12:05 -04:00
daniel-c-harvey 91566692f6 fix(parallax): drive --parallax-pos via CSS scroll animation to kill SSR/hydration position pop 2026-06-11 11:57:43 -04:00
daniel-c-harvey 16f356a760 docs: resolve TrackDto nesting (§0.3) and add §8.0 wave sequencing
Resolve Phase 8 open question 0.3 — TrackDto gets a nested Release
(ReleaseDto); flat release fields removed, all consumers updated as
part of §8.0 (flat read-model rejected). Add §0.6 implementation
sequencing: five mergeable waves with Waves 1+2 as a single deployment
unit and Waves 3+4 parallelizable. Update PLAN.md §8.0 Shape to match.
2026-06-11 11:09:24 -04:00
daniel-c-harvey 8983592e56 Merge branch 'p7-w3-parallax-ssr' into dev 2026-06-11 11:07:55 -04:00
daniel-c-harvey 92ddc5bb3e fix(parallax): add aspect-ratio mode to ParallaxImage to kill SSR/hydration layout shift 2026-06-11 11:06:16 -04:00
daniel-c-harvey 76e5080278 docs: gate Phase 8 on TrackEntity normalization (§8.0); fold review decisions
Add §8.0 TrackEntity → Release/Track normalization as a breaking
pre-requisite before Phase 8 UI. Fold in review decisions: Waveform tab
removed (in-grid status column + per-row/page-level generate),
ViewModel is DI-scoped (TracksViewModel pattern), BatchEdit confirmed as
a new page sharing extracted sub-components. Dissolve the AlbumSummaryDto
widening question (Release table supplies the fields directly).
2026-06-11 11:03:48 -04:00
daniel-c-harvey 675710d086 Merge branch 'p7-w2-parallax-aspect-ratio' into dev 2026-06-11 10:24:03 -04:00
daniel-c-harvey c46c3a2f9c feat(parallax): aspect-ratio-aware auto height via WindowHeightFraction + ResizeObserver, drop DotNetObjectReference round-trip 2026-06-11 10:23:25 -04:00
daniel-c-harvey 49e99ff986 docs: add Phase 8 (CMS Track Browser) to PLAN; supersede §6.2 2026-06-11 09:49:19 -04:00
daniel-c-harvey 5a345cabea docs(plan): move Phase 1.2 audio format diversity to COMPLETED.md 2026-06-11 09:45:03 -04:00
daniel-c-harvey 25ade16b07 Merge branch 'p1.2-w3-factory-wiring' into dev 2026-06-11 09:42:05 -04:00
daniel-c-harvey 5d9ba1c953 feat(audio): wire Mp3FormatDecoder and FlacFormatDecoder into AudioPlayer factory 2026-06-11 09:32:33 -04:00
daniel-c-harvey ab418bf840 docs: move ParallaxImage 7.1 from PLAN to COMPLETED (landed 2026-06-11) 2026-06-11 09:28:22 -04:00
daniel-c-harvey d3f1d6a8a0 Merge branch 'p7-w1-parallax-image' into dev 2026-06-11 09:24:16 -04:00
daniel-c-harvey 4d9505c341 feat: add ParallaxImage scroll-parallax component to DeepDrftShared.Client 2026-06-11 09:23:34 -04:00
daniel-c-harvey 0439d3da4f docs: record Phase 1.2 Wave 2 progress; update PLAN.md and DeepDrftPublic.Client CLAUDE.md 2026-06-11 09:13:04 -04:00
daniel-c-harvey 98142754fa Merge branch 'fix-upload-field-name' into dev 2026-06-11 09:10:55 -04:00
daniel-c-harvey 3da12067f6 fix: match multipart field name "audioFile" to API [FromForm] binding in UploadTrackAsync 2026-06-11 09:10:50 -04:00
daniel-c-harvey 86e1243eba Merge branch 'p1.2-w2-t2-flac-decoder' into dev 2026-06-11 09:08:49 -04:00
daniel-c-harvey b6b212e429 Merge branch 'p1.2-w2-t1-mp3-decoder' into dev 2026-06-11 09:08:40 -04:00
daniel-c-harvey 879c30a5e5 fix(flac): add FLAC frame-sync scan to getAlignedSegmentSize; extend IFormatDecoder rawData param
StreamDecoder peeks candidate bytes; FlacFormatDecoder scans backward for 0xFF/0xF8 sync. Fixes mid-stream decode failure where segments started mid-frame.
2026-06-11 09:08:33 -04:00
daniel-c-harvey a2771c71aa fix(mp3): guard sub-frame tail in getAlignedSegmentSize to prevent over-read past availableBytes 2026-06-11 09:04:53 -04:00
daniel-c-harvey 81b8796ba5 fix: send ReleaseType as int in CmsTrackService.UpdateAsync 2026-06-11 08:50:10 -04:00
daniel-c-harvey 489215e415 fix: send ReleaseType as int not string in CmsTrackService.UpdateAsync 2026-06-11 08:49:00 -04:00
daniel-c-harvey b7b5933b25 docs(parallax): fold in resolved JS-placement and direction decisions
Resolve two open questions in the ParallaxImage spec: TS toolchain
co-located in DeepDrftShared.Client (Interop/parallax -> wwwroot/js), and
parallax direction exposed as the InvertDirection parameter. Update PLAN.md
7.1 constraint to reflect no remaining blockers.
2026-06-11 08:48:57 -04:00
daniel-c-harvey c4930e80ba feat(audio): add FLAC IFormatDecoder for chunked streaming + seek 2026-06-11 08:40:53 -04:00
daniel-c-harvey b04081b960 feat(audio): add Mp3FormatDecoder streaming strategy
Implements IFormatDecoder for MP3: ID3v2 skip, MPEG Layer III frame-sync + header decode, Xing/Info/VBRI detection, CBR frame alignment, and VBR TOC seek interpolation. Wiring lands in Wave 3.
2026-06-11 08:40:52 -04:00
daniel-c-harvey bd6bd4d827 docs(plan): spec ParallaxImage shared component (Phase 7)
Add product note and PLAN.md Phase 7 entry for a reusable scroll-parallax
image window in DeepDrftShared.Client — full-width flag, hover crossfade,
IntersectionObserver-gated scroll math, accessibility.
2026-06-11 08:36:00 -04:00
daniel-c-harvey c835a54652 docs: record Phase 1.2 Wave 1 progress; update processor, client, and API CLAUDE.md 2026-06-11 08:23:56 -04:00
daniel-c-harvey 909d259df9 Merge branch 'p1.2-w1-t2-decoder-interface' into dev 2026-06-11 08:20:12 -04:00
daniel-c-harvey f10e20a0e2 Merge branch 'p1.2-w1-t1-format-processors' into dev
# Conflicts:
#	DeepDrftAPI/Controllers/TrackController.cs
2026-06-11 08:20:05 -04:00