Files
LlamaCasty/HANDOFF.md
T
gramps 6031a5682d Gear cleanup + Default Location for Recordings + single Start + socials hover glow
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).
2026-08-29 10:30:40 -07:00

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/IsStreamingStart removed).
  • 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/MouseLeave handlers pulse the SocialBarElement DropShadowEffect (BlurRadius 24→48, Opacity 0.7→1.0 sine wave at 30ms tick). MouseLeave restores 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 RecordFolderDisplay binding (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 RealAppHost dispatcher 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.