Documentation
Carte source
Points d’entrée de mise en œuvre pour suivre le comportement et apporter des changements ciblés.
Traduit automatiquement de l'anglais. Voir l'original en anglais
CAO et dessin
Commencez à packages/core/src/index.ts pour voir les exportations d’espaces de noms. packages/core/src/cad/index.ts répertorie les API CAO ; packages/core/src/drawing/index.ts répertorie les opérations de dessin.
cad/sketch.ts,sketch-shapes.ts,snap.ts,intersect.ts: données d'esquisse, formes, accrochage et intersection.cad/history.ts,history-edit.ts,history-brep.ts: historique des fonctionnalités, modifications et reconstruction B-rep.cad/brep/,solid.ts,tessellate.ts: topologie solide, modélisation et maillages rendus.cad/import-step.ts,dxf.ts, etimport-drawing.ts: frontières des échanges et des importations.cad/scene-analysis.ts,scene-evidence.ts,dfm.ts: analyse de scène, preuves et contrôles de fabricabilité.
Séparez l’analyse d’importation, la géométrie exacte, la tessellation et la sélection de fenêtre lors du traçage d’un problème d’affichage. Un maillage visible peut avoir une origine différente d'une entité paramétrique modifiable.
CAM et G-code
packages/core/src/cam/index.ts: espaces de noms CAM publics et exportations.cam/operations/etcam/generator/: mise en œuvre des opérations et pipeline de génération.cam/setup.ts,indexing.ts,ir.ts: frames de configuration, usinage indexé et représentation du mouvement intermédiaire.cam/post/index.ts,emitter.ts, et les fichiers dialectes : messages enregistrés et émission de programmes partagés.cam/post/convert.ts: le noyau de conversion NC : rejoue le G-code ou le Klartext, le réécrit avec n'importe quel post et prouve le mouvement par replay.cam/verify/,kernel/,model/, etviewer/: vérification, usinage des noyaux, modèles et aides à la visualisation.
Tracer l'usinage persistant à travers apps/sidecar/src/http/toolpaths.ts et src/services/cam-program.ts, puis dans la fonctionnalité CAM du bureau. Le référence des configurations explique comment les documents de programme portables sont liés aux parcours d'outils enregistrés.
HTTP et persistance
packages/api/src/index.ts,groups/,errors.ts,auth.ts: contrats de point de terminaison, erreurs de câblage et déclarations d'autorisation.packages/api/src/client.ts: client Effect entièrement basé sur un contrat avec middleware support.packages/api/scripts/generate-clients.ts: sorties cibles et exclusions de génération explicites.packages/httpapi-codegen/src/index.ts: réflexion contractuelle, validation et clients émetteurs.apps/sidecar/src/main.ts,config.ts,layers.ts: cycle de vie du serveur, configuration et câblage des dépendances.apps/sidecar/src/http/,services/,repos/: adaptateurs de protocole, opérations d’application et accès à la persistance.packages/db/src/index.ts,schema.ts,upgrade.ts,migrate.ts: service de base de données, tables, sécurité de mise à niveau et CLI.packages/db/drizzle/: migrations générées et métadonnées livrées avec le bureau.
Ordinateur de bureau et mobile
apps/desktop/src/app/App.tsx, Shell.tsx, et routes.tsx assembler l'établi et les itinéraires. client.ts et sidecar.ts gérer l’accès à l’API et l’état de connexion natif. Le comportement du produit vit sous src/features; les contrôles partagés et l'État vivent sous src/shared.
La fenêtre est sous apps/desktop/src/viewport, divisé en editor2d, view3d, et spatial. Les commandes natives et le cycle de vie sont en cours apps/desktop/src-tauri/src; la configuration de l'emballage est src-tauri/tauri.conf.json.
Les itinéraires mobiles sont sous apps/mobile/app, composants réutilisables sous components, et la logique client/appariement sous lib. Le module socket natif est modules/companion-net. Sur le serveur, démarrez le suivi des compagnons à l'adresse apps/sidecar/src/http/companion.ts et services/companion.ts.
IA, plugins, historique et flux de travail
packages/ai/src/actionsettools: déclarations d'actions et intégration d'outils assistants.packages/ai/src/nikcli,prompts, etskills: intégration de l'hôte intégré et guidage de l'assistant.apps/sidecar/src/services/ai.ts: dépendances de l'IA en direct et sélection de l'hôte.packages/nikcli-plugin/src/index.ts: pont HTTP nikcli externe.packages/plugin-sdk/src/index.tsetapps/sidecar/src/plugins/host.ts: surface de création du plugin et hôte d'exécution.packages/vcs/src/index.ts,apps/sidecar/src/services/project-vcs.ts, etrepos/project-vcs-repo.ts: bibliothèque d'histoire, orchestration et persistance.packages/workflow/src/index.ts,apps/sidecar/src/services/workflow-runner.ts, etworkflow-service-steps-live.ts: contrat de workflow, exécution et enregistrement des étapes de service.
Le contrôle de version réside dans packages/vcs/src: object.ts (format d'objet git), repository.ts (références et commits), snapshot.ts, diff.ts, store.ts, transport.ts, et github.ts. Les flux de travail vivent dans packages/workflow/src: schema.ts, trigger.ts (correspondance globale et déclencheur), et run.ts. Les fichiers de workflow sont lus à partir de .cadcamfun/workflows/ dans l'arborescence du projet.
Documentation et livraison
packages/web/src/pages/docs contient les articles de documentation. src/layouts/DocsLayout.astro fournit le shell de l'article partagé. La copie de navigation et de récupération est en cours src/data/docsSidebar.ts et docsIndex.ts; les descriptions des packages partagés sont dans architecture.ts.
src/lib/docsMarkdown.ts convertit les articles rendus en Markdown pour src/pages/llm.ts et l'assistant de documentation. La récupération est en cours docsRetrieval.ts; l'exécution de l'assistant est en cours src/pages/api/docs-assistant.ts. Les aides à l'analyse et au stockage des artefacts sont disponibles src/lib/docsArtifact.ts.
packages/web/script/dev.ts démarre Astro et le processus Studio local. studio-server.ts possède l'API de présentation SQLite locale. astro.config.mjs configure l'infrastructure de prérendu et le proxy local ; wrangler.toml déclare les liaisons Worker.
La compilation du bureau et la préparation des versions commencent dans scripts/build.ts. Les workflows CI et de version sont en cours .github/workflows. Voir Sortie et mises à jour pour la génération d’artefacts et les exigences de signature.
Tracer le comportement au-delà des frontières
- Identifiez le point final dans le référence de ressource et lisez ses schémas de paramètres, de corps, de réponse et d’erreur.
- Recherchez sa déclaration HttpApi dans la composition racine de l'API. Certaines ressources fondamentales, y compris les projets, résident directement sous
packages/api/src; d'autres groupes vivent soussrc/groups. - Trouvez son gestionnaire sous
apps/sidecar/src/http. Lisez les vérifications de l'utilisateur actuel et des ressources avant de suivre son appel de service ou de référentiel. - Pour le calcul, continuez avec le noyau. Pour le stockage, continuez à travers le référentiel et
Database.query. Pour le comportement du fournisseur/réseau, inspectez l’adaptateur configuré. - Revenez à l'appelant de bureau ou mobile et inspectez la gestion des enveloppes, l'état de la session, l'annulation et l'affichage des erreurs.
Par exemple, un nom manquant lors de la création d'un projet est rejeté dans apps/sidecar/src/http/projects.ts; ce n'est pas une erreur SQLite. Une incompatibilité de document CAM portable est vérifiée par apps/sidecar/src/services/cam-program.ts; l'analyse de NC dans la fenêtre ne peut pas la contourner. Un refus de route téléphonique couplée provient de la politique méthode/chemin de la passerelle compagnon.
Arborescence de répertoires avec le nombre de fichiers
apps/
desktop/src/ app/ 13 features/ 280 pages/ 68 shared/ 44 viewport/ 25 i18n/ 1
desktop/src-tauri/src commands.rs lib.rs main.rs menu.rs secrets.rs sidecar.rs tray.rs updater.rs
sidecar/src/ http/ 34 repos/ 24 services/ 29 plugins/ 3 (+ main.ts, config.ts, layers.ts)
mobile/ app/ 13 components/ 30 lib/ 21 hooks/ 2 modules/ 2
packages/
core/src/ cad/ 80 cam/ 110 drawing/ 7
ai/src/ actions/ 14 nikcli/ 27 tools/ 26 prompts/ 5 skills/ 2
api/src/ groups/ (one file per group) sdk/generated/ client/generated/
db/ src/ (index, schema, upgrade, migrate) drizzle/ (4 migrations)
vcs/ workflow/ plugin-sdk/ httpapi-codegen/ nikcli-plugin/ web/
scripts/ build.ts compile-sidecar.ts stage-release.ts updater-manifest.ts
release-helpers.ts release-ref.ts signing-config.ts smoke-sidecar.ts
.github/workflows/ ci.yml release.yml build-platforms.yml ios.yml Dossiers de fonctionnalités du bureau
Chaque dossier sous apps/desktop/src/features/ possède les composants, l'état et les appels API d'un domaine de produit :
admin ai analytics auth billing cad cam chat companion costs dashboard
legal library marketplace mcp organizations plugins profile projects settings toolpaths Une fonctionnalité appelle le sidecar via le client API partagé ; les widgets partagés sont présents dans shared/ et la scène 3D dans viewport/.
Où les concepts de CAO sont au cœur
| Concept | Fichier dans packages/core/src/cad/ |
|---|---|
| Résolution d'esquisse | sketch.ts, sketch-shapes.ts |
| Historique des fonctionnalités et reconstruction | history.ts, history-brep.ts, history-edit.ts |
| Représentant B exact | brep/ |
| Booléens sur les maillages | csg.ts |
| Expressions et paramètres | expr.ts |
| Importation STEP et DXF | import-step.ts, dxf.ts, import-drawing.ts |
| Filets et mélanges | edge-blend.ts |
| Engrenages, fixations, tôle | gear.ts, fasteners.ts, smart-fasteners.ts, sheet-metal.ts |
| Assemblage et analyse de scène | assembly-analysis.ts, scene-analysis.ts, scene-step.ts |
| Fabricabilité | dfm.ts |
| Concept | Fichier dans packages/core/src/cam/ |
|---|---|
| Noyau natif (instantané, exécution, revendications) | kernel/ |
| Post-processeurs | post/ |
| Opérations et générateurs | operations/, generator/, cycles/ |
| Configurations et indexation | setup.ts, indexing.ts, five-axis.ts |
| Relecture et vérification | verify/, program-evidence.ts |
| Machines et outils | machine.ts, tool.ts |
| Sous-programmes | subprogram-text.ts |