Files
LlamaCasty/TASKS/task-30-gear-cleanup-preview-layout.md
gramps 87509bcf99 docs: restructure TASKS.md into a catalog — one file per task in TASKS/
TASKS.md is now the index (status table, open items, research pointer).
33 files: 32 task files + 1 research facts file. The full take-saga
narrative and all design decisions are preserved verbatim; the catalog
makes the queue readable without opening every task body. Schema and
AGENTS.md updated to reflect the new layout.
2026-09-05 16:31:46 -07:00

50 lines
2.5 KiB
Markdown

# TASK 30 — Gear menu cleanup + Default Location for Recordings + preview layout restructure
> Catalog: [`TASKS.md`](../TASKS.md) — status and requirements live here.
### 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).