daniel-c-harvey
6e12d0161a
fix(theater): replace max-height collapse with grid-rows + visibility; fix keyboard-focus leak when collapsed
2026-06-21 09:12:24 -04:00
daniel-c-harvey
9716092805
feat(theater): full-screen detail body, eased content collapse, playing-release scoping
...
Detail bodies fill 100vh below the nav so the visualizer reads full-screen; Theater toggle eases page content and the player-bar now-showing panel in/out instead of popping (reduced-motion honored); Theater only applies to the currently-playing release.
2026-06-21 08:59:09 -04:00
daniel-c-harvey
fa01b9c8e0
feat(public): add Theater Mode to release detail pages
...
Toggle left of the lava popover hides release content so the visualizer fills
the surface; player bar grows to carry the playing release's cover, title, and
share. State on WaveformVisualizerControlState; pages and bar observe it.
2026-06-20 21:51:30 -04:00
daniel-c-harvey
c3ec3acafa
fix(queue): route scaffold masthead PLAY through queue; cache QueueItems snapshot
2026-06-20 18:51:30 -04:00
daniel-c-harvey
214f708e65
feat(queue): two-level deque model — PLAY prepends, add appends, last-track-end empties
...
Fixes five queue bugs: Playlist relabel, last-track-empties, dormant-seed-from-player on first add, immediate panel reactivity, and front/back deque semantics. Adds JumpTo for row jumps.
2026-06-20 15:26:37 -04:00
daniel-c-harvey
6029e226d5
Merge p18-w2-theme-followups into dev (Phase 18 Wave 2 — appbar navy, dark hero legibility, true page ground, green-on-green play chip)
2026-06-19 21:01:24 -04:00
daniel-c-harvey
fcc95b9195
style: Phase 18 Wave 2 — appbar navy, dark hero legibility, true page ground, green-on-green play chip
2026-06-19 20:32:21 -04:00
daniel-c-harvey
0358df82ac
feat: Player & Menu Styles
2026-06-19 19:18:40 -04:00
daniel-c-harvey
03fdcda054
style: theme-aware token pass for dark-mode surfaces (Phase 18)
...
Re-point neutral page surfaces, play-chip, and default popover from constant brand tokens to theme-aware aliases defined twice in deepdrft-tokens.css. Decorative navy/green sections and bespoke dark-glass panels untouched. Appbar-navy symptom deferred (palette C#, out of CSS scope).
2026-06-19 18:12:35 -04:00
daniel-c-harvey
466084b5a3
feat: Phase 17.3 — Fixed embed queue panel with collapse/expand iframe resize (OQ1 Option A)
...
Read-only inline queue panel below the release embed's player bar; row-jump reuses PlayRelease. ForRelease mints a taller iframe plus a postMessage resize listener for the collapse toggle; ForTrack unchanged.
2026-06-19 16:21:45 -04:00
daniel-c-harvey
fe3819f378
feat(player): docked queue overlay with reorder, remove, jump, and clear-upcoming
...
Add a Queue toggle to the docked player bar opening a centered editable queue
overlay. New additive QueueService.ClearUpcoming keeps the playing track while
dropping the rest. Current track is non-removable.
2026-06-19 15:18:25 -04:00
daniel-c-harvey
3c1998de4f
feat(embed): show skip-prev/next buttons in embed when queue exists
2026-06-19 13:10:50 -04:00
daniel-c-harvey
18e171213c
feat: open player title link in new tab when embedded (Fixed mode)
2026-06-19 13:08:04 -04:00
daniel-c-harvey
912256d99a
Add whole-release embeds to FramePlayer and un-gate the release embed share affordance
...
The queue gains an armed-but-idle state (Arm/Start) so a release embed stages track 0 prerender-safe, then queues the full release on first play and auto-advances.
2026-06-19 12:05:35 -04:00
daniel-c-harvey
13b07beb0b
fix: Styles & Links & Content
2026-06-19 11:15:09 -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
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
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
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
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
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
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
f40786171d
fix: shrink .lmf-icon to 56px to match MudFab Size.Large
2026-06-08 16:33:20 -04:00
daniel-c-harvey
5258729c86
feat: enlarge LevelMeterFab note to 68px so it fills the 72px FAB
2026-06-08 16:27:08 -04:00
daniel-c-harvey
8679a9f619
fix: scale LevelMeterFab music note to fill the FAB — bump .lmf-icon from 24px to 56px
2026-06-08 16:17:23 -04:00
daniel-c-harvey
ae22153edb
style: LevelMeterFab FAB to 72px, icon to 36px
2026-06-08 16:16:22 -04:00
daniel-c-harvey
e3df6dd93e
fix: scale LevelMeterFab music note to fill the FAB — bump .lmf-icon from 24px to 56px
2026-06-08 16:15:01 -04:00
daniel-c-harvey
505ac0c47b
style: retune spectrum gradient — dark green floor 0-30%, expand yellow/orange zones
2026-06-08 14:54:56 -04:00
daniel-c-harvey
4e6e3c9eab
feat: apply amplitude-tracking gradient to spectrum bars matching LevelMeterFab color scheme
2026-06-08 14:49: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
149127c920
fix: recalibrate level meter dB window to [-70, -10] for FFT peak data
2026-06-08 14:20:50 -04:00
daniel-c-harvey
b9969640e5
feat: continuous vertical VU fill for LevelMeterFab, replacing 3-band tint
2026-06-08 08:55:45 -04:00
daniel-c-harvey
1c942ffb2b
fix: LevelMeterFab icon tint via inline style, bypass Blazor CSS isolation scoping of :root
2026-06-08 08:25:56 -04:00
daniel-c-harvey
7eae599490
fix(LevelMeterFab): replace MudFab with hand-rolled button+SVG so band color tinting is no longer overridden by MudBlazor internals
2026-06-08 07:46:49 -04:00
daniel-c-harvey
165d935ae7
feat: LevelMeterFab tints the minimized-dock FAB icon by live audio level
2026-06-08 07:15:57 -04:00
daniel-c-harvey
5bc1b63b61
fix: route all _isMinimized mutations through SetMinimized so spacer stays in sync
...
Expand, ToggleMinimized, and Close now share one guarded mutator that fires
OnMinimized and renders. Fixed prerender branch left as a direct assignment.
2026-06-07 16:14:55 -04:00
daniel-c-harvey
daa334a947
fix: seek lower-bound guard and pointer-down callback ordering
...
AudioPlayer.ts: route seeks below bufferStart to seekBeyondBuffer;
previous missing lower-bound caused clamped playback after first seek.
WaveformSeeker: fire OnSeekStart/OnSeekChange before capturePointer
await to prevent fast-click race that locked _isSeeking true.
Latent: WavOffsetService encodes remaining-only DataSize, overwriting
JS this.duration after seek — not fixed here, scope separately.
2026-06-07 15:02:34 -04:00
daniel-c-harvey
bd15b66aee
feature: Home Page & Footer Mobile Friendly
Deploy DeepDrftAPI / Build, Publish & Bundle (push) Successful in 1m56s
Deploy DeepDrftManager / Build & Publish (push) Successful in 1m3s
Deploy DeepDrftPublic / Build & Publish (push) Successful in 3m22s
Deploy DeepDrftAPI / Deploy (push) Successful in 1m33s
Deploy DeepDrftManager / Deploy (push) Successful in 1m27s
Deploy DeepDrftPublic / Deploy (push) Successful in 1m29s
2026-06-07 13:48:12 -04:00
daniel-c-harvey
5cdd69d7d9
fix: WaveformSeeker resize drift and mobile fast-tap crash
...
- Add ResizeObserver (JS observeResize/unobserveResize + C# OnWidthChanged)
so _elementWidth stays current after window resize, fixing hover indicator drift
- Move _isSeeking = true before capturePointer await so a fast mobile tap
that fires pointerup mid-await still commits the seek
- Replace all Duration!.Value null-forgiving dereferences with explicit
Duration is > 0 guards in all four pointer event handlers
- Silence post-dispose resize callback rejections with .catch(() => {})
2026-06-07 09:00:10 -04:00
daniel-c-harvey
6dfb3a2f23
fix: AudioPlayerBar Styles
Deploy DeepDrftManager / Build & Publish (push) Successful in 1m10s
Deploy DeepDrftPublic / Build & Publish (push) Successful in 3m31s
Deploy DeepDrftManager / Deploy (push) Successful in 1m24s
Deploy DeepDrftPublic / Deploy (push) Successful in 1m29s
2026-06-07 08:19:52 -04:00
daniel-c-harvey
13adb144a6
feature: Mobile Menu & Style Polish
2026-06-07 06:53:21 -04:00
daniel-c-harvey
9ce2631bf4
feature: AudioPlayer Enhancements
Deploy DeepDrftAPI / Build, Publish & Bundle (push) Successful in 1m59s
Deploy DeepDrftManager / Build & Publish (push) Successful in 59s
Deploy DeepDrftPublic / Build & Publish (push) Successful in 3m30s
Deploy DeepDrftAPI / Deploy (push) Successful in 1m33s
Deploy DeepDrftManager / Deploy (push) Successful in 1m27s
Deploy DeepDrftPublic / Deploy (push) Successful in 1m28s
2026-06-06 20:17:50 -04:00
daniel-c-harvey
475f93c8a3
feature: AudioPlayerBar Layout Enhancements
2026-06-06 19:47:17 -04:00
daniel-c-harvey
a4b098b8ea
feature: AudioPlayerBar enhancements
2026-06-06 17:48:07 -04:00
daniel-c-harvey
6b18d7cc1e
Player Layout
2026-06-06 17:28:39 -04:00
daniel-c-harvey
1bb6e29e47
feature: Track Meta Labels on Player
2026-06-06 16:05:45 -04:00
daniel-c-harvey
c83b132522
feature: Embed Frame Player
2026-06-06 15:43:09 -04:00
daniel-c-harvey
526e607f33
Merge branch 'play-icons-w2-component' into dev
2026-06-06 11:52:57 -04:00
daniel-c-harvey
7d3da58573
Style Polish
2026-06-06 11:52:41 -04:00