feat(about): rebuild the About box as a conversion surface

Creator: the About box was "shitty" — an unreadable logo, a version number nobody asked for, copy that
insulted the creator, and buttons that looked like text. Rebuilt around one job: convert.

- **820×860 modal** (was 650×700) with a scrollable hub, and the logo at **520 px wide** instead of
  125 — the asset is 2816×1536, so it was being drawn as a thumbnail, not an icon problem.
- **Pre-Release pill** replaces "Version 1.0.0" (the assembly version stays in log lines). The pill is a
  button: it opens llamacasty.com until a Steam store page exists, so the link changes in one place.
- Tagline: "1-2-3, and go live to the world on YouTube!" The old "simple enough that even the most
  right-brained person can intuit it" is gone, and a test asserts it stays gone.
- The offer in three short blocks (free 30 fps · paid 60 fps · one-time, lifetime, no account /
  subscription / tracking), then the launch price and **one primary CTA**: "Unlock 60 fps — $79".
- Price: $79 until **April 1, 2027**, then $99 locked for life. The numbers live once, in
  `MainViewModel.Overlays`, and are recorded in `docs/ai/commercial.md`.
- **A paying customer is never sold to**: ownership collapses the price/CTA block and shows
  "Licence: owned via Steam — thank you."
- Secondary destinations (channel, Mastodon, coffee, licences) are one quiet row; footer is
  `© Llama Chile Shop`; the "Made by gramps" line is removed.
- `YtButtonSecondary` now carries a higher surface, a hairline border and a keyboard focus ring — they
  were the same tone as the panel behind them, which is why they read as plain text.

Test: `AboutHubTests.About_ShowsTheOfferToFreeUsers_AndNothingToSellToOwners` — tagline, pill, price,
CTA text, copyright, the removed lines stay removed, and the CTA block collapses when owned.
FAST gate: 540 passed, 0 failed, 0 warnings.
This commit is contained in:
2026-11-05 13:00:57 -08:00
parent 3fde7fcfe6
commit 0de953ef66
7 changed files with 275 additions and 36 deletions
+9
View File
@@ -1,3 +1,12 @@
## Price (creator ruling 2026-11-05)
- **Launch price $79** — one-time purchase, lifetime licence, no subscription, no account, no tracking.
- **Promotion ends April 1, 2027**; after that the price is **$99, locked for life**.
- Free tier: livestream and record at **30 fps**. Paid unlocks **60 fps** for both.
- The numbers live in `ViewModels/MainViewModel.Overlays.cs` (`LaunchPrice`, `StandardPrice`,
`LaunchPriceEndsLabel`) so the About box, the site copy and this file cannot drift apart. Change them
there first, then here.
# Commercial: pricing, entitlement, channels, support
The single source of truth for what LlamaCasty charges, what a licence entitles, how it ships and
+14
View File
@@ -1,3 +1,17 @@
## About box (2026-11-05)
A conversion surface, not a credits page: **820×860 modal**, ~520 px logo, a `Pre-Release` pill that is
itself a button (links to llamacasty.com until a Steam store page exists), the tagline
"1-2-3, and go live to the world on YouTube!", the offer as three short blocks (free 30 fps · paid
60 fps · one-time/lifetime/no-tracking), then the launch price and **one primary CTA**
("Unlock 60 fps — $79"). Secondary destinations are one quiet row; the footer is `© Llama Chile Shop`.
**A paying customer is never sold to:** with ownership verified the price/CTA block collapses and is
replaced by `Licence: owned via Steam — thank you.` The old tagline ("simple enough that even the most
right-brained person can intuit it") and the "Made by gramps" line are gone for good.
`YtButtonSecondary` carries a higher surface, a hairline border and a keyboard focus ring — before this
the secondary buttons were the same tone as the panel behind them and read as plain text.
## Left panel alert stack (2026-11-05)
A stack of red rows at the top of the left panel, **above both mode grids** (so it shows while editing