feat: BRB backdrop seed + docs refresh + Polar org ID
- Add brb-backdrop.jpg asset, SeedBrbBackdrop() mirrors Starting pattern - Update HANDOFF.md (was stale), TASKS.md (TASK 10 ready, TASK 15 2/5), ai.md (org ID) - Polar org ID c05fb364 obtained via OAT, recorded in CREDENTIALS.md
This commit is contained in:
+35
-21
@@ -1,21 +1,25 @@
|
||||
# HANDOFF — Session State
|
||||
|
||||
## Branch
|
||||
`main` — dirty (social slot lock removal + doc updates)
|
||||
`main` — dirty (BRB backdrop + Polar org ID + doc updates, uncommitted)
|
||||
|
||||
## What shipped this session
|
||||
- **Branding palette + assets recorded** — `ai.md` Brand section (references `MARCOM.md`), `MARCOM.md` gets the full hex palette and asset inventory
|
||||
- **AI transparency statement** — `ai.md` Brand section documents AI-assisted pair-programming
|
||||
- **Monetization model updated** — `ai.md` Monetization section rewritten: no feature lock, only watermark difference; all features free for everyone
|
||||
- **TASKS.md updated** — TASK 10 re-scoped (Polar billing, watermark-only), tasks 15-18 added (stock bg images, infinity display fix, web source WebView2, local recording)
|
||||
- **TASK 10c shipped** — social slot locks removed: `SocialsDialogViewModel` no longer takes `isPremium` parameter, slots 3-6 always available, tests updated
|
||||
- **v1 feature completeness** — competitive gap analysis completed; 5 new tasks added (19-23) for table-stakes features: scene transitions, hotkeys, media source, audio sync offset, studio mode
|
||||
- **MONETIZATION.md updated** — v1 feature completeness section added with competitive context
|
||||
- **ai.md updated** — v1 task queue documented in Current limitations/TODOs section
|
||||
- **BRB backdrop seeded on every load** — `Assets/brb-backdrop.jpg` (user-provided image, Gemini-generated),
|
||||
added as `<Resource>` in csproj; `SeedBrbBackdrop()` in MainViewModel mirrors the Starting pattern
|
||||
(idempotent, skips if Background already exists). Runs on every startup outside the
|
||||
`Scenes.Count == 0` guard.
|
||||
- **UI rename: Screens → Layers → Properties** — 16 UI text changes across MainWindow.xaml + MainViewModel.cs
|
||||
(section headers, tooltips, context menus, empty hints, onboarding text, fallback display name).
|
||||
Code identifiers unchanged.
|
||||
- **Polar org ID obtained** — `c05fb364-b967-4f6c-adf2-8a144e46d085` (Llama Chile Shop, slug: llamacasty).
|
||||
Organization Access Token (OAT) stored in `Downloads/llamacasty-polar-code.txt`.
|
||||
OATs are org-scoped — `organization_id` can be omitted from API calls.
|
||||
- **CREDENTIALS.md updated** — Polar org ID + validate endpoint + key prefix (`LCYT-`) recorded.
|
||||
|
||||
## Polar.sh resources (from earlier session)
|
||||
## Polar.sh resources
|
||||
| Resource | ID |
|
||||
|---|---|
|
||||
| Org ID | `c05fb364-b967-4f6c-adf2-8a144e46d085` |
|
||||
| Product | `d105dfa1-497e-423b-8cd4-e0ee2e3abbc0` |
|
||||
| Price | `7c1b6f70-cf8c-46df-9bc8-6703f9fa64d0` |
|
||||
| Benefit | `80f66bc1-d5a3-44a1-b9ea-1709ae508535` |
|
||||
@@ -23,6 +27,8 @@
|
||||
| LLAMAFOUNDER | `01a8c29f-9bb8-4e96-9cbe-417a6a5cec9b` |
|
||||
| LLAMA50 | `8cff803e-053f-49b4-8d12-d74d468f2943` |
|
||||
| Checkout URL | `https://buy.polar.sh/polar_cl_ueMy8AyAClO0o0yo19IroZwKTbD587gzUsjEW3bFapw` |
|
||||
| Customer-portal validate | `POST https://api.polar.sh/v1/customer-portal/license-keys/validate` |
|
||||
| Key prefix | `LCYT-` |
|
||||
|
||||
## Build
|
||||
```bash
|
||||
@@ -31,18 +37,25 @@ taskkill.exe /F /IM ytLive.exe # if running
|
||||
"/mnt/c/Program Files/dotnet/dotnet.exe" vstest "C:\Users\gramp\Documents\Code\projects\ytLive\ytLive.Tests\bin\Debug\net8.0-windows10.0.19041.0\ytLive.Tests.dll"
|
||||
```
|
||||
|
||||
## Known issues
|
||||
- `Mix_HonorsProviderGains_AndGameMute_KillsTheLoopback` integration test is flaky — hangs when
|
||||
run via `vstest` (likely tries to acquire WASAPI devices in headless CI). Exclude with
|
||||
`--TestCaseFilter:"FullyQualifiedName!~Mix_HonorsProviderGains"` if needed.
|
||||
- Build often fails when ytLive.exe is running — `taskkill.exe /F /IM ytLive.exe` first.
|
||||
|
||||
## Next steps
|
||||
1. **Build + test** — verify social slot lock removal compiles and tests pass
|
||||
2. **TASK 9 item 4** — live chat (poll + render + badges) — already coded, just needs wiring
|
||||
3. **TASK 20** — hotkeys (global keyboard shortcuts) — small scope, huge UX impact
|
||||
4. **TASK 19** — scene transitions (Cut/Fade/Move/Custom) — already scoped
|
||||
5. **TASK 17** — web source WebView2 (enables alert ecosystem)
|
||||
6. **TASK 18** — local recording (independent)
|
||||
7. **TASK 21** — media source (video file playback) — pairs with TRAX for non-Live scenes
|
||||
8. **TASK 22** — audio sync offset — small, quality-of-life
|
||||
9. **TASK 23** — studio mode (lightweight preview)
|
||||
10. **TASK 15** — wait for user to provide stock scene background images
|
||||
11. **TASK 16** — kill infinity display (depends on TASK 15)
|
||||
1. **TASK 10 + Velopack** — license validation + auto-updates (1 full session). Polar org ID + OAT
|
||||
now available; all infra ready. Phases: LicenseService, license key UI, brand flash gating,
|
||||
Velopack integration, tests.
|
||||
2. **TASK 20** — hotkeys (global keyboard shortcuts) — small scope, huge UX impact
|
||||
3. **TASK 19** — scene transitions (Cut/Fade/Move/Custom) — already scoped
|
||||
4. **TASK 17** — web source WebView2 (enables alert ecosystem)
|
||||
5. **TASK 18** — local recording (independent)
|
||||
6. **TASK 21** — media source (video file playback) — pairs with TRAX for non-Live scenes
|
||||
7. **TASK 22** — audio sync offset — small, quality-of-life
|
||||
8. **TASK 23** — studio mode (lightweight preview)
|
||||
9. **TASK 15** — stock bg images — Starting and BRB seeded; Live, Chat, Ending still waiting on user images
|
||||
10. **TASK 16** — kill infinity display (depends on TASK 15 for Live/Chat/Ending images)
|
||||
|
||||
## v1 vision
|
||||
> A streaming tool that's intuitive and ready to go out-the-gate with nothing held back.
|
||||
@@ -52,3 +65,4 @@ taskkill.exe /F /IM ytLive.exe # if running
|
||||
- Polar checkout page ~80% configured — needs logo upload via dashboard
|
||||
- Logo upload API was broken (Polar server 500 on `/v1/files/{id}/uploaded`) — upload via dashboard instead
|
||||
- Full codebase rename (ytLlive → LlamaCasty) still pending
|
||||
- BRB backdrop image is user-provided (Gemini-generated) — may need replacement with branded image
|
||||
|
||||
Reference in New Issue
Block a user