diff --git a/Directory-Layout.md b/Directory-Layout.md new file mode 100644 index 0000000..962d977 --- /dev/null +++ b/Directory-Layout.md @@ -0,0 +1,61 @@ +# Directory Layout + +This page describes the structure of the Llama Chile Shop video automation project as implemented on the NAS mount (`Z:\`). This layout ensures a predictable, scalable structure for stream session content and pipeline assets. + +## Root Structure (`Z:\`) + +``` +Z:\ +├── YYYY.MM.DD/ # Session folder (e.g., 2025.06.20) +│ ├── hits/ # Raw clips of eliminations +│ ├── misses/ # Raw clips of deaths +│ ├── montages/ # Precompiled montage reels +│ ├── outtakes/ # Manually tagged moments for postprocessing +│ └── rendered/ # Final output videos (1:1 clip-to-video mapping) +├── assets/ # Branding assets +│ ├── intro-wide.mp4 +│ ├── intro-vertical.mp4 +│ ├── outro-wide.mp4 +│ ├── outro-vertical.mp4 +│ ├── BurbankBigCondensed-Black.otf # Fortnite font +│ └── LlamaLlama.png +├── modules/ # Helper modules (Python) +├── logs/ # Diagnostic/debug output +├── .env # API credentials (loaded via dotenv) +├── main.py # Main pipeline for daily clip automation +├── upload_youtube_montage.py # Standalone test harness for YouTube flow +├── README.md +``` + +## Naming Conventions + +* Session folders follow: `YYYY.MM.DD` or `YYYY.MM.DD.N` +* Rendered videos retain input name, with `-vert` or `-vertical` denoting vertical orientation +* All `notes.*` files in subfolders are used to seed OpenAI-based descriptions (except for `montages/`, which has none) + +## Example + +Given a stream session folder `Z:\2025.07.04`: + +``` +Z:\2025.07.04 +├── montages\ +│ └── Fortnite-montage-20250704.mp4 +├── hits\ +│ └── 001_hit.mp4 +│ └── 001_hit_notes.txt +├── rendered\ +│ └── Fortnite-montage-20250704.mp4 +``` + +This structure allows the pipeline to: + +1. Detect input type +2. Generate and overlay titles +3. Call OpenAI if a `notes.*` file is present +4. Upload to YouTube/PeerTube as applicable +5. Optionally toot/post to social media + +--- + +Next: [[Module Index](https://chatgpt.com/c/687fcbf3-b2b4-8010-911e-601ae3b70980#)](#) \ No newline at end of file