From 372b759f04166dfcda2b7d035a6f0ce9e2cb0d33 Mon Sep 17 00:00:00 2001 From: Gramps Date: Mon, 4 Aug 2025 19:19:00 -0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=B1=20Wiki:=20Add=20Architecture=20Ove?= =?UTF-8?q?rview=20page=20with=20pipeline=20module=20breakdown?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Architecture-Overview.md | 138 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 Architecture-Overview.md diff --git a/Architecture-Overview.md b/Architecture-Overview.md new file mode 100644 index 0000000..821c644 --- /dev/null +++ b/Architecture-Overview.md @@ -0,0 +1,138 @@ + + +\# 🧱 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\* + + +