# Istruzioni per gli agent (Copilot Chat & simili) Questo repository è **condiviso tra due agent**: - **Agent A — Fusion/Blender side**: lavora su `ExportKinematicGraph.py` (add-in Autodesk Fusion 360) e `build_glb_from_fusion_export.py` (script Blender). Genera `plotter.glb` + `joints.json`. - **Agent B — Three.js viewer side**: consuma `plotter.glb` in un viewer web (React + Three.js) tramite `FusionRig.js`. Vive in **un altro workspace/repo**. ## Regole d'oro 1. **Prima di toccare l'export o il viewer, leggi [FUSION_GLB_CONTRACT.md](FUSION_GLB_CONTRACT.md).** È la fonte di verità su schema JSON, convenzioni `userData`, unità di misura, ecc. Se serve cambiare qualcosa, modifica **prima** il contratto e commit-a in un branch dedicato. 2. **Annotare i problemi aperti in [BRIDGE_NOTES.md](BRIDGE_NOTES.md)**, sezione "Risposte ai problemi aperti". Marcare `[OPEN]` o `[RESOLVED YYYY-MM-DD]`. 3. **Non rinominare i 5 driver** (`Motore A`, `Motore asse X`, `Motore asse Y`, `Asse Penna ` con spazio finale, `asse Z pneumatico M5?`) senza un commit coordinato anche sul viewer. Vedi §4 del contratto. 4. **Mai** committare: - file binari di output (`*.glb`, `*.obj`, `hierarchy.json`, `joints.json` rigenerabili) — già esclusi via `.gitignore` - credenziali, token, chiavi SSH 5. **Branch convention**: `feature/` per modifiche, mai push diretto su `main`. Aprire PR/MR su Gitea. 6. **Commit message**: prima riga ≤ 72 char, prefisso area: - `fusion: ...` per modifiche ad `ExportKinematicGraph.py` - `blender: ...` per `build_glb_from_fusion_export.py` - `contract: ...` per il `.md` di contratto - `bridge: ...` per le note operative 7. **Operazioni distruttive**: niente `git push --force`, niente `git reset --hard` su branch condivisi. Mai. ## Come l'altro agent legge questo contratto L'agent Three.js può scaricare il contratto direttamente dalla raw URL Gitea: ``` https://git.automationdev.info/automationkriz/syncro_multi_agente/raw/branch/main/FUSION_GLB_CONTRACT.md ``` In alternativa, può clonare il repo e aggiungerlo come folder al workspace VS Code per averlo sempre in contesto. ## Stack tecnico (riepilogo) - **Fusion 360 API**: Python 3.10 (integrato in Fusion). Add-in installato in `%APPDATA%\Autodesk\Autodesk Fusion 360\API\Scripts\ExportKinematicGraph\`. - **Blender 4.2 LTS**: Python 3.11. Script eseguito in modalità `--background`. - **Output**: `plotter.glb` (binario glTF 2.0) in `C:\Users\croce\OneDrive\Desktop\export\`. ## Comandi tipici Vedi sezione "Comandi operativi" di [BRIDGE_NOTES.md](BRIDGE_NOTES.md).