Files
Kill_LIFE/docs/YIACAD_GIT_EDA_PLATFORM_2026-03-22.md
L'électron rare 066acde0cb docs: add feature maps, audits, research, plans lots 19-26
- Feature maps: agentic intelligence, digital factory, yiacad global/UI/UX/backend
- Audits: consolidation, refactor manifest, exhaustive refonte
- Research: OSS AI-native CAD, digital factory stack, mascarade observability
- Plans: lots 19-26 (mesh tri-repo, UI/UX refonte, yiacad global,
  intelligence agentique, mistral agents/studio, hypnoled, EDA AI tools,
  git EDA platform)
- Operator docs: machine registry, alignment, sync status, provider compat
- Mascarade/Kill_LIFE product contracts and OPS bridge
- PCB AI fab integration map, artifact WMS index
- References directory

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 00:20:32 +01:00

77 lines
2.0 KiB
Markdown

# YiACAD Git EDA platform - 2026-03-22
## Scope
Translate the Git-first SaaS architecture into an actual repo slice that can grow incrementally:
- `web/` for the product surface
- GraphQL as the HTTP aggregation boundary
- a separate Yjs websocket lane for collaboration
- Git-tracked `.excalidraw` files inside the project tree
## Implemented scaffold
- `web/app/` now exposes four surfaces:
- `/`
- `/diagram`
- `/pcb`
- `/review`
- `web/app/api/graphql/route.ts` is the API gateway entry
- `web/app/api/project-files/[...segments]/route.ts` serves Git-backed project files to browser viewers
- `web/lib/project-store.ts` is the local project service and diagram service seed
- `web/realtime/server.mjs` starts the dedicated Yjs websocket server with persistence
## Stored project shape
```text
web/project/
├── diagrams/
│ ├── system.excalidraw
│ └── power.excalidraw
├── pcb/
│ └── README.md
└── .ci/
├── queue.json
├── artifacts.json
└── pull-requests.json
```
## Why this shape
- `.excalidraw` remains plain JSON, so Git diff and PR review stay cheap
- KiCad files remain canonical and are only projected into API/view models
- CI outputs and review state have their own lane under `.ci/` instead of mutating source files
## Product surface map
### Dashboard
- project files
- PR list
- CI runs
- artifact counts
### Diagram editor
- Excalidraw canvas
- Git-backed save
- local queue trigger for KiBot and KiCad headless
### PCB viewer
- KiCanvas lane
- artifact summary
### PR review
- KiCad diff placeholder
- Excalidraw diff placeholder
- artifact preview readiness
## Next hard problems
- bind Excalidraw scene state into Yjs without creating a second source of truth
- add a real queue backend instead of a local JSON queue stub
- add a real worker/orchestrator contract for KiCad CLI, KiBot, KiAuto, Gerber, STEP, BOM, PDF
- replace placeholder PR/artifact JSON with outputs derived from real Git and CI state