Implementation: How to implement dual-layer layout persistence for unified-b...
Documentation for Sessions
⚙️ Implementation: How to implement dual-layer layout persistence for unified-b...
📋 Decision Context
Question:
How to implement dual-layer layout persistence for unified-builder?
Task: Session 38: Implement dual-layer layout persistence for unified-builder
🎯 Decision Made
Chosen:
autoFlashState with global preferences and per-universe overrides
Options Considered:
- Single flat persistence
- Per-universe only persistence
- Global + per-universe dual-layer persistence
- External storage service
💭 Reasoning
Used autoFlashState pattern consistent with existing state management. Created two layers: (1) _globalLayoutPreferences for user's default layout settings with 90-day TTL, (2) _universeOverrides keyed by universeId for universe-specific customizations with 60-day TTL. Added effectiveLayoutPreferences computed signal that merges global with overrides. This approach allows users to have a default layout across all universes while customizing specific universes differently.
📁 Files Involved
libs/libs-space/unified-builder/src/lib/services/unified-builder-state.service.ts
🔗 Related
- Decision ID:
dev_1768074665996_zrmkz29 - Session: 35
- Workspace: editor2
Auto-generated by MCP Smart Consolidation