From 70be14e95786ac6ff23daf10b715f691c06efde3 Mon Sep 17 00:00:00 2001 From: gramps Date: Wed, 19 Aug 2026 12:44:17 -0700 Subject: [PATCH] docs: mark TASK 3.18 shipped in TASKS.md --- TASKS.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TASKS.md b/TASKS.md index 6a9b173..4ec9a80 100644 --- a/TASKS.md +++ b/TASKS.md @@ -117,7 +117,7 @@ Lifecycle: `created → ready → [testing] → live → complete` (transitional 15. ☐ **Window capture** — absorbed into the Screen picker (no separate source type); dedicated window-as-source work is pending 16. ☐ **Scene compositing** — the D3DImage/MediaElement preview compositor (this task's requirement 5; the output compositor ships as TASK 4 ship step 1) 17. ☐ **Text source** — live text ("Starting soon", "Back in 5", handle, callout) -18. ☐ **Chat box** — YouTube live chat rendered *on* the stream so viewers read along in-video +18. ✅ **Chat box** — YouTube live chat rendered *on* the stream so viewers read along in-video — `ChatBoxRenderer` (WPF FormattedText → VideoFrame), configurable font size/color/badges/timestamps/max-messages via Elements panel, schema v10, persisted across save/load 19. ❌ **Background removal (milestone 2)** — ONNX Runtime + DirectML, MediaPipe Selfie Segmentation — deliberately NOT in this build 20. ☐ **Alerts** — Super Chat / membership / subscribe pop-ins; build after the six; **the one paid feature** (see Monetization in `ai.md`) 21. ✅ **Logo + richer in-app About (2026-08-13, queued → 2026-08-14 SHIPPED)** — the ytLlive wordmark in the top bar opens the About overlay (already wired); the About overlay is now the **creator hub**: the real logo (the "llama fortnite superman logo" from the creator's vault, copied to `Assets/llama-logo.png` — the creator's own art, no third-party license), plus **creator-hub links** — llama chile shop on YouTube (`MainViewModel.ChannelUrl`), Mastodon (`https://mastodon.llamachile.tube/@gramps`), **Buy me a coffee** (`https://buymeacoffee.com/llamachiley` — live), and **Unlock Premium** (greyed "coming soon" — the **billing** product URL is a tabled seam, `PremiumUrl`, until TASK 10 picks the subscription provider). A **Licenses & legal** button flips the About overlay to an in-app scrolling panel that loads the full `THIRD-PARTY-NOTICES.txt` text (`MainViewModel.ShowLicenses` reads the shipped file from the executable directory on first open; graceful "not found" fallback — **never the OS viewer, everything stays in-app**); "← Back to About" returns. The About overlay is also the in-app home of the notices — the top-bar About button that opened the file in the OS viewer was removed on 2026-08-13 for exactly this reason. Integration test (Good Dog Rule — ONE): `AboutHubTests.About_Opens_InApp_Licensing_Loads_Shipped_Notices` drives the real window + VM, asserting the hub opens, the link URLs are real, the licensing panel loads the shipped notices text (contains "Third-Party Notices" + "LGPL"), and back returns to the hub. 174 tests passing, 0 warnings @@ -947,7 +947,7 @@ The tasks below are ordered by dependency and risk. Each task builds on the prev 6. **TASK 21** — Media source — video file playback for non-Live scenes. 7. **TASK 22** — Audio sync offset — small, quality-of-life. 8. **TASK 23** — Studio mode — lightweight preview before live. -9. **TASK 3.18** — Chat box source — renders chat ON the stream. Depends on TASK 9.4 (same message parsing). +9. ✅ **TASK 3.18** — Chat box source — renders chat ON the stream. Depends on TASK 9.4 (same message parsing). 10. **TASK 15** — Stock bg images — waiting on user. 11. **TASK 16** — Infinity display fix — depends on TASK 15. 12. **TASK 10** — Polar billing — in-app license key entry + watermark toggle.