Origin abstraction layer #9
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Overview
Create the core abstraction layer that defines the interface for file origins and manages origin instances. This is the foundational component that all other origin system features depend on.
Key Insight: Origins don't change where files are stored - all documents are always saved locally. Origins change the workflow and identity model:
Parent Issue
Epic: #8 Unified File Origin System
Goals
FileOrigin) that captures workflow differences between backendsOriginManagersingleton to manage registered origins and track current selectionDetailed Design
FileOrigin Interface
Key Behavioral Differences
SiloPartNumberproperty)Document Ownership Logic
Ownership is determined by document properties, not file location:
OriginManager Singleton
Configuration Schema
Implementation Tasks
FileOriginabstract base classOriginManagersingletonOriginTypeandConnectionStateenumsdocumentIdentity()contractownsDocument()contract (property-based)Files to Create
src/Gui/FileOrigin.h/.cppsrc/Gui/OriginManager.h/.cppAcceptance Criteria
Dependencies
None - foundational component
Blocking