Files
LlamaCasty/docs/ai/index.md
T
gramps a4dfca6b6c docs(memory): split the output path (ffmpeg, encoder, recording, audio) out of ai.md
Unit 3. Verbatim move of 'FFmpeg locator', 'Live encoder + RTMP push',
'Local recording' and 'Live audio capture' into docs/ai/output.md, grouped as
encoder / recording / audio with a 'Related' footer.

ai.md's stub keeps the decisions that must not be re-litigated or rediscovered:
ffmpeg is bundled (never download/fetch; no-network test), args pure and no -re,
probe order NVENC->QSV->AMF->OpenH264 and never libx264, REC/ON-AIR radio-
exclusive by creator ruling, a modal's falsy result must never fall through into
its side effect, full StopStream teardown on every failure, audio pipe closes
BEFORE the video pump, and honest-by-measurement audio (true dBFS meters,
SpeechLeveler + -1 dBFS limiter, live Func gains).

- ai.md Services row and one 'FFmpeg locator section above' pointer repointed;
  MyMistakes.md dead-Pin entry repointed.
- docs/ai/index.md gains the output.md row.

ai.md 1,558 -> 1,289 lines. No source touched; no push.
2026-10-26 10:28:01 -07:00

1.9 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

Split-out yet to come

The remaining ai.md blocks are being moved in staged units (capture, YouTube/alerts/auth, product, UI patterns/theming, audio/recording/encoder). Add the row when the file lands; do not create empty placeholders.