Some checks failed
Build and Test / build (pull_request) Has been cancelled
Replace the monolithic REPOSITORY_STATE.md with four focused files: - OVERVIEW.md: metadata, submodule pins, doc index - ARCHITECTURE.md: bootstrap flow, source layout - COMPONENTS.md: ztools, Silo, Origin commands, theme, icons - KNOWN_ISSUES.md: bugs, incomplete features, next steps Updates reflected in the split: - Silo auth: corrected from 'not implemented' to 'local auth complete; LDAP/OIDC pending infrastructure' - CSRF: corrected from 'not implemented' to 'implemented (nosurf)' - Silo commands: 14 (was 13, added Silo_Auth) - New Origin commands section (5 C++ commands) - New icon infrastructure section with missing icon tracking - New issues: Newton-Raphson convergence fix (#12), Assembly restore crash fix (#13), missing Silo icons (#11) - Updated submodule pins (silo 27e112e, OndselSolver 5d1988b)
2.7 KiB
2.7 KiB
Architecture
Bootstrap flow
FreeCAD startup
└─ src/Mod/Create/Init.py
└─ setup_kindred_addons()
├─ exec(mods/ztools/ztools/Init.py)
└─ exec(mods/silo/pkg/freecad/Init.py)
└─ src/Mod/Create/InitGui.py
├─ setup_kindred_workbenches()
│ ├─ exec(mods/ztools/ztools/InitGui.py)
│ │ ├─ registers ZToolsWorkbench
│ │ └─ installs _ZToolsPartDesignManipulator (global)
│ └─ exec(mods/silo/pkg/freecad/InitGui.py)
│ └─ registers SiloWorkbench
└─ Deferred setup (QTimer):
├─ 1500ms: _setup_silo_auth_panel() → "Database Auth" dock
├─ 2000ms: _setup_silo_menu() → SiloMenuManipulator
├─ 3000ms: _check_silo_first_start() → settings prompt
└─ 4000ms: _setup_silo_activity_panel() → "Database Activity" dock
Key source layout
src/Mod/Create/ Kindred bootstrap module (Python)
├── Init.py Adds mods/ addon paths, loads Init.py files
└── InitGui.py Loads workbenches, installs Silo manipulators
src/Gui/FileOrigin.h/.cpp FileOrigin base class + LocalFileOrigin
src/Gui/CommandOrigin.cpp Origin_Commit/Pull/Push/Info/BOM commands
src/Gui/OriginManager.h/.cpp Origin lifecycle management
src/Gui/OriginSelectorWidget.h/.cpp UI for origin selection
mods/ztools/ [submodule] ztools workbench
├── ztools/InitGui.py ZToolsWorkbench + PartDesign manipulator
├── ztools/ztools/
│ ├── commands/ Datum, pattern, pocket, assembly, spreadsheet
│ ├── datums/core.py Datum creation via Part::AttachExtension
│ └── resources/ Icons, theme utilities
└── CatppuccinMocha/ Theme preference pack (QSS)
mods/silo/ [submodule] Silo parts database
├── cmd/ Go server entry points
├── internal/ Go API, database, auth, storage packages
├── pkg/freecad/ FreeCAD workbench (Python)
│ ├── InitGui.py SiloWorkbench
│ ├── silo_commands.py Commands + SiloClient API
│ └── silo_origin.py FileOrigin backend for Silo
├── pkg/calc/ LibreOffice Calc extension (Python)
├── deployments/ Docker compose configuration
└── migrations/ PostgreSQL schema migrations (001–010)
src/Gui/Stylesheets/ QSS themes and SVG assets
resources/preferences/ Canonical preference pack (KindredCreate)
See INTEGRATION_PLAN.md for architecture layers and phase status.