copy(price): the launch price ends on an event we control, not on Valve's queue

The promo read 'until April 1, 2027', which is a public promise tied to a review queue outside our
control: identity verification and the tax interview are in Valve's hands (they quote up to 30 business
days), and the store page and build reviews follow. If any of that slips, the date becomes untrue.

It now reads '30 days after the store page goes live — after that $99, locked for life', in the About
box and in commercial.md, so the claim cannot be wrong however long Valve takes.

Also recorded: the $100 Steam Direct fee is PAID (creator, 2026-11-05); a store page can be configured
once identity clears. The launch-price deadline no longer depends on Valve's calendar.
This commit is contained in:
2026-11-05 15:13:20 -08:00
parent 9611cee199
commit 27f655c8de
3 changed files with 12 additions and 7 deletions
+5 -2
View File
@@ -34,7 +34,10 @@ public partial class MainViewModel : ViewModelBase
// the app, the site and docs/commercial.md cannot drift apart. ──
public const string LaunchPrice = "$79";
public const string StandardPrice = "$99";
public const string LaunchPriceEndsLabel = "April 1, 2027";
/// <summary>When the launch price ends. Deliberately EVENT-relative, not a date: the store page is
/// in Valve's queue (identity verification + tax review), so a fixed date would be a public promise
/// we cannot keep if their backlog slips (creator ruling 2026-11-05).</summary>
public const string LaunchPriceEndsLabel = "30 days after the store page goes live";
/// <summary>The release state shown as a badge. Not the assembly version — that number is for
/// log lines, not for the creator.</summary>
@@ -42,7 +45,7 @@ public partial class MainViewModel : ViewModelBase
public string UpgradeCtaLabel => $"Unlock 60 fps — {LaunchPrice}";
public string PriceLine => $"Launch price {LaunchPrice}";
public string PriceNote => $"Until {LaunchPriceEndsLabel} — after that {StandardPrice}, locked for life.";
public string PriceNote => $"{LaunchPriceEndsLabel} — after that {StandardPrice}, locked for life.";
public string FreeOfferText => "Livestream and record at 30 fps.";
public string PaidOfferText => "Unlocks 60 fps for streaming and recording.";
public string TrustLine => "One-time purchase · lifetime licence · no account, no subscription, no tracking.";