87509bcf99
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.
50 lines
2.5 KiB
Markdown
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).
|
|
|