Files
Kill_LIFE/docs/YIACAD_GIT_EDA_PLATFORM_2026-03-22.md
T
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

2.0 KiB

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

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