Universe Canvas Builder - Quick Overview
Quick reference for the Universe Canvas Builder with nested template system
⚡ Universe Canvas Builder - Quick Overview
🎯 What Is It?
A visual platform builder with nested template layouts that lets users create complex, responsive interfaces without code.
Current Status: ✅ Fully Functional & Production Ready
🚀 Quick Facts
What Works (November 24, 2025)
- ✅ 6 production templates (Split Sidebar, 2-Col, 3-Col, Header/Content/Footer, Dashboard, Custom)
- ✅ Infinite nesting - Templates within templates
- ✅ Full interactivity - Click, select, configure, delete
- ✅ Tree view - Complete hierarchy visualization
- ✅ Position operations - Move up/down/out/into
- ✅ Add operations - Inside/after/before
- ✅ CSS Grid for web, Flutter mapping ready
- ✅ AI-trainable - Semantic region structure
Key Architecture
- Region-based templates - Semantic zones like "sidebar", "main", "header"
- CSS Grid layouts - Production-ready, auto-responsive
- Recursive rendering - Handles infinite depth
- Module system - Each template is a full
BrowserModuleContract
📚 Essential Documentation
👉 Start Here
Nested Template System Guide - Complete architecture, issues, and solutions
Planning
- Platform Agnostic Layouts - Web ↔️ Flutter mapping
- Implementation Roadmap - Development phases
- Simplified Philosophy - Design principles
Implementation
- Template Module Pattern - How to create templates
- Template Modules Complete - All 6 templates
- Quick Start Integration - Setup guide
Reference
- Integration Status - Current state
- Integration Test Plan - Testing strategy
🐛 Common Issues? ALL FIXED ✅
All issues documented and resolved in Nested Template System Guide:
- ✅ Can't select nested template in tree → FIXED
- ✅ Can't click template background → FIXED
- ✅ Position operations don't work → FIXED
- ✅ Tree view doesn't show nested templates → FIXED
- ✅ Nested templates collapsed/tiny → FIXED
🤖 For AI Agents
Critical Rule
10 methods in canvas-builder.component.ts must handle BOTH:
section.children(regular sections)section.regions[].children(template regions)
Methods: getSelectedSection, deleteSection, updateSection, moveSectionUp, moveSectionDown, moveSectionOut, moveSectionInto, addSectionInside, addSectionAfter, addSectionBefore
Why Regions?
- ✅ Semantic ("Add to sidebar" vs "Add to position 0")
- ✅ Self-validating (check region exists)
- ✅ Natural language aligned
- ✅ Industry patterns (Vue slots, React children)
Pattern
if (section.layout === 'template') {
// Use regions
const region = section.regions.find(r => r.name === 'sidebar');
region.children.push(newSection);
} else {
// Use children
section.children.push(newSection);
}
📊 Data Structure
// Template Section
{
"id": "template-split-sidebar-123",
"layout": "template",
"template": "split-sidebar",
"regions": [
{
"name": "sidebar",
"displayName": "SIDEBAR",
"children": [/* Nested sections */]
},
{
"name": "main",
"displayName": "MAIN",
"children": [/* Nested sections */]
}
]
}
// Regular Section
{
"id": "section-456",
"layout": "flexbox",
"children": [/* Child sections */]
}
🎓 Next Steps
For Users
- Drag templates onto canvas
- Drop modules/widgets into regions
- Configure via right panel
- Nest templates infinitely
For Developers
- Read Nested Template System Guide
- Review Template Module Pattern
- Check Integration Status
- Run tests (see Integration Test Plan)
For AI Training
- Study region-based architecture
- Understand 10 critical methods
- Review helper functions
- Practice recursive traversal
📁 Key Files
Components
canvas-builder.component.ts- Master controllertemplate-renderer.component.ts- CSS Grid renderertree-node.component.ts- Tree viewconfig-panel.component.ts- Configuration UI
Models
canvas.types.ts- Data structures
Modules
modules/canvas-templates/split-sidebar/- Template example- All templates follow
BrowserModuleContract
🧪 Testing
Manual Testing
✅ All features tested and working
Automated Testing
- ⚠️ TODO: Unit tests for region operations
- ⚠️ TODO: E2E tests for nested templates
- ⚠️ TODO: Performance tests for deep nesting
🎯 Goals Achieved
- ✅ Visual Building - Drag-drop interface
- ✅ Infinite Nesting - Templates within templates
- ✅ AI-Ready - Semantic, self-documenting structure
- ✅ Cross-Platform - Web (CSS Grid) → Flutter (Row/Column)
- ✅ Modular - Each template is a full module
- ✅ Configurable - Dynamic schema-based forms
- ✅ Performant - OnPush + Signals
Last Updated: November 24, 2025 - 11:40 PM EST
Session ID: 11.25.2.4
Status: ✅ All Systems Go!
Need More Details? → Nested Template System Guide