commit b98dc0cbe9c854aa2d37033cb0170a24a08cc4ff Author: Snider Date: Sun Feb 1 07:41:21 2026 +0000 1st diff --git a/RFC-001-HLCRF-COMPOSITOR.md b/RFC-001-HLCRF-COMPOSITOR.md new file mode 100644 index 0000000..7ff4f82 --- /dev/null +++ b/RFC-001-HLCRF-COMPOSITOR.md @@ -0,0 +1,897 @@ +# RFC: HLCRF Compositor + +**Status:** Implemented +**Created:** 2026-01-15 +**Authors:** Host UK Engineering + +--- + +## Abstract + +The HLCRF Compositor is a hierarchical layout system where each composite contains up to five regions—Header, Left, Content, Right, and Footer. Composites nest infinitely: any region can contain another composite, which can contain another, and so on. + +The core innovation is **inline sub-structure declaration**: a single string like `H[LC]C[HCF]F` declares the entire nested hierarchy. No configuration files, no database schema, no separate definitions—parse the string and you have the complete structure. + +Just as Markdown made document formatting a human-readable string, HLCRF makes layout structure a portable, self-describing data type that can be stored, transmitted, validated, and rendered anywhere. + +Path-based element IDs (`L-H-0`, `C-F-C-2`) encode the full hierarchy, eliminating database lookups to resolve structure. The system supports responsive breakpoints, block-based content, and shortcode integration. + +--- + +## Motivation + +Traditional layout systems require separate templates for each layout variation. A page with a left sidebar needs one template; without it, another. Add responsive behaviour, and the combinations multiply quickly. + +The HLCRF Compositor addresses this through: + +1. **Data-driven layouts** — A single compositor handles all layout permutations via variant strings +2. **Nested composition** — Layouts can contain other layouts, with automatic path tracking for unique identification +3. **Responsive design** — Breakpoint-aware rendering collapses regions appropriately for different devices +4. **Block-based content** — Content populates regions as discrete blocks, enabling conditional display and reordering + +The approach treats layout as data rather than markup, allowing the same content to adapt to different structural requirements without template duplication. + +--- + +## Terminology + +### HLCRF + +**H**ierarchical **L**ayer **C**ompositing **R**ender **F**rame. + +The acronym also serves as a mnemonic for the five possible regions: + +| Letter | Region | Semantic element | Purpose | +|--------|--------|------------------|---------| +| **H** | Header | `
` | Top navigation, branding | +| **L** | Left | `