docs: design v2 — framework rescope, mDock deploy, no runtime importer
Revision after m's answers (2026-05-15): - mCables is a framework. Top-level `projects` table; LOFT and OFFICE are separate projects, each backed by one drawing. project_id is denormalised onto every row for cheap project-scoped queries; CASCADE from projects wipes a project's whole subgraph. - IO diamonds are wall-outlet terminators (type=Power), not inter-frame bridges. paired_with_id removed. - No runtime importer. The seed Cable-Management.excalidraw is the visual-grammar reference for the exporter only. /api/sync/import is dropped from MVP; only /api/sync/export remains (one-way, manual). - No cable inventory fields. Strictly visual structure for v0. - DB at ./data/mcables.db (project-local, gitignored). - Deploy: raw docker on mDock under /home/m/stacks/mcables/ (NOT Dokploy). Conventions verified live (mgreen, mgeo, msports-garmin patterns). Port 7777, container_name mcables, image from Gitea registry, Gitea Actions self-hosted runner builds + deploys on push to main. - Bind 0.0.0.0:7777 on the LAN. No auth. - UI gains a projects picker; all CRUD endpoints scoped under /api/projects/:pid/. - Slices re-planned: empty bootstrap → frame+device → port+cable → IO+cable-type editing → export. - Open questions trimmed; six new ones (drawing-name policy, device uniqueness, non-Power IO, bundle export, cross-project cable types, delete guardrail). Ends with DESIGN v2 READY FOR REVIEW.
This commit is contained in:
1089
docs/design.md
1089
docs/design.md
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user