daniel-c-harvey
9395f503b4
Merge p12-w4-t2-nowplaying into dev (12.D: real waveform visualizer in NowPlaying card, mode C + Fill mode)
2026-06-17 12:23:43 -04:00
daniel-c-harvey
05486a61af
feat(now-playing): mount real waveform visualizer in NowPlaying card (mode C) + Fill container-sizing mode
...
Replace the 20 synthetic bars with a contained WaveformVisualizer driven by the live player, pointed at the current track; add a Fill mode (CSS-only, defaults off) sizing the canvas to its container; place the lava-lamp icon to popover on the card.
2026-06-17 12:15:49 -04:00
daniel-c-harvey
955182d6da
feat(p12-w4): ambient visualizer slot on scaffold + popover controls on all detail hosts
...
Add optional Ambient slot to ReleaseDetailScaffold (full-bleed layer behind content; absent = no regression). Cut mounts it + popover; Session mounts the engine directly behind its hero; Mix swaps its inline knob-bar for the lava-lamp popover.
2026-06-17 12:11:03 -04:00
daniel-c-harvey
f1afe6e028
fix(visualizer): follow the live playing track, not the fixed host TrackId
...
Replace the TrackId-only IsActivePlayer gate with a LivePlayerTrack source that follows the playing track when it is the host track or shares the host release; single-track Mix/Session unchanged at parity.
2026-06-17 11:38:45 -04:00
daniel-c-harvey
9f8808a596
Merge p12-w2-t2-popover-panel into dev (12.E: popover-hosted waveform control panel)
2026-06-17 11:22:36 -04:00
daniel-c-harvey
7aeced6a8d
feat(visualizer): popover-hosted control panel (Phase 12.E)
...
Build WaveformVisualizerControlPopover pairing the lava-lamp trigger with the eight-knob WaveformVisualizerControls panel; style to the NowPlaying Hero look from tokens. Panel chrome scoped to the popover mount via a PanelChrome flag; Mix's inline mount unchanged.
2026-06-17 11:12:27 -04:00
daniel-c-harvey
a19a734757
feat(p12-w2): track-cardinal high-res waveform fetch + bridge rewire
...
Add GET api/track/{trackEntryKey}/waveform/high-res (+ proxy), ITrackDataService.GetTrackWaveform; rewire visualizer to resolve the current track's EntryKey and re-fetch on track change. Retire the client mix-waveform read path.
2026-06-17 11:12:26 -04:00
daniel-c-harvey
3839948eeb
refactor(12.A): rename Mix* visualizer engine to Waveform* abstraction
2026-06-17 10:16:44 -04:00
daniel-c-harvey
8331ccf6a3
Merge fix-share-embed into dev (anchor SharePopover via documented MudPopover RelativeWidth; restore track-mode embed affordance)
2026-06-17 06:42:10 -04:00
daniel-c-harvey
ea74aaaf2e
fix(mix): reduce waveform smoothing to 15 ms; turn off DEBUG flags
2026-06-17 06:33:03 -04:00
daniel-c-harvey
394b07f404
fix(share): anchor SharePopover via documented MudPopover RelativeWidth
...
Use Fixed + RelativeWidth=Adaptive with BottomLeft/TopLeft origins to
anchor the menu under the share button; drop the inline-block shrink-wrap
container hack. Keep AutoClose off so the embed panel survives clicks.
2026-06-17 06:30:31 -04:00
daniel-c-harvey
d105385006
style(releases): scope gallery container with ::deep, move card radius to cover, narrow mix hero to 480px
2026-06-17 05:46:40 -04:00
daniel-c-harvey
d36aea212c
docs(visualizer): fix five inaccurate comments — sub-unity restitution, uniform heat boost, progressive push-out, scroll-speed cross-ref, eight-knob bar
2026-06-17 05:20:12 -04:00
daniel-c-harvey
4e34696719
feat(mix-visualizer): Phase 10 tuning — smooth waveform, bouncy collision, 8 knobs
...
Smooth the loudness contour (~50 ms envelope at preprocessing + decode-time, plus
smootherstep render reconstruction); retune wax↔waveform collision to bouncy/sub-unity
(no explosion/stuck/jitter); split the bubbles knob into fluid-amount + fluid-viscosity
(cohesion via uniform-only smin/wobble); retune scroll/gravity/heat/width ranges; make
the colour rotation visible and boost OKLab chroma; the controls bar now holds its
layout and hides only its knobs via a Visible parameter.
2026-06-17 05:12:15 -04:00
daniel-c-harvey
ba1a1cd8ec
Merge fix-sharepopover-anchor into dev (anchor release SharePopover under the share button via inline-block wrapper)
2026-06-17 04:11:30 -04:00
daniel-c-harvey
bfdbf7568f
fix: Mix Visualizer Controls Styles
2026-06-17 04:08:18 -04:00
daniel-c-harvey
4eba3b0bb3
docs(SharePopover): correct inline-block/relative comments — inline-block is load-bearing, relative is incidental
2026-06-16 21:13:06 -04:00
daniel-c-harvey
a6d25344b4
feat(mix-detail): extract shared ReleaseHeroOverlay; Mix cover becomes overlaid 600px square hero (Direction B)
2026-06-16 20:53:25 -04:00
daniel-c-harvey
81ea5909d2
fix(share-popover): anchor popover to button via relative-positioned wrapper div
2026-06-16 20:49:58 -04:00
daniel-c-harvey
fc7c9e978f
feat(mix-visualizer): gate knob controls with Blazor @if in TopContent band; drop CSS collapse, glass, and TopRowCenter slot
2026-06-16 20:31:42 -04:00
daniel-c-harvey
841822d8fe
fix(mix-visualizer): move seven-knob controls in-flow between back link and lava lamp (Phase 10 reframe §7b)
2026-06-16 20:12:02 -04:00
daniel-c-harvey
c926937694
fix(share): correct share URLs for session/mix detail pages — release mode + /tracks/ plural
2026-06-16 18:58:32 -04:00
daniel-c-harvey
dae8020a22
chore(p11): fix stale-id docs, align test EntryKey shapes, drop dead track-card-link CSS
2026-06-16 18:05:37 -04:00
daniel-c-harvey
946b1d7cf9
Merge p11-w5-release-entrykey into dev (P11 11.H: release EntryKey on the public addressing surface; migration authored, not applied)
2026-06-16 17:26:53 -04:00
daniel-c-harvey
41ac7a5a93
Phase 10 reframe R4: seven-knob inline visualizer controls, always-on lava loop, filled lava-lamp icon
2026-06-16 17:17:14 -04:00
daniel-c-harvey
f07d29cdcf
feat(release): front int PK with app-minted GUID EntryKey on the public addressing surface (P11 W5, 11.H)
2026-06-16 17:11:55 -04:00
daniel-c-harvey
a64a5598ae
feat(visualizer): R2 lava tuning — flat fluid, melt, up+out throw, heat-driven turbulence, waveform-width knob
2026-06-16 12:48:17 -04:00
daniel-c-harvey
db7afe4ea7
feat(p10-reframe-w2): CPU wax-blob lava physics + 2D collision; smin metaball render
2026-06-16 12:19:30 -04:00
daniel-c-harvey
ed7304af1f
Merge p11-w3-t2-release-share into dev (P11 11.E: release-keyed SharePopover mode, Cut header Share)
2026-06-16 11:58:20 -04:00
daniel-c-harvey
0b2fee1520
Merge p11-w3-t1-retire-normalize into dev (P11 11.C: retire track-cardinal stack, fold Archive/Cuts cards into ReleaseGallery)
2026-06-16 11:58:06 -04:00
daniel-c-harvey
2c4bd3a394
fix(p10-reframe-w1): clip visualizer to minimized FAB height; replace LavaLamp icon with SVG Repo glyph
2026-06-16 11:53:47 -04:00
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
ef6d21b94e
refactor(public): retire track-cardinal stack, fold Archive/Cuts cards into ReleaseGallery (P11 W3 §4)
2026-06-16 11:31:02 -04:00
daniel-c-harvey
313551ac7c
Merge p10-reframe-w1-clean into dev (Phase 10 Reframe W1: de-noise, dynamic footer clip, lava-lamp icon redraw)
2026-06-16 11:17:32 -04:00
daniel-c-harvey
ff37efea89
Phase 10 W1: de-noise Mix visualizer, clip to live player-bar height, redraw lava-lamp icon
2026-06-16 11:12:20 -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
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
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
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
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
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
bf00b7f22f
feat(visualizer): controls row + unified MixVisualizerControlState; 3 inert uniforms wired (P10 W2)
2026-06-15 23:15:44 -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
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
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
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
7f1c6bdb66
Merge ui-share-relocate into dev (share button centered below detail metadata)
2026-06-15 11:13:22 -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