feat(create): silo tree foundation for .kc files #268
Reference in New Issue
Block a user
Delete Branch "feat/silo-tree-foundation"
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?
Summary
Add document tree infrastructure that creates Silo metadata nodes in the FreeCAD model tree when a
.kcfile is opened. Phase 1 of the Silo Metadata Viewport — tree nodes only, no viewer widgets yet.Changes
New files (4):
silo_objects.py—SiloViewerObjectproxy with 3 Transient properties (SiloPath,ContentType,RawContent)silo_viewproviders.py—SiloViewerViewProviderwith icon resolution stubs and no-opdoubleClickedsilo_tree.py—SiloTreeBuilderwith conditional node creation per spec §3.2 (manifest always present; history, approvals, dependencies gated on content checks; jobs/macros as subgroups)silo_document.py—SiloDocumentObserversingleton withslotCreatedDocument+slotActivateDocumentfallback + bootstrap loop for early-opened documentsModified files (3):
kc_format.py—_pre_reinject_hookscallback system allowing other modules to mutatesilo/cache entries before ZIP write-backInitGui.py— 600msQTimer.singleShotregistration for the document observer (after 500ms kc_format, before 1500ms silo_origin)CMakeLists.txt— 4 new.pyfiles added to install listKey design decisions:
Document.xml, only minimal object stubsQTimer.singleShot(0, ...)deferred restore pattern (noslotFinishRestoreDocumentin Python API)revisionsarray, Approvals requires non-nulleco, Dependencies requires non-emptylinksarrayFreeCADGuiimport try/exceptRelated Issues
Closes kindred/silo-mod#37
Checklist
feat:,fix:,chore:,docs:,art:)