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)
62 lines
2.7 KiB
Markdown
62 lines
2.7 KiB
Markdown
# 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](INTEGRATION_PLAN.md) for architecture layers and phase status.
|