daniel-c-harvey
07ddc69cee
feat(public): add /cuts/{id} album-detail page
...
Compose ReleaseDetailScaffold via Header + BodyContent slots for the Cut
album view: left meta + Play/Share, right theme-bordered cover, TrackNumber-
ordered track list with per-row play. CutDetailBase carries the multi-track
prerender bridge.
2026-06-15 23:59:19 -04:00
daniel-c-harvey
56e205082d
docs(plan): add release Description field as commitment 8 / wave 11.G
...
Verified no Description column exists on ReleaseEntity/ReleaseDto (mirror
image of commitment 5, which was already built). Specs the new base-release
column + EF migration (Daniel-gated), DTO/converter/write-path plumbing,
CMS multiline input, and detail-page text block. Schema lands as 11.G;
render rides 11.A plus a Session/Mix touch.
2026-06-15 23:38:51 -04:00
daniel-c-harvey
31e00e6abd
docs(plan): spec Phase 10 Wave 4 — Mix detail popover controls, RadialKnobs, lava-lamp icon, wider body
2026-06-15 23:38:26 -04:00
daniel-c-harvey
e9f4411fdf
docs(plan): revise Phase 11 — ordinal, full stack retirement, shared cards, release-share, queue
...
Fold Daniel's 2026-06-15 decisions into PLAN.md §11 and the product note:
4→7 commitments, six waves. Headline: the track ordinal already shipped
in Phase 8, so commitment 5 is verify-and-consume, not a new migration.
Queue half of §1.3 absorbed; preload stays deferred.
2026-06-15 23:30:28 -04:00
daniel-c-harvey
22c2ae5ecb
chore: RadialKnob control
2026-06-15 23:26:11 -04:00
daniel-c-harvey
b7bd6ba04f
docs: record Phase 10 Wave 2 (controls row + control state) landed
2026-06-15 23:22:02 -04:00
daniel-c-harvey
1e6129401b
Merge p10-w2-controls-row into dev (Phase 10 Wave 2: visualizer controls row + unified MixVisualizerControlState)
2026-06-15 23:20:28 -04:00
daniel-c-harvey
bf00b7f22f
feat(visualizer): controls row + unified MixVisualizerControlState; 3 inert uniforms wired (P10 W2)
2026-06-15 23:15:44 -04:00
daniel-c-harvey
913861860b
docs(plan): shape Phase 11 — Public Site Enhancements
...
Add Phase 11 to PLAN.md and a full design spec under product-notes:
Cuts gain a /cuts/{id} album detail page; release-title click resolves
medium to a dedicated detail page; redundant /tracks?album view retired;
Archive filters move into the URL. Includes gap analysis and open
questions for Daniel.
2026-06-15 23:09:16 -04:00
daniel-c-harvey
e0f371cda6
Merge p10-w1-jitter-cleanup into dev (P10 W1: startup-jitter easing, diagnostics gated off, review remediation)
2026-06-15 22:46:46 -04:00
daniel-c-harvey
44a15bf67d
fix(review): const→static readonly Debug silences CS0162; update stale rAF comment to renderedPlayhead()
2026-06-15 22:44:20 -04:00
daniel-c-harvey
65e5e09245
fix(visualizer): ease playhead re-anchor to kill startup jitter; gate diagnostics off (P10 W1)
2026-06-15 22:32:02 -04:00
daniel-c-harvey
d73e94a12f
Merge p10-w1-fps-smoothness into dev (P10 W1: wall-clock playhead interpolation for smooth 60 FPS scroll)
2026-06-15 22:16:52 -04:00
daniel-c-harvey
df4381b4d8
fix(visualizer): interpolate Mix playhead on wall clock so ribbon scrolls at 60 FPS, not 10 Hz push cadence
2026-06-15 22:16:45 -04:00
daniel-c-harvey
ad8cb7dbc0
Merge p10-w1-resolution-slider into dev (P10 W1: fix zoom slider stacking-context occlusion)
2026-06-15 21:54:43 -04:00
daniel-c-harvey
652c90979d
fix(visualizer): lift zoom slider out of fixed backdrop's stacking context so it receives pointer events again (P10 W1)
2026-06-15 21:54:22 -04:00
daniel-c-harvey
1ad501ff11
Merge mix-play-track-selection-fix into dev (forward releaseId through TrackProxyController so WASM-path mix/session Play resolves the release's own track)
2026-06-15 21:23:35 -04:00
daniel-c-harvey
c9b8dfcf3f
fix(proxy): forward releaseId filter in TrackProxyController.GetPage so WASM-path mix/session track resolution is not stripped at the proxy boundary
2026-06-15 21:07:50 -04:00
daniel-c-harvey
2bacf58241
Merge session-detail-hero-overlay into dev (Session detail hero-overlay redesign, NowPlaying-themed)
2026-06-15 20:38:09 -04:00
daniel-c-harvey
83c0425133
docs: note SessionDetail hero-overlay composition and scaffold divergence
2026-06-15 19:35:36 -04:00
daniel-c-harvey
0758bfe7f1
fix(css): add ::deep to .session-detail-page so Blazor isolation scope pierces MudContainer boundary
2026-06-15 19:32:34 -04:00
daniel-c-harvey
79e7bb4799
Merge p10-w1-renderer-fix2 into dev (P10 W1: 2-D datum texture fixes GL_MAX_TEXTURE_SIZE overflow + bridge diagnostics)
2026-06-15 19:29:11 -04:00
daniel-c-harvey
45bf5e5d37
fix(visualizer): lay Mix datum across a 2-D R8 texture to respect GL_MAX_TEXTURE_SIZE; manual texelFetch lerp avoids row-wrap seam
2026-06-15 19:28:52 -04:00
daniel-c-harvey
3c7f28b2eb
redesign(public): session detail as hero-overlay composition, NowPlaying-themed
2026-06-15 19:27:12 -04:00
daniel-c-harvey
61d53dacff
Merge p10-w1-renderer-fix into dev (P10 W1: blank ribbon at rest + WebGL init/draw diagnostics)
2026-06-15 17:45:50 -04:00
daniel-c-harvey
06b58304c5
fix(visualizer): blank Mix ribbon at rest + init/draw diagnostics (P10 W1)
2026-06-15 17:45:21 -04:00
daniel-c-harvey
b3283d0bd2
docs: record Phase 10 Wave 1 (WebGL2 renderer swap) landed
2026-06-15 13:43:19 -04:00
daniel-c-harvey
cb6f75be5f
Merge p10-w1-renderer-swap into dev (Phase 10 Wave 1: WebGL2 fragment-shader Mix renderer at parity)
2026-06-15 13:36:01 -04:00
daniel-c-harvey
c1562dde03
Merge track-detail-play-wrong-track into dev (fix wrong-track Play on detail pages)
2026-06-15 13:34:09 -04:00
daniel-c-harvey
8b0bd6d26e
docs(client): note detail pages must load in OnParametersSetAsync under InteractiveAuto
2026-06-15 13:15:04 -04:00
daniel-c-harvey
7d23c0654b
fix(detail): capture guard fields before await to close re-entrancy window in OnParametersSetAsync
2026-06-15 12:55:15 -04:00
daniel-c-harvey
cab181db4b
refactor(visualizer): remove dead sampleCount field from Datum — shader uses durationSeconds only
2026-06-15 12:49:47 -04:00
daniel-c-harvey
f02f370ed9
fix(detail): reload track on route-param change so Play uses the right track
...
Detail pages loaded only in OnInitialized, which doesn't re-run when an
InteractiveAuto component instance is reused across same-template navigations,
leaving a stale track that Play streamed. Move load to OnParametersSetAsync
keyed on the route id, and guard the prerender bridge restore against an id mismatch.
2026-06-15 12:47:57 -04:00
daniel-c-harvey
b451dda79e
feat(visualizer): WebGL2 fragment-shader Mix renderer at parity; datum-as-texture, shader-clock rAF, drop CSS backdrop-filter (P10 W1)
2026-06-15 12:43:56 -04:00
daniel-c-harvey
4f84216ab6
Merge cms-special-action-columns into dev
...
Promote CMS release special actions (Mix waveform, Session hero) to dedicated grid columns.
2026-06-15 12:01:17 -04:00
daniel-c-harvey
bb50d8369b
Merge ui-detail-cover-art into dev (medium cover thumbnails on mix and session detail pages)
2026-06-15 11:59:39 -04:00
daniel-c-harvey
ebdcc29f2e
docs(mix-visualizer): lock MixVisualizerControlState widen decision (§3c)
2026-06-15 11:57:47 -04:00
daniel-c-harvey
ea8b97e47b
docs: spec WebGL2 Mix visualizer renderer (Phase 10)
...
Replaces the 1-2 FPS Canvas 2D visualizer with a WebGL2 fragment-shader
renderer. Four-control row, morphing navy/moss field, in-shader glass.
Full spec in product-notes; PLAN.md Phase 10 points at it.
2026-06-15 11:36:46 -04:00
daniel-c-harvey
f1600023dc
feat(detail): medium release cover thumbnails on mix and session detail pages
2026-06-15 11:36:39 -04:00
daniel-c-harvey
09f6dc88f7
docs: record CmsAlbumBrowser special-action column promotion
2026-06-15 11:30:54 -04:00
daniel-c-harvey
31084b09a4
fix(cms): stabilize _specialColumns allocation and refresh stale comments
...
Allocate _specialColumns once in OnInitialized; update RowActions references to SpecialColumns in the medium browsers and base class.
2026-06-15 11:26:21 -04:00
daniel-c-harvey
5941f1f23a
feat(cms): dedicated grid columns for medium-specific row actions
...
Replace CmsAlbumBrowser's single RowActions slot with a SpecialColumns
list (header + per-row cell). Mix renders a Waveform column, Session a
Hero column, between Tracks and Actions; Edit/Delete stay rightmost.
Child-row colspan now computed from column count. Cut/ALL unchanged.
2026-06-15 11:16:15 -04:00
daniel-c-harvey
7f1c6bdb66
Merge ui-share-relocate into dev (share button centered below detail metadata)
2026-06-15 11:13:22 -04:00
daniel-c-harvey
37608aee28
Merge ui-mix-visualizer into dev (footer above waveform backdrop; zoom slider to top)
2026-06-15 11:13:05 -04:00
daniel-c-harvey
e0ab2f3d00
Merge ui-archive-search into dev (archive search controls: centered flex row + narrow reflow)
2026-06-15 11:12:58 -04:00
daniel-c-harvey
41e3ccc9fa
fix(archive): center medium toggle between balanced search/genre side zones
2026-06-15 11:10:06 -04:00
daniel-c-harvey
709103ad71
ui: move SharePopover below metadata on all release detail pages
2026-06-15 10:45:27 -04:00
daniel-c-harvey
9f074f7350
fix(visualizer): lift footer above waveform backdrop; move zoom slider to top-right
2026-06-15 10:45:25 -04:00
daniel-c-harvey
47082591ee
refactor(archive): single flex row for search/medium/genre controls with narrow-screen reflow
2026-06-15 10:45:18 -04:00
daniel-c-harvey
4df2b8fb57
Merge 8k-w2-renderer into dev (8.K Wave 2: scrolling Canvas 2D Mix visualizer, read-only)
2026-06-14 19:02:16 -04:00