Documentazione
Mappa delle fonti
Punti di ingresso dell'implementazione per tracciare il comportamento e apportare modifiche mirate.
Tradotto automaticamente dall'inglese. Vedi l'originale in inglese
CAD e disegno
Inizia alle packages/core/src/index.ts per vedere le esportazioni dello spazio dei nomi. packages/core/src/cad/index.ts elenca le API CAD; packages/core/src/drawing/index.ts elenca le operazioni di disegno.
cad/sketch.ts,sketch-shapes.ts,snap.ts,intersect.ts: dati dello schizzo, forme, snap e intersezione.cad/history.ts,history-edit.ts,history-brep.ts: cronologia delle funzionalità, modifiche e ricostruzione B-rep.cad/brep/,solid.ts,tessellate.ts: topologia solida, modellazione e mesh renderizzabili.cad/import-step.ts,dxf.ts, eimport-drawing.ts: confini di scambio e importazione.cad/scene-analysis.ts,scene-evidence.ts,dfm.ts: analisi della scena, prove e controlli di producibilità.
Mantieni separati l'analisi dell'importazione, la geometria esatta, la tassellatura e la selezione della finestra quando tracci un problema di visualizzazione. Una mesh visibile può avere un'origine diversa da una feature parametrica modificabile.
CAM e codice G
packages/core/src/cam/index.ts: spazi dei nomi CAM pubblici ed esportazioni.cam/operations/ecam/generator/: implementazioni operative e pipeline di generazione.cam/setup.ts,indexing.ts,ir.ts: quadri di setup, lavorazione indicizzata e rappresentazione del movimento intermedio.cam/post/index.ts,emitter.tse i file dialettali: post registrati ed emissione di programmi condivisi.cam/post/convert.ts: il kernel di conversione NC: riproduce il codice G o Klartext, lo riscrive con qualsiasi post e dimostra il movimento tramite replay.cam/verify/,kernel/,model/, eviewer/: verifica, lavorazione dei kernel, modelli e assistenti per i visualizzatori.
Traccia la lavorazione persistente apps/sidecar/src/http/toolpaths.ts e src/services/cam-program.ts, quindi nella funzionalità CAM del desktop. IL riferimento alle configurazioni spiega come i documenti di programma portatili si riferiscono ai percorsi utensile salvati.
HTTP e persistenza
packages/api/src/index.ts,groups/,errors.ts,auth.ts: contratti endpoint, errori di trasferimento e dichiarazioni di autorizzazione.packages/api/src/client.ts: client Effect completo basato su contratto con middleware portante.packages/api/scripts/generate-clients.ts: risultati target ed esclusioni di generazione esplicite.packages/httpapi-codegen/src/index.ts: riflessione del contratto, validazione e client emettitori.apps/sidecar/src/main.ts,config.ts,layers.ts: ciclo di vita del server, configurazione e cablaggio delle dipendenze.apps/sidecar/src/http/,services/,repos/: adattatori di protocollo, operazioni dell'applicazione e accesso alla persistenza.packages/db/src/index.ts,schema.ts,upgrade.ts,migrate.ts: servizio database, tabelle, sicurezza dell'aggiornamento e CLI.packages/db/drizzle/: migrazioni generate e metadati forniti con il desktop.
Desktop e mobile
apps/desktop/src/app/App.tsx, Shell.tsx, e routes.tsx assemblare il banco di lavoro e i percorsi. client.ts e sidecar.ts gestire l'accesso API e lo stato della connessione nativa. Il comportamento del prodotto vive sotto src/features; controlli condivisi e lo stato vive sotto src/shared.
Il viewport è sotto apps/desktop/src/viewport, diviso in editor2d, view3d, e spatial. I comandi nativi e il ciclo di vita sono elencati di seguito apps/desktop/src-tauri/src; la configurazione della confezione è src-tauri/tauri.conf.json.
I percorsi mobili sono sotto apps/mobile/app, componenti riutilizzabili sotto componentse la logica client/associazione in lib. Il modulo socket nativo è modules/companion-net. Sul server, avvia la traccia complementare all'indirizzo apps/sidecar/src/http/companion.ts e services/companion.ts.
AI, plugin, cronologia e flussi di lavoro
packages/ai/src/actionsetools: dichiarazioni di azioni e integrazione dello strumento assistente.packages/ai/src/nikcli,prompts, eskills: integrazione host incorporata e guida dell'assistente.apps/sidecar/src/services/ai.ts: dipendenze AI live e selezione dell'host.packages/nikcli-plugin/src/index.ts: bridge HTTP nikcli esterno.packages/plugin-sdk/src/index.tseapps/sidecar/src/plugins/host.ts: superficie di creazione plugin e host runtime.packages/vcs/src/index.ts,apps/sidecar/src/services/project-vcs.ts, erepos/project-vcs-repo.ts: libreria storica, orchestrazione e persistenza.packages/workflow/src/index.ts,apps/sidecar/src/services/workflow-runner.ts, eworkflow-service-steps-live.ts: contratto del flusso di lavoro, esecuzione e registrazione delle fasi del servizio.
Il controllo della versione è presente packages/vcs/src: object.ts (formato oggetto git), repository.ts (riferimenti e commit), snapshot.ts, diff.ts, store.ts, transport.ts, e github.ts. I flussi di lavoro vivono packages/workflow/src: schema.ts, trigger.ts (corrispondenza glob e trigger) e run.ts. Vengono letti i file del flusso di lavoro .cadcamfun/workflows/ nell'albero del progetto.
Documentazione e consegna
packages/web/src/pages/docs contiene gli articoli di documentazione. src/layouts/DocsLayout.astro fornisce la shell dell'articolo condiviso. La copia per la navigazione e il recupero è disponibile src/data/docsSidebar.ts e docsIndex.ts; sono presenti le descrizioni dei pacchetti condivisi architecture.ts.
src/lib/docsMarkdown.ts converte gli articoli renderizzati in Markdown per src/pages/llm.ts e l'assistente alla documentazione. Il recupero è in arrivo docsRetrieval.ts; l'esecuzione dell'assistente è in corso src/pages/api/docs-assistant.ts. Sono presenti assistenti per l'analisi e l'archiviazione degli artefatti src/lib/docsArtifact.ts.
packages/web/script/dev.ts avvia Astro e il processo Studio locale. studio-server.ts possiede l'API di panoramica SQLite locale. astro.config.mjs configura l'infrastruttura di prerendering e il proxy locale; wrangler.toml dichiara i vincoli del lavoratore.
La compilazione del desktop e la gestione temporanea del rilascio iniziano tra scripts/build.ts. I flussi di lavoro CI e di rilascio sono in .github/workflows. Vedere Rilascio e aggiornamenti per la generazione di artefatti e i requisiti di firma.
Tracciare il comportamento oltre i confini
- Identificare l'endpoint nel file riferimento alla risorsa e leggerne i parametri, il corpo, la risposta e gli schemi di errore.
- Individua la relativa dichiarazione HttpApi nella composizione radice dell'API. Alcune risorse fondamentali, inclusi i progetti, risiedono direttamente sotto
packages/api/src; sotto vivono altri gruppisrc/groups. - Trova il suo gestore qui sotto
apps/sidecar/src/http. Leggere i controlli dell'utente corrente e delle risorse prima di seguire la chiamata al servizio o al repository. - Per il calcolo, continuare con il core. Per l'archiviazione, continuare attraverso il repository e
Database.query. Per il comportamento del provider/rete, ispezionare l'adattatore configurato. - Torna al chiamante desktop o mobile e controlla la gestione della busta, lo stato della sessione, l'annullamento e la visualizzazione degli errori.
Ad esempio, un nome mancante nella creazione del progetto viene rifiutato apps/sidecar/src/http/projects.ts; non è un errore SQLite. Viene controllata una mancata corrispondenza del documento CAM portatile apps/sidecar/src/services/cam-program.ts; l'analisi di NC nel viewport non può ignorarlo. Un rifiuto dell'instradamento del telefono accoppiato ha origine nella policy del metodo/percorso del gateway complementare.
Albero delle directory con conteggio dei file
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 Cartelle delle funzionalità desktop
Ogni cartella sotto apps/desktop/src/features/ possiede i componenti, lo stato e le chiamate API di un'area di prodotto:
admin ai analytics auth billing cad cam chat companion costs dashboard
legal library marketplace mcp organizations plugins profile projects settings toolpaths Una funzionalità richiama il sidecar tramite il client API condiviso; i widget condivisi vivono shared/ e la scena 3D in viewport/.
Dove i concetti CAD vivono al centro
| Concetto | File in packages/core/src/cad/ |
|---|---|
| Risoluzione di schizzi | sketch.ts, sketch-shapes.ts |
| Cronologia delle funzionalità e ricostruzione | history.ts, history-brep.ts, history-edit.ts |
| B-rep esatto | brep/ |
| Booleani sulle mesh | csg.ts |
| Espressioni e parametri | expr.ts |
| Importazione STEP e DXF | import-step.ts, dxf.ts, import-drawing.ts |
| Filetti e miscele | edge-blend.ts |
| Ingranaggi, elementi di fissaggio, lamiera | gear.ts, fasteners.ts, smart-fasteners.ts, sheet-metal.ts |
| Montaggio e analisi della scena | assembly-analysis.ts, scene-analysis.ts, scene-step.ts |
| Producibilità | dfm.ts |
| Concetto | File in packages/core/src/cam/ |
|---|---|
| Kernel nativo (snapshot, esecuzione, attestazioni) | kernel/ |
| Post-processori | post/ |
| Operazioni e generatori | operations/, generator/, cycles/ |
| Configurazioni e indicizzazione | setup.ts, indexing.ts, five-axis.ts |
| Riproduzione e verifica | verify/, program-evidence.ts |
| Macchine e strumenti | machine.ts, tool.ts |
| Sottoprogrammi | subprogram-text.ts |