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
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
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
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
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
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
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
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
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
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
06b58304c5
fix(visualizer): blank Mix ribbon at rest + init/draw diagnostics (P10 W1)
2026-06-15 17:45:21 -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
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
c64455f2f2
fix(visualizer): gate rAF loop on is-playing; one-shot redraws while idle (§E)
2026-06-14 18:31:24 -04:00
daniel-c-harvey
2d0a565765
feat(public): scrolling Canvas 2D Mix visualizer — windowed, playback-coupled, zoomable, read-only (8.K W2)
2026-06-14 18:20:32 -04:00
daniel-c-harvey
737c423d9c
feat: replace /archive with release-cardinal searchable browser (Phase 9 §8.H)
...
Retire the three-card overview for a search + medium + genre browser over all
releases. Adds q/genre filter params to the api/release paged read path,
mirroring the existing api/track/page TrackFilter pattern.
2026-06-13 20:47:50 -04:00
daniel-c-harvey
af724ce570
Phase 9 Wave 4: ARCHIVE nav + Cuts/Sessions/Mixes pages + MixWaveformVisualizer
...
Replaces flat RELEASES/SESSIONS/MIXES nav with ARCHIVE dropdown (PageRoute.Children,
one-level cap, dual-role node). Adds /archive overview, /cuts (AlbumsView + medium
filter; /albums redirects), /sessions + /sessions/{id} (hero-dominant), /mixes +
/mixes/{id} (MixWaveformVisualizer full-page background). Extracts ReleaseDetailScaffold
from TrackDetail (invariant trio). PersistentComponentState bridge on all new pages.
Click-to-seek seam designed on MixWaveformVisualizer (inert until wired).
2026-06-12 23:05:25 -04:00
daniel-c-harvey
70f110bed7
fix: use Content Update to suppress tsconfig.json from publish output
2026-06-11 20:55:43 -04:00
daniel-c-harvey
80ebc80a2a
fix: Home Page Styles Cleanup
Deploy DeepDrftPublic / Build & Publish (push) Failing after 3m27s
Deploy DeepDrftPublic / Deploy (push) Has been skipped
2026-06-11 19:59:08 -04:00
daniel-c-harvey
c6078a3e71
assets: add studio, live, and DJ mix images for home medium section
2026-06-11 18:50:07 -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
612b21b1e7
Merge branch 'p7-w5-parallax-prerender-pos' into dev
2026-06-11 15:47:48 -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
5d9ba1c953
feat(audio): wire Mp3FormatDecoder and FlacFormatDecoder into AudioPlayer factory
2026-06-11 09:32:33 -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
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
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
009f565b73
fix: remove dead CalculateByteOffset C# shim; guard AudioPlayer.calculateByteOffset on parsed format
2026-06-11 06:13:52 -04:00
daniel-c-harvey
0b0bcb3dee
refactor(audio): extract IFormatDecoder/WavFormatDecoder and wire Content-Type to JS format selection
...
StreamDecoder is now format-agnostic; WavFormatDecoder delegates to WavUtils; contentType flows C# to JS.
2026-06-11 06:08:09 -04:00
daniel-c-harvey
88ac5b2c88
fix(audio): support WAVE_FORMAT_EXTENSIBLE PCM WAVs, normalizing them to standard PCM on upload
2026-06-10 15:20:34 -04:00
daniel-c-harvey
43f54cb950
Merge branch 'p2-w1-filter-views' into dev
2026-06-10 12:43:33 -04:00
daniel-c-harvey
10256677ac
docs: close Phase 2.2/2.3 — move to COMPLETED.md, update DeepDrftPublic proxy CLAUDE.md
2026-06-10 10:58:16 -04:00
daniel-c-harvey
5cae83b9ed
feat: add search/album/genre filtering and /albums + /genres browse pages
2026-06-10 10:54:56 -04:00
daniel-c-harvey
b372bee365
Merge branch 'stream-now-button' into dev
2026-06-09 07:25:25 -04:00
daniel-c-harvey
9be35e5a58
refactor: extract StreamNowButton component shared by hero and nav menu
2026-06-09 07:00:37 -04:00
daniel-c-harvey
aaa9f732ae
feat: replace ?offset= seek with HTTP Range streaming across API, proxy, and client
...
- API: enableRangeProcessing true on no-offset FileStream path
- Proxy: transparent Range relay, forwards 206/416/Content-Range verbatim
- TrackMediaClient: Range: bytes=X- replaces ?offset=X; response disposed via TrackMediaResponse
- StreamDecoder: reinitializeForRangeContinuation retains wavHeader, counts raw PCM against 206 Content-Length
- AudioPlayer: seekBeyondBuffer adds headerSize for file-absolute offset; duration guard prevents continuation overwriting full-track duration
- StreamingAudioPlayerService: seek guard corrected to >= 0 (file-absolute offset contract)
2026-06-09 07:00:35 -04:00
daniel-c-harvey
760e9a1982
fix: Adjust Spectrum Bar Colors
Deploy DeepDrftPublic / Build & Publish (push) Successful in 3m37s
Deploy DeepDrftPublic / Deploy (push) Successful in 1m23s
2026-06-09 06:23:23 -04:00
daniel-c-harvey
58725c4646
feat: true RMS dBFS level measurement for LevelMeterFab via getFloatTimeDomainData
2026-06-08 14:40:11 -04:00
daniel-c-harvey
2e165d0aef
feat: render album art in track detail cover slot, falling back to gradient placeholder
2026-06-08 07:09:39 -04:00
daniel-c-harvey
9015411f12
Merge branch 'p2-w5-stream-now' into dev
2026-06-07 18:35:37 -04:00