forbes-0023 9e83982c78 feat: schema-driven Qt form for new item creation
Replace the 3-dialog chain (category → description → projects) with a
single SchemaFormDialog that fetches schema data from the Silo REST API
and builds the UI dynamically at runtime.

New dialog features:
- Two-stage category picker (domain combo → subcategory combo)
- Dynamic property fields grouped by domain and common defaults
- Collapsible form sections (Identity, Sourcing, Details, Properties)
- Live part number preview via POST /api/generate-part-number
- Item type selection (part, assembly, consumable, tool)
- Sourcing fields (type, cost, URL)
- Project tagging via multi-select list
- Widget factory: string→QLineEdit, number→QDoubleSpinBox+unit,
  boolean→QCheckBox

The form mirrors the React CreateItemPane.tsx layout and uses the same
API endpoints:
- GET /api/schemas/kindred-rd (category enum values)
- GET /api/schemas/kindred-rd/properties?category={code}
- GET /api/projects
- POST /api/items (via _client.create_item)
2026-02-11 08:42:18 -06:00

silo-mod

FreeCAD workbench for the Silo parts database. Provides item management, revision control, BOM editing, and file synchronization within Kindred Create.

Structure

silo-mod/
├── silo-client/       [submodule] shared Python API client
├── freecad/           FreeCAD workbench package
│   ├── Init.py        Console initialization (adds silo-client to sys.path)
│   ├── InitGui.py     Workbench registration
│   ├── silo_commands.py   14 commands + SiloSync + auth dock widget
│   ├── silo_origin.py     FileOrigin adapter for unified origin system
│   ├── package.xml        Workbench metadata
│   └── resources/icons/   SVG icons (Catppuccin Mocha palette)
├── Makefile           Install/uninstall targets
└── LICENSE

Installation

For standalone use (outside Kindred Create):

git clone --recurse-submodules https://git.kindred-systems.com/kindred/silo-mod.git
cd silo-mod
make install-freecad

Within Kindred Create, this repo is included as a submodule at mods/silo/ and loaded automatically by src/Mod/Create/Init.py.

License

MIT

Description
No description provided
Readme MIT 2 MiB
Languages
Python 99.2%
Makefile 0.8%