066acde0cb
- 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>
3.8 KiB
3.8 KiB
YiACAD backend architecture (2026-03-20)
Intent
Stabiliser la couche locale YiACAD entre les shells natifs KiCad/FreeCAD, les TUI et les utilitaires CAD. Le but n'est plus seulement d'executer des commandes, mais de fournir un contexte projet commun, des artefacts structurés et un contrat de sortie uniforme.
Etat courant
- les shells natifs appellent
tools/cad/yiacad_native_ops.py yiacad_native_ops.pyreste le runner concret des actionsstatus,ERC/DRC,BOM review,ECAD/MCAD sync- le nouveau module
tools/cad/yiacad_backend.pypose la couche backend locale commune:context brokersurface inferencecontext_refuiux_output.jsoncontext.json
Architecture cible locale
flowchart LR
UI["KiCad / FreeCAD / TUI"] --> Broker["yiacad_backend.py"]
Broker --> Context["context broker"]
Broker --> Contract["uiux output contract"]
Broker --> NativeOps["yiacad_native_ops.py"]
NativeOps --> Reports["reports / exports / logs"]
Context --> Reports
Contract --> Reports
Reports --> Review["review center / inspector / artifacts"]
Ce que T-ARCH-101 livre maintenant
- un backend local partage dans
tools/cad/yiacad_backend.py - une facade backend locale adressable dans
tools/cad/yiacad_backend_service.py - une resolution de contexte unifiee pour:
source_pathboardschematicfreecad_documentcontext_ref
- un artefact
context.jsonpar run YiACAD - un artefact
uiux_output.jsonpar run YiACAD - un mode
--json-outputdanstools/cad/yiacad_native_ops.pypour exposer directement le contrat structure
Ce qui reste a faire
T-ARCH-101B
- sortir d'un simple appel de script local vers une couche backend plus robuste
- permettre aux shells natifs d'appeler une API locale stable plutot qu'une CLI seule
T-ARCH-101C
- brancher
review center,paletteetinspectorsuruiux_output.json - rendre le
context brokerreusable entre KiCad, FreeCAD et TUI sans duplication
Contrats relies
- sortie UX:
specs/contracts/yiacad_uiux_output.schema.jsonspecs/contracts/examples/yiacad_uiux_output.example.json
- contexte backend:
specs/contracts/yiacad_context_broker.schema.jsonspecs/contracts/examples/yiacad_context_broker.example.json
Lecture courte
yiacad_native_ops.pyreste le moteur concret.yiacad_backend.pydevient la couche commune de contexte et de contrat.- le prochain saut consiste a remplacer la simple invocation locale par un backend YiACAD plus stable et plus adressable.
Delta 2026-03-21 - backend facade addressable
T-ARCH-101est considere comme ferme: backend local,context broker, sorties normalisees et facade adressable sont maintenant publies.tools/cad/yiacad_backend_service.pyfournit un point d’entree local stable pour:statusinvoke statusinvoke kicad-erc-drcinvoke bom-reviewinvoke ecad-mcad-sync
T-ARCH-101Cest maintenant execute sur les surfaces actives: la facade locale est prouvee operatoirement et promue jusque dans la TUI UI/UX.
Delta 2026-03-21 - shell helpers rerouted
- les helpers shell Python KiCad et FreeCAD privilegient maintenant
tools/cad/yiacad_backend_service.pycomme transport local:.runtime-home/cad-ai-native-forks/kicad-ki/scripting/plugins/yiacad_kicad_plugin/_native_common.py.runtime-home/cad-ai-native-forks/freecad-ki/src/Mod/YiACADWorkbench/yiacad_freecad_gui.py
tools/cockpit/yiacad_uiux_tui.sh --action statusconsomme maintenant le meme clientservice-first.- le fallback direct vers
tools/cad/yiacad_native_ops.pyreste present si la facade locale est absente. - la suite se deplace maintenant vers:
T-UX-004pour la palette et l'inspector persistants,T-UX-003pour les points d'insertion natifs plus profonds,T-RE-209pour le lot operateur YiACAD complet.