Files
LlamaCasty/docs/ai/index.md
T
gramps 8f79b20a18 docs(distribution): Steam is the only channel — the zip, winget and the Store are dead
The site said "Coming soon to Steam" while the app docs still said direct download plus
winget primary with Steam parked. One of them had to move, and the creator's ruling is
Steam exclusive: a free app on Steam with the paid edition as a Steam DLC, and the
$10/month plan sold off-Steam by Polar.

Records the constraint that shapes the code, not just the prose:
- Steamworks requires in-app purchases to use the Steam Wallet (Microtransactions doc,
  quoted in commercial.md), so the monthly is *stated*, never *sold*, inside a Steam
  build; the lifetime is plain DLC bought on the store page and read with BIsDlcInstalled.
- Entitlement is `steamDlcOwned || polarKeyValid`, both resolving to one OutputProfile.
  steam_api64.dll ships beside the exe and is a functional dependency, not the rejected
  "IP protection" native DLL — without it DLC ownership cannot be read. Launched without
  Steam, the app falls back to the free profile rather than refusing to start.
- Signing is moot: Steam installs never meet SmartScreen. Artifact Signing stays on the
  shelf for the day a non-Steam download exists. Year-one fixed cost is ~$115.
- The exe rename must land before the first depot upload — Steamworks warns about
  renaming a live exe.

Distribution.md is rewritten to SteamPipe mechanics (publish output, depot, steamcmd,
DLC wiring, clean-account purchase/refund test). product.md, decisions.md (a new
"Steam exclusive" entry with every dead vector), TASKS.md (Steamworks entitlement row,
Steam packaging row), ai.md, index.md and the TASK 48 banner follow. MyMistakes.md gains
the Steam rules that cost real time today: installs skip SmartScreen, updates are free,
the Wallet rule, and the recurring-billing caveat.
2026-10-31 11:05:53 -07:00

3.8 KiB

docs/ai — index

Subsystems split out of ai.md so a session pays only for the subsystem its task touches. ai.md is now a router (what the product is, the architecture table, where truth lives) and AGENTS.md carries the invariants that hold across all of them, so no rule is reachable only from a file you forgot to open.

Read the file whose row matches the task. There is no required reading order.

File Covers Read when
frame-pipeline.md Render budget & measurement (FrameCadence, per-element composite timing, scene dump), SceneCompositor design + StripPool, and FramePump from scene snapshot to encoder (pacing, pool/paste caches, backpressure, teardown, health stats) Touching the compositor, the render loop, per-frame cost, Services/Encoder/*, or debugging dropped/juddering frames
capture.md The locked Background layer (screen/game/window capture, WinRT GraphicsCapture interop), the webcam seam + CameraManager sessions, MediaPipe background effects, and the vertical 9:16 tier's per-scene camera placement Touching any frame source, the Background row, camera acquisition/conflicts, background effects, or vertical-tier camera geometry
output.md The bundled ffmpeg.exe and the encoder subprocess (args, probe order, seams), local recording (REC/ON-AIR, filenames, private-broadcast close-out), and the WASAPI capture → filter → mix → named-pipe audio chain (TRAX, sync offset, ducking, limiter) Touching ffmpeg args/bundling, encoder or recording behaviour, REC/ON-AIR, the audio mix and its meters, or loudness/sync problems
environment.md LAN hosts/IPs/SSH and the Gitea push recipe, the Windows dotnet.exe build + run commands, the test suite map, and the hermetic real-MainWindow test rule Before building, running, adding a test, or reaching any box on the LAN
product.md Brand/naming split, AI transparency, the licensing prohibitions, the freemium posture, auth/account assumptions, and packaging behaviour Branding, naming, packaging, or a legal/third-party obligation
commercial.md The live commercial policy: model and prices, the output-profile cap (stream and recording), entitlement (steamDlcOwned || polarKeyValid; Steam DLC for lifetime, Polar for the monthly, no server), Steam as the only channel, signing (moot), the Founding 200 promo, costs, support policy, anti-piracy posture Any question about money or support: pricing, licence keys, what free gets, how it ships, what a sale costs
youtube-api.md Go-live ordering + the broadcast-binding fix, the private-only lock, health parsing, end-stream pre-flight, Test mode, and chat-insert shape Touching go-live, broadcast lifecycle, health polling, streaming close-out, or the chat service
overlays.md The social bar, the native alert box (six animations, alert clip, ticker) and the chat box conventions — everything composited over the frame Adding or changing anything drawn on top of the output
decisions.md Retired paths with cause of death: the paid-tier history and pricing, the free-forever era, Store IAP, the Store ordering, rejected monetization and anti-piracy ideas, and the permanent out-of-product list You are about to re-open a decision that was already settled
ui-surface.md The control surface, scene strip, preview rail, hotkeys, broadcast drawer, toasts, transitions, brand logo, launch geometry, and the theme/properties-panel conventions Changing anything the creator sees: layout, controls, theming, properties panel

Split-out yet to come

Nothing — ai.md is now a router with the always-read invariants; the subsystem detail lives here.