Docs: TASK 30 + ai.md layout update + HANDOFF refresh

TASKS.md: TASK 30 added (gear cleanup + record location + preview
restructure + avatar fix). ai.md: audio description updated (mic now
in preview bottom row, not footer), resolution tiers updated (bottom
bar: gear/stats/resolution), MainWindow layout description updated.
HANDOFF.md: refreshed to clean-tree state, latest commit 455a409.
This commit is contained in:
2026-08-29 11:02:11 -07:00
parent 455a4096d0
commit 04eab51ead
3 changed files with 63 additions and 28 deletions
+48
View File
@@ -1173,6 +1173,54 @@ things?"). Locked model, verbatim intent:
---
## TASK 30 — Gear menu cleanup + Default Location for Recordings + preview layout restructure
### Status: ✅ Done (shipped 2026-08-29, commits `6031a56` → `61b850f` → `455a409`)
The creator's KISS review: gear menu cleanup, single Start button, record-location setting,
and a full layout restructure moving all live controls into the preview pane.
### What shipped:
**Gear menu cleanup:**
- Removed `Save Layout` / `Save Layout As…` / `Open Layout…` from Gear menu + dead VM
commands/methods (`SaveLayoutCommand`, `SaveLayoutAsCommand`, `OpenLayoutCommand`,
`SaveLayoutAs()`, `OpenLayoutFile()`). Multi-layout = use OBS.
**Default Location for Recordings (App Settings):**
- First real setting panel in the Gear menu: "Default Location for Recordings".
- `DefaultRecordFolder()` (internal static): configured → `%USERPROFILE%\Downloads` → `MyVideos`.
- `RecordFolderDisplay` property, `ResetRecordFolderCommand`, Browse + "Use Downloads" reset.
- `TextBox` binding fixed to `Mode=OneWay` (get-only computed property).
- ONE fallback test: `DefaultRecordFolder_Falls_Back_To_Downloads`.
**Single Start button:**
- Button `Content="Start"` hardcoded in XAML. Removed `PrimaryButtonText` / `IsStreamingStart`
properties + all `OnPropertyChanged` references. Pills = intent, lights = state, button = trigger.
**Preview layout restructure — all live controls under preview:**
- Socials button moved from footer (scenes/sources column) to preview bottom row, left of
TRAX button. `MouseEnter`/`MouseLeave` handlers pulse the `SocialBarElement`
`DropShadowEffect` (sine wave BlurRadius 24→48, Opacity 0.7→1.0 at 30ms tick).
- **Mic controls moved from footer into preview pane** (vertical StackPanel below Socials+TRAX):
MIC button + sound meter + mute grid + volume slider — the same footer controls, relocated.
- Preview bottom row: vertical `StackPanel Grid.Row="2"` → Line 1 (Socials + TRAX), Line 2
(MIC + meter + mute + slider). All centered.
**Bottom bar restructured:**
- Reduced to single row (mic row removed), tighter padding (`Padding="16,4"`).
- Gear icon moved to far left. Stream stats (Bitrate/FPS/Dropped/Duration) centered under
preview pane. Resolution dropdown stays far right.
**Avatar fix:**
- Avatar `BitmapImage` no longer loads in the constructor (stale image from last session).
- Only loads when `IsConnected` fires `true` via `OnViewModelPropertyChanged`.
### Tests:
- Build 0 warnings, 247 tests (2 pre-existing known failures excluded).
---
## Backlog (future versions)
1. v1.1 — Stream Deck / Loupedeck integration (requires hotkey foundation from TASK 20)