Documentación
Mapa fuente
Puntos de entrada de implementación para rastrear el comportamiento y realizar cambios enfocados.
Traducido automáticamente del inglés. Ver el original en inglés
CAD y dibujo
Empezar en packages/core/src/index.ts para ver las exportaciones de espacios de nombres. packages/core/src/cad/index.ts enumera las API de CAD; packages/core/src/drawing/index.ts enumera las operaciones de dibujo.
cad/sketch.ts,sketch-shapes.ts,snap.ts,intersect.ts: datos de boceto, formas, ajuste e intersección.cad/history.ts,history-edit.ts,history-brep.ts: historial de funciones, ediciones y reconstrucción de B-rep.cad/brep/,solid.ts,tessellate.ts: topología sólida, modelado y mallas renderizables.cad/import-step.ts,dxf.ts, yimport-drawing.ts: fronteras de intercambio e importación.cad/scene-analysis.ts,scene-evidence.ts,dfm.ts: análisis de escena, pruebas y comprobaciones de capacidad de fabricación.
Mantenga separados el análisis de importación, la geometría exacta, la teselación y la selección de ventana gráfica al rastrear un problema de visualización. Una malla visible puede tener un origen diferente al de una característica paramétrica editable.
CAM y código G
packages/core/src/cam/index.ts: exportaciones y espacios de nombres CAM públicos.cam/operations/ycam/generator/: implementaciones de operación y tubería de generación.cam/setup.ts,indexing.ts,ir.ts: marcos de preparación, mecanizado indexado y representación de movimiento intermedio.cam/post/index.ts,emitter.ts, y los archivos dialectales: publicaciones registradas y emisión de programas compartidos.cam/post/convert.ts: el núcleo de conversión NC: reproduce código G o Klartext, lo reescribe con cualquier publicación y prueba el movimiento mediante repetición.cam/verify/,kernel/,model/, yviewer/: verificación, mecanizado de núcleos, modelos y ayudantes de visor.
Traza el mecanizado persistente a través de apps/sidecar/src/http/toolpaths.ts y src/services/cam-program.tsy luego a la función CAM de escritorio. El referencia de configuraciones explica cómo los documentos de programas portátiles se relacionan con las trayectorias guardadas.
HTTP y persistencia
packages/api/src/index.ts,groups/,errors.ts,auth.ts: contratos de terminales, errores de transferencia y declaraciones de autorización.packages/api/src/client.ts: cliente Effect completo basado en contrato con middleware portador.packages/api/scripts/generate-clients.ts: resultados objetivo y exclusiones generacionales explícitas.packages/httpapi-codegen/src/index.ts: reflexión de contratos, validación y emisores de clientes.apps/sidecar/src/main.ts,config.ts,layers.ts: ciclo de vida del servidor, configuración y cableado de dependencia.apps/sidecar/src/http/,services/,repos/: adaptadores de protocolo, operaciones de aplicaciones y acceso de persistencia.packages/db/src/index.ts,schema.ts,upgrade.ts,migrate.ts: servicio de base de datos, tablas, seguridad de actualización y CLI.packages/db/drizzle/: migraciones generadas y metadatos enviados con el escritorio.
Escritorio y móvil
apps/desktop/src/app/App.tsx, Shell.tsx, y routes.tsx montar el banco de trabajo y las rutas. client.ts y sidecar.ts manejar el acceso a la API y el estado de la conexión nativa. El comportamiento del producto vive bajo src/features; los controles compartidos y el estado viven bajo src/shared.
La ventana gráfica está debajo apps/desktop/src/viewport, dividido en editor2d, view3d, y spatial. Los comandos nativos y el ciclo de vida están bajo apps/desktop/src-tauri/src; la configuración del embalaje es src-tauri/tauri.conf.json.
Las rutas móviles están bajo apps/mobile/app, componentes reutilizables bajo componentsy lógica de cliente/emparejamiento en lib. El módulo de socket nativo es modules/companion-net. En el servidor, inicie el seguimiento de acompañantes en apps/sidecar/src/http/companion.ts y services/companion.ts.
IA, complementos, historial y flujos de trabajo
packages/ai/src/actionsytools: declaraciones de acciones e integración de herramientas asistentes.packages/ai/src/nikcli,prompts, yskills: integración de host integrada y guía asistente.apps/sidecar/src/services/ai.ts: dependencias de IA en vivo y selección de host.packages/nikcli-plugin/src/index.ts: puente HTTP nikcli externo.packages/plugin-sdk/src/index.tsyapps/sidecar/src/plugins/host.ts: superficie de creación de complementos y host de tiempo de ejecución.packages/vcs/src/index.ts,apps/sidecar/src/services/project-vcs.ts, yrepos/project-vcs-repo.ts: biblioteca de historia, orquestación y persistencia.packages/workflow/src/index.ts,apps/sidecar/src/services/workflow-runner.ts, yworkflow-service-steps-live.ts: contrato de flujo de trabajo, ejecución y registro de pasos de servicio.
El control de versiones vive en packages/vcs/src: object.ts (formato de objeto git), repository.ts (árbitros y compromisos), snapshot.ts, diff.ts, store.ts, transport.ts, y github.ts. Los flujos de trabajo viven en packages/workflow/src: schema.ts, trigger.ts (coincidencia global y de activación), y run.ts. Los archivos de flujo de trabajo se leen desde .cadcamfun/workflows/ en el árbol del proyecto.
Documentación y entrega
packages/web/src/pages/docs contiene los artículos de documentación. src/layouts/DocsLayout.astro proporciona el shell del artículo compartido. La copia de navegación y recuperación están en src/data/docsSidebar.ts y docsIndex.ts; las descripciones de los paquetes compartidos están en architecture.ts.
src/lib/docsMarkdown.ts convierte artículos renderizados a Markdown para src/pages/llm.ts y el asistente de documentación. La recuperación está en docsRetrieval.ts; asistente de ejecución está en src/pages/api/docs-assistant.ts. Los asistentes de almacenamiento y análisis de artefactos están disponibles src/lib/docsArtifact.ts.
packages/web/script/dev.ts inicia Astro y el proceso de Studio local. studio-server.ts posee la API de descripción general de SQLite local. astro.config.mjs configura la infraestructura de prerenderizado y el proxy local; wrangler.toml declara vinculaciones de los trabajadores.
La compilación de escritorio y la preparación del lanzamiento comienzan en scripts/build.ts. Los flujos de trabajo de CI y lanzamiento están bajo .github/workflows. Ver Lanzamiento y actualizaciones para los requisitos de generación y firma de artefactos.
Rastrear el comportamiento a través de fronteras
- Identificar el punto final en el referencia de recursos y leer sus esquemas de parámetros, cuerpo, respuesta y error.
- Localice su declaración HttpApi en la composición raíz de la API. Algunos recursos fundamentales, incluidos los proyectos, se encuentran directamente bajo
packages/api/src; otros grupos viven bajosrc/groups. - Encuentre su controlador en
apps/sidecar/src/http. Lea las comprobaciones de recursos y usuarios actuales antes de seguir su llamada de servicio o repositorio. - Para el cálculo, continúe hasta el núcleo. Para el almacenamiento, continúe a través del repositorio y
Database.query. Para conocer el comportamiento del proveedor/red, inspeccione el adaptador configurado. - Regrese al llamante de escritorio o móvil e inspeccione el manejo de sobres, el estado de la sesión, la cancelación y la visualización de errores.
Por ejemplo, un nombre que falta en la creación del proyecto se rechaza en apps/sidecar/src/http/projects.ts; no es un error de SQLite. Una discrepancia en un documento CAM portátil se verifica mediante apps/sidecar/src/services/cam-program.ts; analizar NC en la ventana gráfica no puede omitirlo. El rechazo de una ruta de teléfono emparejado se origina en la política de ruta/método de la puerta de enlace complementaria.
Árbol de directorios con recuentos de archivos.
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 Carpetas de funciones de escritorio
Cada carpeta bajo apps/desktop/src/features/ posee los componentes, el estado y las llamadas API de un área de producto:
admin ai analytics auth billing cad cam chat companion costs dashboard
legal library marketplace mcp organizations plugins profile projects settings toolpaths Una característica llama al sidecar a través del cliente API compartido; Los widgets compartidos viven en shared/ y la escena 3D en viewport/.
Donde residen los conceptos CAD en el núcleo
| Concepto | Archivo en paquetes/core/src/cad/ |
|---|---|
| Resolución de bocetos | sketch.ts, sketch-shapes.ts |
| Historial de funciones y reconstrucción | history.ts, history-brep.ts, history-edit.ts |
| Representante B exacto | brep/ |
| Booleanos en mallas | csg.ts |
| Expresiones y parámetros | expr.ts |
| Importación STEP y DXF | import-step.ts, dxf.ts, import-drawing.ts |
| Filetes y mezclas | edge-blend.ts |
| Engranajes, sujetadores, chapa | gear.ts, fasteners.ts, smart-fasteners.ts, sheet-metal.ts |
| Análisis de montaje y escena. | assembly-analysis.ts, scene-analysis.ts, scene-step.ts |
| Fabricabilidad | dfm.ts |
| Concepto | Archivo en paquetes/core/src/cam/ |
|---|---|
| Kernel nativo (instantánea, ejecución, reclamos) | kernel/ |
| Postprocesadores | post/ |
| Operaciones y generadores. | operations/, generator/, cycles/ |
| Configuraciones e indexación | setup.ts, indexing.ts, five-axis.ts |
| Reproducción y verificación | verify/, program-evidence.ts |
| maquinas y herramientas | machine.ts, tool.ts |
| Subprogramas | subprogram-text.ts |