daniel-c-harvey
ce437521ee
feat(share): add release-keyed copy-link mode to SharePopover; wire Cut header (§3b, P11 W3 11.E)
2026-06-16 11:31:03 -04:00
daniel-c-harvey
d98ead97c3
Merge p11-w2-releaseroutes-resolver into dev (P11 11.B: ReleaseRoutes.DetailHref resolver + repoint, /tracks/{id} redirect)
2026-06-16 11:13:22 -04:00
daniel-c-harvey
55515981a9
feat(routing): add ReleaseRoutes.DetailHref resolver; repoint release click sites and add /tracks/{id} redirect (P11 W2 §2)
2026-06-16 10:56:28 -04:00
daniel-c-harvey
74b9c02722
docs(plan): add Phase 12 Mix Visualizer Lava Reframe spec; supersede Phase 10 effects/controls
2026-06-16 10:33:24 -04:00
daniel-c-harvey
96b13af95d
docs: record §3.4 PlayAlbum queue seam closure (P11 W1 follow-up)
...
CutDetail Play affordances now consume IQueueService.PlayRelease; annotate
PLAN.md §11 landed note and add COMPLETED.md entry.
2026-06-16 10:28:19 -04:00
daniel-c-harvey
f8f9844ef4
Merge p11-w1-playalbum-seam into dev (P11 W1: wire CutDetail Play to IQueueService, §3.4 seam closed)
2026-06-16 10:26:57 -04:00
daniel-c-harvey
6ac943ca09
feat(cuts): wire PlayAlbum/PlayTrack to IQueueService.PlayRelease (§3.4 seam, P11 W1)
...
Header Play loads full album at index 0; row play loads at that row's index with same-track
toggle preserved; null-safe cascade fallback to direct SelectTrackStreaming when queue absent.
2026-06-16 10:22:59 -04:00
daniel-c-harvey
364450885b
Merge p10-w4-popover-knobs into dev (Phase 10 Wave 4: lava-lamp popover, RadialKnob controls, wider Mix detail body)
2026-06-16 00:48:12 -04:00
daniel-c-harvey
fbb397228e
Merge dev into p10-w4-popover-knobs (integrate concurrent Phase 11 scaffold changes)
...
# Conflicts:
# DeepDrftPublic.Client/Controls/ReleaseDetailScaffold.razor.cs
2026-06-16 00:47:58 -04:00
daniel-c-harvey
c2a3e53991
Merge p10-w3-effects-rework into dev (P10 W3 rework: vivid HSL field, time-driven bubbling, surface-born bubbles, working color-shift)
2026-06-16 00:40:41 -04:00
daniel-c-harvey
23b34004ff
Merge p11-w1-description-schema into dev (P11 11.G: release Description field, migration authored)
2026-06-16 00:38:13 -04:00
daniel-c-harvey
aedbe82d28
Merge p11-w1-queue-service into dev (P11 11.F: play-queue IQueueService + skip controls)
2026-06-16 00:37:31 -04:00
daniel-c-harvey
2bb7d86e63
fix(icons): strip outer <svg> wrapper from LavaLamp — MudBlazor supplies its own
2026-06-16 00:37:20 -04:00
daniel-c-harvey
ff9c87c461
Merge p11-w1-cuts-detail into dev (P11 11.A: /cuts/{id} album-detail page)
2026-06-16 00:37:01 -04:00
daniel-c-harvey
e59271aa00
feat(mix): lava-lamp popover with RadialKnob controls + wider Mix detail body (P10 W4)
2026-06-16 00:19:47 -04:00
daniel-c-harvey
b27ec1b7d0
docs: record Phase 11 Wave 1 landed (11.A cuts page, 11.F queue, 11.G description)
...
Annotate PLAN.md §11 with landed tracks; add COMPLETED.md Phase 11 section;
document TrackNumber as a supported sortColumn in DeepDrftAPI/CLAUDE.md.
2026-06-16 00:19:41 -04:00
daniel-c-harvey
c1ed2a9ba3
fix(visualizer): vivid HSL field, time-driven bubbling, surface-born bubbles, visible color-shift (P10 W3 rework)
2026-06-16 00:16:37 -04:00
daniel-c-harvey
294414d00a
fix(queue): guard OnTrackEnded against direct-play cross-context advance
...
Only advance when player's CurrentTrack.Id matches queue's Current.Id;
direct-play call sites (SessionDetail, StreamNowButton, resume) that
supersede the queue no longer spuriously advance the album. Adds
regression test covering the scenario.
2026-06-16 00:13:51 -04:00
daniel-c-harvey
2b42e01cd0
feat(player): add IQueueService orchestrating album playback above the single-slot player (P11 11.F)
...
Queue owns ordered tracks, current index, skip-fwd/back, and auto-advance via the player's TrackEnded hook; binds through Attach (no ctor growth, no service-locator). Player-bar skip controls; empty-queue play unchanged. Adds QueueService unit tests.
2026-06-16 00:04:44 -04:00
daniel-c-harvey
26d7a05ba4
docs: record Phase 10 Wave 3 (in-shader effects) landed
2026-06-16 00:01:05 -04:00
daniel-c-harvey
cfacc9f79a
feat(release): add plain-text Description field plumbed CMS->DTO->release (11.G)
...
New nullable Description column (max 4000) on ReleaseEntity, rides the Genre write channel through upload + edit; multiline CMS input. Migration authored, not applied.
2026-06-16 00:00:06 -04:00
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
779e1f569c
Merge p10-w3-shader-effects into dev (Phase 10 Wave 3: four in-shader effects — gradient field, bubblyness, lava-lamp detach, glass)
2026-06-15 23:56:07 -04:00
daniel-c-harvey
5011fb43f0
perf(shader): hoist playhead texture tap; clamp neighbour sdRoundBox corner radius
2026-06-15 23:55:16 -04:00
daniel-c-harvey
a9d6445881
feat(visualizer): four in-shader Mix effects — morphing navy-moss field, bubblyness, lava-lamp detach, glass (P10 W3)
2026-06-15 23:42:44 -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