diff --git a/HANDOFF.md b/HANDOFF.md index a9aaf25..6e46404 100644 --- a/HANDOFF.md +++ b/HANDOFF.md @@ -254,6 +254,15 @@ Zombie entities deleted from the registry: `script.leak_strobe`, `script.doorbel and that dragging the tile up and enlarging it fills a whole 607×540 area, then switch back and confirm the desktop layout is untouched. The unit tests cover the geometry, not the eyeball. +- **⏸ Distribution & packaging is DEFERRED (creator ruling 2026-10-26) — do not pick it up until + we are close to v1.** The creator's reasons: the remaining programming tasks are far from + release, and a **complete UX redesign is about to start** — so packaging/signing/updater/route + decisions would chase scope that is about to move. Nothing distribution-related is urgent now. + Frozen: TASK 48 items 6-8, the signing decision, the updater choice, and the **route contradiction** + (`ai.md` says Store route DEAD → direct + Steam; `TASKS.md`/`TASKS/task-48-…`/this file still say + Store MSIX + Store IAP). That contradiction is to be settled in ONE distribution sweep at the + revisit, not patched piecemeal in the meantime. Detail: `TASKS.md` → Open items → the ⏸ TASK 48 + bullet. - Nothing else is queued for llamacasty — the creator queues work. ## Open (operational) diff --git a/TASKS.md b/TASKS.md index aa78ae9..bd11744 100644 --- a/TASKS.md +++ b/TASKS.md @@ -63,7 +63,7 @@ | 45 | TEST-tab chat fix #2: insert body must declare `snippet.type` (400 MISSING_REQUIRED_FIELD) | ✅ Done (2026-09-25) | [`TASKS/task-45-chat-insert-type.md`](TASKS/task-45-chat-insert-type.md) | | 46 | Drawers: click outside the rail closes whichever is open — TEST added to the existing Stream Settings + YPP dismiss behavior | ✅ Done (2026-09-25) | [`TASKS/task-46-drawer-click-outside-close.md`](TASKS/task-46-drawer-click-outside-close.md) | | 47 | Alert box video: built-in/custom alert clip (+ six-animation fallback) with read-time fade in/out + ticker (now in the preview too, 3 display methods) + alert volume in the live mix | ✅ Done (2026-09-26) | [`TASKS/task-47-alert-videos.md`](TASKS/task-47-alert-videos.md) | -| 48 | Distribution & packaging: **MSIX + Store IAP** | 🔶 In progress — **✅ route decided 2026-09-27 (Store MSIX + Store IAP)**; **item 1 (bundle ffmpeg) SHIPPED 2026-09-28**; **item 2 (`Package.appxmanifest` + `scripts/package-msix.sh`) SHIPPED 2026-10-22 — a real 159 MB `LlamaCasty.msix` packs**; **item 3 (remove the Velopack updater) SHIPPED 2026-10-22** — the Store updates the app. Open: items 6-8 (recording invariant, disqualifiers, pre-submission gates); items 4/5 are the creator's (Certification Kit, Partner Center listing) | [`TASKS/task-48-distribution-msix.md`](TASKS/task-48-distribution-msix.md) | +| 48 | Distribution & packaging: **MSIX + Store IAP** | ⏸ **DEFERRED 2026-10-26 — revisit near v1, not now** (creator: the remaining programming work is far from release, and a complete UX redesign comes first). Frozen until then: items 6-8, the signing decision, the updater choice, and the route question itself. History: **✅ route decided 2026-09-27 (Store MSIX + Store IAP)**; **item 1 (bundle ffmpeg) SHIPPED 2026-09-28**; **item 2 (`Package.appxmanifest` + `scripts/package-msix.sh`) SHIPPED 2026-10-22 — a real 159 MB `LlamaCasty.msix` packs**; **item 3 (remove the Velopack updater) SHIPPED 2026-10-22** — the Store updates the app. Open: items 6-8 (recording invariant, disqualifiers, pre-submission gates); items 4/5 are the creator's (Certification Kit, Partner Center listing) | [`TASKS/task-48-distribution-msix.md`](TASKS/task-48-distribution-msix.md) | | 49 | Chat profanity filter (local, opt-in, non-persistent, user word list) | ☐ Queued (2026-09-27) | [`TASKS/task-49-chat-profanity-filter.md`](TASKS/task-49-chat-profanity-filter.md) | | 50 | One-button "Publish this video" (resumable upload of the local recording) | ☐ Queued (2026-09-28) | [`TASKS/task-50-publish-recording.md`](TASKS/task-50-publish-recording.md) | | 51 | **Webcam background effects: Remove + Blur** | ✅ **Built 2026-10-09** (v1 requirement) — bundled MediaPipe Selfie Segmenter → ONNX (verified vs Google's runtime), Remove + Blur with strength, per-scene config persisted, one processing point in CameraManager, radio-pill UI in the webcam's Layers properties. Creator check 2026-10-09: **Remove jitter FIXED** (temporal mask smoothing 0.75/0.25, OBS/Jitsi-derived) and **Blur "heavy" FIXED** (quadratic radius 1→6 small px, default 0.5 = 2, StreamFX-consensus); recheck on the real camera pending | [`TASKS/task-51-webcam-bg-effects.md`](TASKS/task-51-webcam-bg-effects.md) | @@ -318,6 +318,27 @@ second encoder path needing a "redirect". Record+simulcast is one ffmpeg with tw problems:** the WebView2 Evergreen *runtime* is a machine prerequisite (item 2), and **Velopack's updater downloads and executes — its teardown is a compliance action.** Detail: `TASKS/task-48-distribution-msix.md` §1. +- **⏸ TASK 48 / ALL distribution & packaging work — DEFERRED 2026-10-26 (creator ruling). Do not + start, plan, or re-litigate any of it until we are close to v1.** Verbatim reason: *"we're not + anywhere close to release just considering the remaining programming tasks"* and *"I am getting + ready to do a complete UX redesign"* — packaging, signing, installer and updater decisions would + be chasing UI and scope that are about to change, so the urgency is withdrawn, not the task. + What is frozen: + - **TASK 48 items 6-8** (recording invariant comment, disqualifier re-check, pre-submission gates) + and the creator's items 4/5 (Certification Kit, Partner Center listing). + - **The route question itself.** The map currently contradicts itself: `ai.md` → + "Windows packaging & distribution" says the **Microsoft Store route is dead (2026-10-22)** — + direct download from `llamacasty.com` + Steam, ship unsigned — and `MONETIZATION.md`/`MARCOM.md` + agree, while *this file*, `TASKS/task-48-distribution-msix.md` and `HANDOFF.md` still read + "Microsoft Store / Store IAP decided". **Resolve it in ONE distribution sweep at the revisit — + do not patch it piecemeal now.** + - **Code signing** (ship unsigned vs buy OV/EV) — current recorded posture: ship unsigned and + accept the "unrecognized publisher" warning until download reputation accrues. + - **The updater.** Deleting Velopack (TASK 48 slice 3) left the app with **no update path at all**, + and `ytLive.Tests/StorePackagingTests.cs` currently *asserts that no updater exists*. That guard + must be **rewritten with the chosen updater** at the revisit, never left to veto one. + - The MSIX package + `scripts/package-msix.sh` still build (159 MB artifact) — a working artefact, + submitted nowhere. Leave it alone. - **TASK 10 is now a teardown, not a build** (2026-09-27) — Store IAP deletes the Polar licensing path. The Polar fee tables, the perpetual-key model, and the customer-portal plumbing in `MONETIZATION.md` (gitignored, local) are obsolete; the **watermark-only diff --git a/TASKS/task-48-distribution-msix.md b/TASKS/task-48-distribution-msix.md index 8de368e..16fd46b 100644 --- a/TASKS/task-48-distribution-msix.md +++ b/TASKS/task-48-distribution-msix.md @@ -5,7 +5,13 @@ > Carved out of TASK 36 item 6 (release engineering) on 2026-09-27 so distribution has one > owner instead of three scattered mentions. -**Status:** 🔶 In progress — **✅ ROUTE DECIDED 2026-09-27: Microsoft Store MSIX + Store IAP.** +**Status:** ⏸ **DEFERRED 2026-10-26 (creator ruling) — revisit near v1, not now.** This file is the +record of what was decided and built, not an active queue: the remaining programming work is far +from release and a complete UX redesign comes first. See `TASKS.md` → Open items → the ⏸ TASK 48 +bullet for exactly what is frozen (items 6-8, signing, updater, and the route contradiction against +`ai.md`). Do not start or re-litigate any of it before that revisit. + +**Historical status:** 🔶 In progress — **✅ ROUTE DECIDED 2026-09-27: Microsoft Store MSIX + Store IAP.** Polar is deleted; every licensing subsystem goes with it. **Goal:** get LlamaCasty in front of a user without a SmartScreen scarewall, ideally without