Architecture: Which UI component library should be the single source of tr...
Documentation for Sessions
🏗️ Architecture: Which UI component library should be the single source of tr...
Date: 2026-03-16
Time: 19:23:30 UTC
Session: gspace1-226.6
Agent: angular
Confidence: 95%
Status: ✅ Documented
📋 Decision Context
Question:
Which UI component library should be the single source of truth for platform SDK — create new, use libs-ui-core, or promote existing ui-framework?
Task: S226.2: Platform Generation v2 architecture design
🎯 Decision Made
Chosen:
Promote libs/core/ui-framework as the Platform SDK. Absorb 5 unique components from libs-ui-core (color-picker, multi-select, toast, floating-window, breadcrumb). Delete duplicate components from libs-ui-core that are weaker than ui-framework equivalents.
Options Considered:
- Create new @libs-core/platform-sdk from scratch (initially proposed)
- Promote libs/core/ui-framework + absorb unique libs-ui-core components (chosen)
- Consolidate into libs-ui-core (fewer unique components, weaker signal support)
- Keep all three libraries (violates DRY, confuses Vitto)
💭 Reasoning
Data-driven head-to-head comparison: ui-framework has 44 components, 100% signal inputs (Angular 20), 100% standalone, 97 LOC avg (focused). libs-ui-core has 34 components, 82% signal inputs, 296 LOC avg (bloated). libs-widgets has 79 components but 45 are showcase demos. ui-framework has unique production components: GgsTable (sort/pagination/column toggle), GgsCrudListShell/FormShell/DetailShell, GgsEntityLookup, GgsDatePicker (full calendar 290 LOC), GgsFileUpload (drag-drop 222 LOC), GgsMediaGallery, GgsConfirmDialog with service. libs-ui-core has 5 superior components (color-picker 1773 LOC, multi-select 542 LOC with virtual scrolling, toast 1117 LOC with stacking, floating-window 1209 LOC, breadcrumb 1697 LOC). Initial recommendation was to DELETE ui-framework as 'legacy' — this was WRONG. The user correctly challenged this, and data proved ui-framework is the strongest base.
📁 Files Involved
libs/core/ui-framework/src/lib/components/libs/libs-ui-core/ui-core/src/lib/components/libs/libs-ui-core/ui-forms/src/lib/libs/libs-ui-core/ui-feedback/src/lib/libs/libs-widgets/widgets/src/lib/
🔗 Related
- Decision ID:
dev_1773689010356_gmha7u2 - Session: 226
- Workspace: gspace1
Auto-generated by MCP Smart Consolidation