Dokumentation
Quellkarte
Einstiegspunkte für die Implementierung, um Verhalten zu verfolgen und gezielte Änderungen vorzunehmen.
Automatisch aus dem Englischen übersetzt. Englisches Original ansehen
CAD und Zeichnung
Beginnen Sie bei packages/core/src/index.ts um Namespace-Exporte anzuzeigen. packages/core/src/cad/index.ts listet CAD-APIs auf; packages/core/src/drawing/index.ts listet Zeichenvorgänge auf.
cad/sketch.ts,sketch-shapes.ts,snap.ts,intersect.ts: skizzendaten, Formen, Fangen und Schnittpunkt.cad/history.ts,history-edit.ts,history-brep.ts: feature-Verlauf, Bearbeitungen und B-Rep-Rekonstruktion.cad/brep/,solid.ts,tessellate.ts: volumentopologie, Modellierung und renderbare Netze.cad/import-step.ts,dxf.ts, undimport-drawing.ts: austausch- und Importgrenzen.cad/scene-analysis.ts,scene-evidence.ts,dfm.ts: szenenanalyse, Beweise und Herstellbarkeitsprüfungen.
Halten Sie Importanalyse, exakte Geometrie, Tesselierung und Ansichtsfensterauswahl getrennt, wenn Sie ein Anzeigeproblem verfolgen. Ein sichtbares Netz kann einen anderen Ursprung haben als ein bearbeitbares parametrisches Feature.
CAM und G-Code
packages/core/src/cam/index.ts: öffentliche CAM-Namespaces und Exporte.cam/operations/undcam/generator/: betriebsimplementierungen und Generierungspipeline.cam/setup.ts,indexing.ts,ir.ts: setup-Frames, indizierte Bearbeitung und Zwischenbewegungsdarstellung.cam/post/index.ts,emitter.ts, und die Dialektdateien: registrierte Beiträge und gemeinsame Programmausgabe.cam/post/convert.ts: der NC-Konvertierungskern: spielt G-Code oder Klartext ab, schreibt ihn mit jedem Beitrag neu und beweist die Bewegung durch Wiederholung.cam/verify/,kernel/,model/, undviewer/: verifizierung, Bearbeitung von Kerneln, Modellen und Viewer-Helfern.
Trace setzte die Bearbeitung fort apps/sidecar/src/http/toolpaths.ts und src/services/cam-program.ts, dann in die Desktop-CAM-Funktion. Der setup-Referenz erklärt, wie tragbare Programmdokumente mit gespeicherten Werkzeugwegen zusammenhängen.
HTTP und Persistenz
packages/api/src/index.ts,groups/,errors.ts,auth.ts: endpunktverträge, Übertragungsfehler und Autorisierungserklärungen.packages/api/src/client.ts: vollständiger vertragsbasierter Effekt-Client mit Träger-Middleware.packages/api/scripts/generate-clients.ts: zielausgaben und explizite Generierungsausschlüsse.packages/httpapi-codegen/src/index.ts: vertragsreflexion, Validierung und Kundenemittenten.apps/sidecar/src/main.ts,config.ts,layers.ts: serverlebenszyklus, Konfiguration und Abhängigkeitsverknüpfung.apps/sidecar/src/http/,services/,repos/: protokolladapter, Anwendungsvorgänge und Persistenzzugriff.packages/db/src/index.ts,schema.ts,upgrade.ts,migrate.ts: datenbankdienst, Tabellen, Upgrade-Sicherheit und CLI.packages/db/drizzle/: generierte Migrationen und Metadaten, die mit dem Desktop geliefert werden.
Desktop und mobil
apps/desktop/src/app/App.tsx, Shell.tsx, und routes.tsx montieren Sie die Werkbank und die Routen. client.ts und sidecar.ts behandeln Sie den API-Zugriff und den nativen Verbindungsstatus. Das Produktverhalten lebt unter src/features; gemeinsame Kontrollen und Zustand leben unter src/shared.
Das Ansichtsfenster befindet sich unten apps/desktop/src/viewport, aufgeteilt in editor2d, view3d, und spatial. Native Befehle und Lebenszyklus finden Sie unten apps/desktop/src-tauri/src; verpackungskonfiguration ist src-tauri/tauri.conf.json.
Mobile Routen finden Sie unten apps/mobile/app, wiederverwendbare Komponenten unten componentsund Client-/Pairing-Logik unten lib. Das native Socket-Modul ist modules/companion-net. Starten Sie auf dem Server die Companion-Ablaufverfolgung unter apps/sidecar/src/http/companion.ts und services/companion.ts.
KI, Plugins, Verlauf und Workflows
packages/ai/src/actionsundtools: aktionserklärungen und Integration von Hilfstools.packages/ai/src/nikcli,prompts, undskills: eingebettete Host-Integration und Assistentenführung.apps/sidecar/src/services/ai.ts: live-KI-Abhängigkeiten und Host-Auswahl.packages/nikcli-plugin/src/index.ts: externe Nikcli-HTTP-Brücke.packages/plugin-sdk/src/index.tsundapps/sidecar/src/plugins/host.ts: plugin-Authoring-Oberfläche und Laufzeithost.packages/vcs/src/index.ts,apps/sidecar/src/services/project-vcs.ts, undrepos/project-vcs-repo.ts: geschichtsbibliothek, Orchestrierung und Persistenz.packages/workflow/src/index.ts,apps/sidecar/src/services/workflow-runner.ts, undworkflow-service-steps-live.ts: workflow-Vertrag, Ausführung und Registrierung von Serviceschritten.
Die Versionskontrolle lebt in packages/vcs/src: object.ts (git-Objektformat), repository.ts (referenzen und Commits), snapshot.ts, diff.ts, store.ts, transport.ts, und github.ts. Arbeitsabläufe leben in packages/workflow/src: schema.ts, trigger.ts (glob- und Trigger-Matching) und run.ts. Es werden Workflow-Dateien gelesen .cadcamfun/workflows/ im Projektbaum.
Dokumentation und Lieferung
packages/web/src/pages/docs enthält die Dokumentationsartikel. src/layouts/DocsLayout.astro stellt die freigegebene Artikel-Shell bereit. Navigations- und Abrufkopie sind vorhanden src/data/docsSidebar.ts und docsIndex.ts; gemeinsame Paketbeschreibungen sind in architecture.ts.
src/lib/docsMarkdown.ts konvertiert gerenderte Artikel in Markdown für src/pages/llm.ts und der Dokumentationsassistent. Der Abruf ist in docsRetrieval.ts; die Assistentenausführung ist in src/pages/api/docs-assistant.ts. Hilfsmittel zum Parsen und Speichern von Artefakten sind im Einsatz src/lib/docsArtifact.ts.
packages/web/script/dev.ts startet Astro und den lokalen Studio-Prozess. studio-server.ts besitzt die lokale SQLite-Übersichts-API. astro.config.mjs konfiguriert die Pre-Rendering-Infrastruktur und den lokalen Proxy; wrangler.toml deklariert Worker-Bindungen.
Die Desktop-Kompilierung und das Release-Staging beginnen in scripts/build.ts. CI- und Release-Workflows finden Sie unten .github/workflows. Sehen Veröffentlichung und Updates für Artefaktgenerierungs- und Signierungsanforderungen.
Verfolgen Sie Verhalten über Grenzen hinweg
- Identifizieren Sie den Endpunkt im ressourcenreferenz und lesen Sie die Parameter-, Text-, Antwort- und Fehlerschemata.
- Suchen Sie die HttpApi-Deklaration in der API-Stammzusammensetzung. Einige grundlegende Ressourcen, einschließlich Projekte, befinden sich direkt darunter
packages/api/src; andere Gruppen leben daruntersrc/groups. - Finden Sie den Handler unten
apps/sidecar/src/http. Lesen Sie die aktuellen Benutzer- und Ressourcenprüfungen, bevor Sie dem Dienst- oder Repository-Aufruf folgen. - Fahren Sie zur Berechnung mit dem Kern fort. Fahren Sie zur Speicherung mit dem Repository fort und
Database.query. Überprüfen Sie den konfigurierten Adapter hinsichtlich des Anbieter-/Netzwerkverhaltens. - Kehren Sie zum Desktop- oder Mobilanrufer zurück und überprüfen Sie dessen Umschlagverarbeitung, Sitzungsstatus, Abbruch und Fehleranzeige.
Beispielsweise wird ein fehlender Name bei der Projekterstellung abgelehnt apps/sidecar/src/http/projects.ts; es handelt sich nicht um einen SQLite-Fehler. Eine Nichtübereinstimmung des tragbaren CAM-Dokuments wird von überprüft apps/sidecar/src/services/cam-program.ts; das Parsen von NC im Ansichtsfenster kann es nicht umgehen. Die Ablehnung einer gepaarten Telefonroute hat ihren Ursprung in der Methoden-/Pfadrichtlinie des Companion-Gateways.
Verzeichnisbaum mit Dateianzahl
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 Desktop-Funktionsordner
Jeder Ordner darunter apps/desktop/src/features/ besitzt die Komponenten, Zustände und API-Aufrufe eines Produktbereichs:
admin ai analytics auth billing cad cam chat companion costs dashboard
legal library marketplace mcp organizations plugins profile projects settings toolpaths Eine Funktion ruft den Sidecar über den gemeinsam genutzten API-Client auf; Geteilte Widgets leben in shared/ und die 3D-Szene in viewport/.
Wo CAD-Konzepte im Kern leben
| Konzept | Datei in packets/core/src/cad/ |
|---|---|
| Skizzenlösung | sketch.ts, sketch-shapes.ts |
| Funktionsverlauf und Neuaufbau | history.ts, history-brep.ts, history-edit.ts |
| Exakte B-Rep | brep/ |
| Boolesche Werte auf Netzen | csg.ts |
| Ausdrücke und Parameter | expr.ts |
| STEP- und DXF-Import | import-step.ts, dxf.ts, import-drawing.ts |
| Filets und Mischungen | edge-blend.ts |
| Zahnräder, Befestigungselemente, Blech | gear.ts, fasteners.ts, smart-fasteners.ts, sheet-metal.ts |
| Montage- und Szenenanalyse | assembly-analysis.ts, scene-analysis.ts, scene-step.ts |
| Herstellbarkeit | dfm.ts |
| Konzept | Datei in packets/core/src/cam/ |
|---|---|
| Nativer Kernel (Snapshot, Ausführung, Ansprüche) | kernel/ |
| Postprozessoren | post/ |
| Betrieb und Generatoren | operations/, generator/, cycles/ |
| Setups und Indizierung | setup.ts, indexing.ts, five-axis.ts |
| Wiedergabe und Überprüfung | verify/, program-evidence.ts |
| Maschinen und Werkzeuge | machine.ts, tool.ts |
| Unterprogramme | subprogram-text.ts |