From e9bf93a562ac3c2a2ad616273209e713468e4247 Mon Sep 17 00:00:00 2001 From: Gramps Date: Mon, 4 Aug 2025 19:57:57 -0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9A=20Sync=20updated=20wiki=20pages=20?= =?UTF-8?q?from=20docs/wiki?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Architecture-Overview.md | 147 ++++----------------------------------- 1 file changed, 12 insertions(+), 135 deletions(-) diff --git a/Architecture-Overview.md b/Architecture-Overview.md index 821c644..653b7d2 100644 --- a/Architecture-Overview.md +++ b/Architecture-Overview.md @@ -1,138 +1,15 @@ +# Architecture Overview +This page provides an overview of the internal structure of the LCS Pipeline. -\# 🧱 Architecture Overview - - - -This page explains the modular architecture of the \*\*LCS Video Pipeline\*\*, covering key components, data flow, and extensibility. - - - ---- - - - -\## 🧩 Core Modules - - - -Each component is designed to be loosely coupled and highly testable: - - - -\### 1. `main.py` - - - -\* Entry point - -\* Discovers session folders and orchestrates processing - - - -\### 2. `modules/` - - - -Contains reusable components: - - - -\* `render\_engine.py`: Applies intros/outros and overlays - -\* `title\_utils.py`: Generates dynamic title cards - -\* `thumbnail\_utils.py`: Creates brand-compliant thumbnails - -\* `yt\_poster.py`: Uploads to YouTube - -\* `pt\_poster.py`: Uploads to PeerTube (WIP) - -\* `description\_gen.py`: Creates OpenAI-based video descriptions - -\* `date\_utils.py`, `config.py`: Environment and date helpers - - - ---- - - - -\## 🔄 Data Flow - - - -```plaintext - -\[raw clips] → \[montages/, hits/, etc.] → main.py → render\_engine → final.mp4 → yt\_poster - -``` - - - -All clip metadata (e.g., `notes.json`) is parsed and tracked alongside rendered files. - - - ---- - - - -\## 🧰 Tooling \& Configuration - - - -\* \*\*`.env`\*\*: Stores API keys and client secrets (excluded from Git) - -\* \*\*`config.py`\*\*: Centralized paths, flags, and constants - -\* \*\*`logs/`\*\*: Execution logs, status, and failures - -\* \*\*`tests/`\*\*: Pytest-based functional coverage - -\* \*\*`video-pipeline.wiki/`\*\*: Markdown wiki repo (submodule) - - - ---- - - - -\## 🚧 Extensibility - - - -\* Add new platforms (e.g., TikTok) via new `poster\_\*.py` - -\* Add formats (e.g., square, cinematic) by enhancing `render\_engine.py` - -\* Add more metadata (e.g., voice notes) by expanding `notes.json` parser - - - ---- - - - -\## 🧠 Design Philosophy - - - -\* \*\*Single responsibility per module\*\* - -\* \*\*Declarative configuration\*\* - -\* \*\*E2E traceability via metadata\*\* - -\* \*\*Fun, brand-forward visual output\*\* - - - ---- - - - -\*Last updated: 2025-08-04\* - - +## Modules +- `main.py`: Central orchestration logic +- `modules/`: Reusable utilities for title cards, thumbnails, uploads +- `assets/`: Contains branding videos and fonts +## Flow +1. Detect new video sessions +2. Generate metadata, titles, overlays +3. Render videos with intro/title/outro +4. Upload to YouTube and optionally PeerTube +5. Auto-publish wiki and social metadata \ No newline at end of file