Files
LlamaCasty/HANDOFF.md
T
gramps f40ec83e69 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
2026-08-19 15:01:23 -07:00

3.9 KiB

HANDOFF — Session State

Branch

main — dirty (BRB backdrop + Polar org ID + doc updates, uncommitted)

What shipped this session

  • 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

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
Checkout 70e037cd-9bcb-414e-8b26-c82c1d268f65
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

taskkill.exe /F /IM ytLive.exe  # if running
"/mnt/c/Program Files/dotnet/dotnet.exe" build "C:\Users\gramp\Documents\Code\projects\ytLive\ytLive.csproj"
"/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. 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. Minimal configuration — they're ready to go live or record. Eliminate the OBS pain-point completely.

Open items

  • 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