Build: require 64-bit Windows — PlatformTarget x64 in app + tests (bundled ffmpeg is win64, ONNX Runtime has no win-x86, 32-bit address space can't hold 1080p buffers) (Unit: 64-bit requirement)

This commit is contained in:
2026-10-09 10:01:38 -07:00
parent 9f3c154d84
commit f529d47f42
5 changed files with 24 additions and 2 deletions
+5 -2
View File
@@ -30,10 +30,13 @@
fixtures in `ytLive.Tests/Fixtures/`).
## Known issues / follow-ups
- **64-bit only (2026-10-09):** `PlatformTarget=x64` in both csproj files (verified: ytLive.dll PE
machine 0x8664, 408/408 green). TASK 48 item 2 carries the x64-only MSIX + `-r win-x64` publish.
- `onnxruntime.dll` is ~17 MB; an RID-less build copies every RID's native folder — TASK 48's MSIX
publish must pin win-x64.
- `THIRD-PARTY-NOTICES.txt` header still says "paid, closed-source product" (pre free-forever) — noted,
not changed (out of scope).
- `THIRD-PARTY-NOTICES.txt` header + ai.md Licensing/packaging sections still say "paid,
closed-source" / Store IAP / branding-flash paid delta (pre free-forever + planned public GPL-3.0
release) — the creator is choosing the license; rewrite those with it.
- Carried: "Use default background" toggle still not working (from 2026-10-07).
## Next step
+4
View File
@@ -151,6 +151,10 @@ There is currently **no `.manifest` file in the repo at all**, so this is purely
- Declare **English only** (10.7 — otherwise the description must be localized into every
declared language)
- Block map SHA2-256, `StoreManifest`, under the 25 GB cap
- **x64 only** (64-bit requirement, creator ruling 2026-10-09 — `PlatformTarget=x64` already in
both csproj files): package architecture `x64`, publish with `-r win-x64` so only the win-x64
native folders ship (an RID-less build copies every RID's ONNX Runtime native, ~17 MB each).
Store listing system requirements: "64-bit Windows 10 or 11".
**Do NOT use `appContainer`** — see the invariant in item 6.
+7
View File
@@ -2245,6 +2245,13 @@ before re-deriving it. Executable checklist: `TASKS/task-48-distribution-msix.md
thinks I'm expired" bug class along with the offline-grace machine.
- **⛔ Bundle ffmpeg — no runtime downloads** (Store policy 10.2.2; also the 2026-09-01 404).
See the FFmpeg locator section above. **This is the first code unit.**
- **⛔ 64-bit Windows only (creator ruling 2026-10-09).** Both csproj files set
`<PlatformTarget>x64</PlatformTarget>` (the test project too — an AnyCPU test project
referencing an x64 app raises MSB3270 and breaks the 0-warning gate). Why: the bundled ffmpeg
is the win64 build, ONNX Runtime 1.31 ships no win-x86 native (only win-x64/win-arm64), and a
32-bit address space can't hold the 1080p frame buffers. Windows 11 is 64-bit-only anyway. The
MSIX publish targets x64 only (ARM64 is a possible later add: both ffmpeg and ONNX Runtime have
arm64 builds). Public copy says "64-bit Windows 10 or 11".
**What does NOT change: the monetization posture.** Free gets everything; the branding flash
stays the **only** paid delta (`TASK 36` item 2). Store IAP changes how `IsPremium` is
+3
View File
@@ -6,6 +6,9 @@
<ImplicitUsings>enable</ImplicitUsings>
<IsPackable>false</IsPackable>
<EnableWindowsTargeting>true</EnableWindowsTargeting>
<!-- Matches the app (64-bit only) — an AnyCPU test project referencing an x64 app
raises MSB3270 (architecture mismatch) and breaks the 0-warning gate. -->
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<ItemGroup>
+5
View File
@@ -10,6 +10,11 @@
<ApplicationIcon>Assets\llamacasty-icon.ico</ApplicationIcon>
<AssemblyName>ytLive</AssemblyName>
<RootNamespace>ytLive</RootNamespace>
<!-- 64-bit Windows only (creator ruling 2026-10-09). The bundled ffmpeg is the win64 build
and ONNX Runtime ships no win-x86 native, so a 32-bit process could never stream; a
32-bit address space (2–4 GB) would also choke on 1080p frame buffers. x64 makes the
exe refuse to start on 32-bit Windows instead of failing at Go Live. -->
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<ItemGroup>