Files
LlamaCasty/docs/ai/index.md
T
gramps a311c8feb1 docs(ai): partition ai.md into five subsystem files (verbatim moves)
ai.md 1,308 → 228 lines. No prose rewritten: every block was moved as-is so
nothing could be lost in translation, then replaced by a pointer.

New files:
- docs/ai/environment.md — LAN/SSH + Gitea push recipe, Windows dotnet
  build/run, test-suite map, hermetic real-MainWindow test rule
- docs/ai/product.md — brand/naming, AI transparency, GPL licensing
  prohibitions, free-forever monetization, auth/account assumptions,
  packaging & distribution
- docs/ai/youtube-api.md — go-live ordering, the broadcast-binding fix, the
  private-only lock, health parsing, end-stream pre-flight, Test mode,
  chat insert shape
- docs/ai/overlays.md — social bar, native alert box (animations, clip,
  ticker), chat box conventions
- docs/ai/ui-surface.md — control surface, scene strip, preview rail,
  hotkeys, broadcast drawer, toasts, transitions, brand logo, launch
  geometry, theme/properties conventions

ai.md keeps the response/derivation rules, the architecture table, the four
existing invariant stubs, and one pointer per moved subsystem.
docs/ai/index.md routes every file with a "read when" column.

References falsified by the move were fixed in the same commit: AGENTS.md
build note → environment.md → Run, and the "Related" footers in
frame-pipeline.md / output.md / capture.md now point at the owning files.

Docs-only unit: scope-check run, no build (no source touched).
2026-10-29 11:05:53 -07:00

3.1 KiB

docs/ai — index

Subsystems split out of ai.md (2026-10-26) so a session pays only for the subsystem its task touches. The split is a verbatim move: history, traps and measurements are unchanged, and ai.md keeps a short stub carrying the load-bearing invariants plus a link here, 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 GPL licensing prohibitions, the free-forever monetization posture, auth/account assumptions, and packaging/distribution Branding, marketing, pricing, licensing, or packaging decisions
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
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.