Documentação
Mapa de origem
Pontos de entrada de implementação para rastrear comportamento e fazer mudanças específicas.
Traduzido automaticamente do inglês. Ver o original em inglês
CAD e desenho
Comece em packages/core/src/index.ts para ver as exportações de namespace. packages/core/src/cad/index.ts lista APIs de CAD; packages/core/src/drawing/index.ts lista operações de desenho.
cad/sketch.ts,sketch-shapes.ts,snap.ts,intersect.ts: dados de esboço, formas, encaixe e interseção.cad/history.ts,history-edit.ts,history-brep.ts: histórico de recursos, edições e reconstrução B-rep.cad/brep/,solid.ts,tessellate.ts: topologia sólida, modelagem e malhas renderizáveis.cad/import-step.ts,dxf.ts, eimport-drawing.ts: limites de troca e importação.cad/scene-analysis.ts,scene-evidence.ts,dfm.ts: análise de cena, evidências e verificações de capacidade de fabricação.
Mantenha a análise de importação, a geometria exata, o mosaico e a seleção da janela de visualização separados ao rastrear um problema de exibição. Uma malha visível pode ter uma origem diferente de um recurso paramétrico editável.
CAM e código G
packages/core/src/cam/index.ts: namespaces CAM públicos e exportações.cam/operations/ecam/generator/: implementações de operação e pipeline de geração.cam/setup.ts,indexing.ts,ir.ts: quadros de configuração, usinagem indexada e representação de movimento intermediário.cam/post/index.ts,emitter.ts, e os arquivos de dialeto: postagens registradas e emissão de programas compartilhados.cam/post/convert.ts: o kernel de conversão NC: reproduz o código G ou Klartext, reescreve-o com qualquer postagem e prova o movimento por repetição.cam/verify/,kernel/,model/, eviewer/: verificação, usinagem de kernels, modelos e auxiliares de visualização.
Rastrear usinagem persistente através apps/sidecar/src/http/toolpaths.ts e src/services/cam-program.tse, em seguida, no recurso CAM da área de trabalho. O referência de configurações explica como os documentos de programas portáteis se relacionam com percursos da ferramenta salvos.
HTTP e persistência
packages/api/src/index.ts,groups/,errors.ts,auth.ts: contratos de endpoint, erros de ligação e declarações de autorização.packages/api/src/client.ts: cliente Effect completo baseado em contrato com middleware de portador.packages/api/scripts/generate-clients.ts: resultados alvo e exclusões explícitas de geração.packages/httpapi-codegen/src/index.ts: reflexão de contrato, validação e emissores de clientes.apps/sidecar/src/main.ts,config.ts,layers.ts: ciclo de vida do servidor, configuração e fiação de dependência.apps/sidecar/src/http/,services/,repos/: adaptadores de protocolo, operações de aplicativos e acesso de persistência.packages/db/src/index.ts,schema.ts,upgrade.ts,migrate.ts: serviço de banco de dados, tabelas, segurança de atualização e CLI.packages/db/drizzle/: migrações geradas e metadados enviados com o desktop.
Computador e celular
apps/desktop/src/app/App.tsx, Shell.tsx, e routes.tsx montar a bancada e rotas. client.ts e sidecar.ts lidar com o acesso à API e o estado da conexão nativa. O comportamento do produto vive sob src/features; controles compartilhados e o estado vivem sob src/shared.
A janela de visualização está sob apps/desktop/src/viewport, dividido em editor2d, view3d, e spatial. Os comandos nativos e o ciclo de vida estão sob apps/desktop/src-tauri/src; configuração de embalagem é src-tauri/tauri.conf.json.
As rotas móveis estão abaixo apps/mobile/app, componentes reutilizáveis sob componentse lógica de cliente/emparelhamento em lib. O módulo de soquete nativo é modules/companion-net. No servidor, inicie o rastreamento complementar em apps/sidecar/src/http/companion.ts e services/companion.ts.
IA, plug-ins, histórico e fluxos de trabalho
packages/ai/src/actionsetools: declarações de ação e integração de ferramentas assistentes.packages/ai/src/nikcli,prompts, eskills: integração de host incorporada e orientação de assistente.apps/sidecar/src/services/ai.ts: dependências de IA ao vivo e seleção de host.packages/nikcli-plugin/src/index.ts: ponte HTTP nikcli externa.packages/plugin-sdk/src/index.tseapps/sidecar/src/plugins/host.ts: superfície de autoria do plugin e host de tempo de execução.packages/vcs/src/index.ts,apps/sidecar/src/services/project-vcs.ts, erepos/project-vcs-repo.ts: biblioteca de histórico, orquestração e persistência.packages/workflow/src/index.ts,apps/sidecar/src/services/workflow-runner.ts, eworkflow-service-steps-live.ts: contrato de fluxo de trabalho, execução e registro de etapas de serviço.
O controle de versão reside em packages/vcs/src: object.ts (formato de objeto git), repository.ts (refs e commits), snapshot.ts, diff.ts, store.ts, transport.ts, e github.ts. Os fluxos de trabalho vivem em packages/workflow/src: schema.ts, trigger.ts (correspondência global e de gatilho) e run.ts. Os arquivos de fluxo de trabalho são lidos .cadcamfun/workflows/ na árvore do projeto.
Documentação e entrega
packages/web/src/pages/docs contém os artigos de documentação. src/layouts/DocsLayout.astro fornece o shell do artigo compartilhado. A cópia de navegação e recuperação está em src/data/docsSidebar.ts e docsIndex.ts; as descrições dos pacotes compartilhados estão em architecture.ts.
src/lib/docsMarkdown.ts converte artigos renderizados em Markdown para src/pages/llm.ts e o assistente de documentação. A recuperação está em docsRetrieval.ts; execução assistente está em src/pages/api/docs-assistant.ts. Análise de artefatos e auxiliares de armazenamento estão em src/lib/docsArtifact.ts.
packages/web/script/dev.ts inicia o Astro e o processo local do Studio. studio-server.ts possui a API de visão geral local do SQLite. astro.config.mjs configura a infraestrutura de pré-renderização e o proxy local; wrangler.toml declara ligações do trabalhador.
A compilação de desktop e o teste de lançamento começam em scripts/build.ts. Os fluxos de trabalho de CI e liberação estão sob .github/workflows. Ver Lançamento e atualizações para geração de artefatos e requisitos de assinatura.
Rastreie o comportamento além dos limites
- Identifique o ponto final no referência de recurso e leia seus esquemas de parâmetro, corpo, resposta e erro.
- Localize sua declaração HttpApi na composição raiz da API. Alguns recursos fundamentais, incluindo projetos, residem diretamente sob
packages/api/src; outros grupos vivem sobsrc/groups. - Encontre seu manipulador em
apps/sidecar/src/http. Leia as verificações do usuário atual e dos recursos antes de seguir sua chamada de serviço ou repositório. - Para cálculo, continue no núcleo. Para armazenamento, continue no repositório e
Database.query. Para o comportamento do provedor/rede, inspecione o adaptador configurado. - Retorne ao chamador desktop ou móvel e inspecione o manuseio do envelope, o estado da sessão, o cancelamento e a exibição de erros.
Por exemplo, um nome ausente na criação do projeto é rejeitado em apps/sidecar/src/http/projects.ts; não é um erro SQLite. Uma incompatibilidade de documento CAM portátil é verificada por apps/sidecar/src/services/cam-program.ts; analisar NC na viewport não pode ignorá-lo. Uma recusa de rota telefônica emparelhada tem origem na política de método/caminho do gateway complementar.
Árvore de diretórios com contagens de arquivos
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 Pastas de recursos da área de trabalho
Cada pasta abaixo apps/desktop/src/features/ possui componentes, estado e chamadas de API de uma área de produto:
admin ai analytics auth billing cad cam chat companion costs dashboard
legal library marketplace mcp organizations plugins profile projects settings toolpaths Um recurso chama o sidecar por meio do cliente API compartilhado; widgets compartilhados residem em shared/ e a cena 3D em viewport/.
Onde os conceitos de CAD residem no núcleo
| Conceito | Arquivo em pacotes/core/src/cad/ |
|---|---|
| Resolução de esboço | sketch.ts, sketch-shapes.ts |
| Histórico de recursos e reconstrução | history.ts, history-brep.ts, history-edit.ts |
| Rep B exato | brep/ |
| Booleanos em malhas | csg.ts |
| Expressões e parâmetros | expr.ts |
| Importação STEP e DXF | import-step.ts, dxf.ts, import-drawing.ts |
| Filetes e misturas | edge-blend.ts |
| Engrenagens, fixadores, chapas metálicas | gear.ts, fasteners.ts, smart-fasteners.ts, sheet-metal.ts |
| Análise de montagem e cena | assembly-analysis.ts, scene-analysis.ts, scene-step.ts |
| Capacidade de fabricação | dfm.ts |
| Conceito | Arquivo em pacotes/core/src/cam/ |
|---|---|
| Kernel nativo (instantâneo, execução, declarações) | kernel/ |
| Pós-processadores | post/ |
| Operações e geradores | operations/, generator/, cycles/ |
| Configurações e indexação | setup.ts, indexing.ts, five-axis.ts |
| Repetição e verificação | verify/, program-evidence.ts |
| Máquinas e ferramentas | machine.ts, tool.ts |
| Subprogramas | subprogram-text.ts |