Files
ytLlive/schema.md
T
gramps a74162e34e Resolution dropdown, list-focus preservation, unified dark theme, startup logging, and memory map
- Bottom-bar resolution dropdown (1080p60/1080p30/720p60/480p30) with tooltip
  on finding upload bandwidth; disabled while live; no in-app speed test
- FocusPreservingListBox keeps selection/focus coherent when a selected
  scene/source is deleted (skip hidden scenes; leave list when empty)
- Themes/Controls.xaml: single dark-theme dictionary merged once in App.xaml;
  custom ComboBox template fixes SelectionBoxItem rendering; GoLiveWindow and
  ReuseImageDialog consolidated onto shared styles
- AppLog file logger + AppDomain/Dispatcher exception hooks; checkpointed
  MainWindow/VM/dialog constructors (caught MenuItemRole.Separator XAML crash)
- Memory map: schema.md conventions, per-directory index.md, updated ai.md/
  TASKS.md/README.md (OAuth creds real; token persistence still pending)
2026-08-06 08:33:05 -07:00

2.8 KiB

ytLlive — Memory Map (schema)

This file defines how the repo stores durable, associative memory: context as plain markdown files, versioned in git. It is the map of the map — the schema that every other memory file follows. Read ai.md first; this file explains why and how.

Why markdown files, not a database

  • Grep-able, diffable, portable, human-editable — no tooling lock-in.
  • Git gives versioning and history for free; every stale fact is a git log away.
  • Files form a graph: each file is a node, each relative link an edge. The map stays associative (like memory) rather than a rigid tree.

File inventory

File Role Entry point?
README.md Human-facing intro: what the app is, how to run it, roadmap no
ai.md AI guide + session handoff — architecture, patterns, decisions, the cognitive map home yes — start here
TASKS.md Task queue + authoritative YouTube API research facts + task statuses yes — for status
schema.md This file: the conventions below when in doubt
<dir>/index.md Per-directory map (progressive disclosure): what lives there + links when diving into code
Views/ Reserved for Views; currently empty

Conventions

  1. Semantic filenames. A file's name says what it is (YouTubeAuthService.cs, FocusPreservingListBox.cs). No codes, no abbreviations. Naming beats search.
  2. One index.md per code directory. The index is a Map of Content (MOC): it lists every file in that directory with a one-line purpose and links out to related directories. Details live in the files, never duplicated in the index.
  3. Links over hierarchy. Prefer relative links between related files over deep nesting. Relationships that matter should be visible from ai.md or an index.md; a note that is unreachable from ai.md might as well not exist.
  4. Stale facts get FIXED, not appended. A wrong map is worse than no map. When the code changes, update the memory file in the same change — no "TODO: update later" notes.
  5. Progressive disclosure. Don't cram detail into ai.md. ai.md names concepts and points at files; the indexes and source are the detail. Each layer adds resolution only when you drill in.

Reading order

  1. ai.md — what this app is, how it's built, current state, open decisions.
  2. TASKS.md — what's done, what's next, and the YouTube API constraints.
  3. <dir>/index.md — to understand a directory before reading its files.
  4. The source files themselves — always the authority over any memory file.

Integration rule

Every feature change ships with its memory update: ai.md for architecture / patterns, TASKS.md for status, index files when the layout changes. That is what keeps the map accurate enough to trust next session.