Commit Graph

15 Commits

Author SHA1 Message Date
gramps e037ba027b Multi-scene webcam (schema v3/v4): singleton Webcam + per-scene WebcamSceneConfig, right-click OBS-style border/context menu, persisted round-to-rect restore + legacy-square 16:9 heal, dark MenuItem template, tests (25 passing) 2026-08-07 08:24:18 -07:00
gramps f31ce9fdb7 Hermetic real-MainWindow tests: LayoutPathOverride temp-DB seam (InternalsVisibleTo); fix tests persisting fake webcam sources over the real layout DB; LayoutStore delete-roundtrip guard 2026-08-06 15:16:58 -07:00
gramps 7bc70872d9 Round clip: true circle (Viewbox/1x1 ellipse) + grabbable corner handle (transparent source grid, non-hit-testable selection overlay); resize locks square in round mode 2026-08-06 15:05:21 -07:00
gramps b64830ed11 Webcam grab: SharedReadOnly mode, VideoPreview/VideoRecord source fallback, name the blocking app in the error (NVIDIA Broadcast finding) 2026-08-06 14:42:54 -07:00
gramps 98cdc4b3f4 TASK 3 milestone 1: webcam capture (MediaCapture CPU-first, CameraManager refcount, picker, clip/mirror, schema v2, tests) 2026-08-06 14:35:34 -07:00
gramps d97b5d375c End Livestream completes the session: StopStream clears the OAuth session and DPAPI token (crash-safe sign-out) 2026-08-06 11:50:50 -07:00
gramps 4afe11e718 OAuth session persists via DPAPI; sign-in lives in the Start Stream dialog; add xUnit test project (6 passing) 2026-08-06 09:38:35 -07:00
gramps 8f0ecd3796 Resolution dropdown drives the output frame: vertical 9:16 tier with semi-crop preview over the fixed 1920x1080 master 2026-08-06 09:20:32 -07:00
gramps 4ef11ef5ac Branding flash monetization: full-frame 'made with ytLlive!' every 300s replaces the always-on watermark 2026-08-06 09:04:20 -07:00
gramps 3a2c87f518 Add AGENTS.md on-ramp, response-style rules, and optional No-Fluff Mode
- AGENTS.md: auto-read session on-ramp — memory-map reading order, working
  rules, build command, and startup-log pointer
- ai.md: Response style section (no default planning boilerplate) plus an
  optional, on-demand No-Fluff Mode for ruthless review; never the default
- schema.md: AGENTS.md listed as the always-read first page
2026-08-06 08:43:01 -07:00
gramps a74162e34e Resolution dropdown, list-focus preservation, unified dark theme, startup logging, and memory map
- Bottom-bar resolution dropdown (1080p60/1080p30/720p60/480p30) with tooltip
  on finding upload bandwidth; disabled while live; no in-app speed test
- FocusPreservingListBox keeps selection/focus coherent when a selected
  scene/source is deleted (skip hidden scenes; leave list when empty)
- Themes/Controls.xaml: single dark-theme dictionary merged once in App.xaml;
  custom ComboBox template fixes SelectionBoxItem rendering; GoLiveWindow and
  ReuseImageDialog consolidated onto shared styles
- AppLog file logger + AppDomain/Dispatcher exception hooks; checkpointed
  MainWindow/VM/dialog constructors (caught MenuItemRole.Separator XAML crash)
- Memory map: schema.md conventions, per-directory index.md, updated ai.md/
  TASKS.md/README.md (OAuth creds real; token persistence still pending)
2026-08-06 08:33:05 -07:00
gramps 7dc8490d96 Scene/source builder with image overlays, reuse dialog, and SQLite layout persistence 2026-08-04 17:12:32 -07:00
gramps aae17a1511 Go Live gated on auth; scene building stays auth-free; update design docs 2026-08-04 10:40:51 -07:00
gramps d4945f4fd0 Make YouTube auth optional and non-blocking; manual stream key is baseline go-live path 2026-08-04 10:28:01 -07:00
gramps 8aebbff318 Add README with design principle, TASKS.md roadmap, and ai.md agent guide 2026-08-04 10:24:20 -07:00