6031a5682d
KISS: removed Gear-menu Save/SaveAs/Open Layout (redundant with auto-save; multi-layout = OBS). App Settings: first real setting — Default Location for Recordings (Browse + Use Downloads reset, fallback: configured → Downloads → MyVideos). Single Start button (pills = intent, button = trigger). Socials button moved to preview bottom row, left of TRAX; hover pulses the SocialBarElement DropShadowEffect (sine wave BlurRadius 24→48, Opacity 0.7→1.0 at 30ms). TextBox OneWay binding fix for get-only RecordFolderDisplay. ONE fallback test. Build 0 warnings, 247 tests (2 known).
2.4 KiB
2.4 KiB
HANDOFF — Session State
Branch / Commit State
main, working tree is DIRTY — ready to commit. See "Changes" below.
No feature branches pre-1.0: all work lands on main per work unit.
Changes (uncommitted, ready to commit)
Gear menu cleanup + App Settings + single Start button (TASK 30):
- Removed Gear-menu
Save Layout/Save Layout As…/Open Layout…+ dead VM commands/methods. - App Settings panel: "Default Location for Recordings" with Browse + Use Downloads reset.
- Single Start button (
Content="Start"in XAML;PrimaryButtonText/IsStreamingStartremoved). - Fallback chain: configured →
%USERPROFILE%\Downloads→MyVideos. - ONE fallback test
DefaultRecordFolder_Falls_Back_To_Downloads.
Socials button + hover glow (new):
- Socials button moved from footer (scenes/sources column) to preview bottom row, left of
TRAX button, inside a horizontal StackPanel.
MouseEnter/MouseLeavehandlers pulse theSocialBarElementDropShadowEffect(BlurRadius 24→48, Opacity 0.7→1.0 sine wave at 30ms tick).MouseLeaverestores original values.
Bug fix: TextBox binding RecordFolderDisplay changed to Mode=OneWay (get-only
property caused TwoWay crash on startup).
Files touched: MainWindow.xaml, MainWindow.xaml.cs, ViewModels/MainViewModel.cs,
ytLive.Tests/LayoutStorePersistenceTests.cs, TASKS.md, HANDOFF.md.
Landmines
- TextBox.Mode=OneWay is required for
RecordFolderDisplaybinding (get-only computed property). - Pre-existing test failures (do not chase):
AudioPipelineTests.Mix_HonorsProviderGains…+RoundClipInteractionTests.Round_Clip_Corner_Is_Grabbable…. - App running locks
ytLive.exe→ build fails MSB3027. - Test suite hangs when running full suite (WPF
RealAppHostdispatcher deadlock); individual tests pass in isolation. Investigate before relying on full-suite results. - Pre-commit gate:
./scripts/verify.sh— clean build (0 warnings) + full tests + scope check.
Todo state
- TASK 18: shipped. Remaining = running-app verification (creator).
- TASK 21: Increment A shipped (
eba6af5). Decoder blocked on ffmpeg. - TASK 22 (audio sync offset): not started.
- TASK 30: gear cleanup + record location + single Start — ready to commit.
- Monetization: deferred (creator rethinking price/subscription model).
- Socials hover glow: new, ready to commit.