diff --git a/TASKS.md b/TASKS.md index e238f3e..1e2ef8c 100644 --- a/TASKS.md +++ b/TASKS.md @@ -87,6 +87,13 @@ is unconditional, so it ships in Release) — it hands the test assembly name to anyone decompiling and advertises that `internal` members are externally reachable, which conflicts with the obfuscation posture in `Distribution.md` §1.2. + 3. **Decide the shipped exe name.** `Distribution.md` promises the customer + `LlamaCasty.exe`; `ytLive` actually publishes `ytLive.exe`. + Renaming the AssemblyName is 4 lines (1 csproj + 3 pack URIs that spell the assembly + name — `MainWindow.xaml:14` is the **window icon**, so missing it ships a broken + taskbar/Alt-Tab icon). Namespaces stay `ytLive.*`; the 230-file re-brand is NOT + wanted. Do **NOT** touch the `%APPDATA%\ytLlive` folder — breaking (orphans users' + layout DB). See the naming table in `ai.md`. Do **NOT** add `-p:PublishTrimmed=true`: WPF is not trim-compatible and it fails at runtime (BAML/XAML resource resolution), not at build time. `PublishReadyToRun` is safe. - **TASK 12** — queued future diff --git a/ai.md b/ai.md index b73edb9..47410d2 100644 --- a/ai.md +++ b/ai.md @@ -80,6 +80,29 @@ the internals. Treat the two as separate: external/user-facing language says "ll code/assembly/repo names stay `ytLive`. If a full internal re-brand is ever done, this note and the UI locator (Premium/wordmark) are the checklists; it is NOT a goal pre-1.0. +**Say "LlamaCasty" when reporting to the creator** — never "ytLive" in prose. `ytLive` is +the internal repo/assembly/namespace name only. Exact current split: + +| surface | name | note | +|---|---|---| +| product / site / marketing | **LlamaCasty** | llamacasty.com, llamachile.tube | +| repo dir, csproj, `RootNamespace` | `ytLive` | 230 files: `namespace ytLive.*` | +| `AssemblyName` → shipped exe | `ytLive` | `ytLive.exe` | +| app data dir | `%APPDATA%\ytLlive` | **capital L**, drifts from `ytLive` | +| `Distribution.md` tells customers | `LlamaCasty.exe` | ⚠ **mismatch vs the real `ytLive.exe`** | + +**Consequences, so nobody re-hunts them:** +- Renaming `` to `LlamaCasty` is the cheap win (the customer-visible exe + name matches what `Distribution.md` already promises; namespaces can stay `ytLive.*`). + It is **4 lines**, but it hard-breaks three pack URIs that spell the assembly name: + `MainWindow.xaml:14` (the **window icon** — taskbar/Alt-Tab), `OverlayHost.xaml:96`, + `RenameRecordingDialog.xaml:5`. Miss those and you ship a broken icon. Queued in TASKS.md + under the shipping task, not done. +- Renaming the `%APPDATA%\ytLlive` folder is **breaking** — it would orphan every existing + user's layout DB, `Assets` and settings. Never do it casually; needs a migration. +- No code compares its own assembly name (no `GetExecutingAssembly().GetName().Name` checks), + so the assembly name is otherwise free to change. + ### AI transparency This project is built through AI-assisted pair-programming. All code is generated