文档
源图
用于跟踪行为和进行有针对性的更改的实施入口点。
从英文自动翻译。 查看英文原文
CAD 和绘图
开始于 packages/core/src/index.ts 查看名称空间导出。 packages/core/src/cad/index.ts 列出 CAD API; packages/core/src/drawing/index.ts 列出绘图操作。
cad/sketch.ts,sketch-shapes.ts,snap.ts,intersect.ts:草图数据、形状、捕捉和交集。cad/history.ts,history-edit.ts,history-brep.ts:特征历史记录、编辑和 B-rep 重建。cad/brep/,solid.ts,tessellate.ts:实体拓扑、建模和可渲染网格。cad/import-step.ts,dxf.ts, 和import-drawing.ts:交换和进口边界。cad/scene-analysis.ts,scene-evidence.ts,dfm.ts:场景分析、证据和可制造性检查。
在跟踪显示问题时,将导入解析、精确几何图形、曲面细分和视口选择分开。可见网格可能具有与可编辑参数化特征不同的原点。
CAM 和 G 代码
packages/core/src/cam/index.ts:公共 CAM 命名空间和导出。cam/operations/和cam/generator/:操作实现和生成管道。cam/setup.ts,indexing.ts,ir.ts:设置框架、索引加工和中间运动表示。cam/post/index.ts,emitter.ts,以及方言文件:注册帖子和共享程序发射。cam/post/convert.ts:NC转换内核:重放G代码或Klartext,用任何帖子重写它并通过重放证明运动。cam/verify/,kernel/,model/, 和viewer/:验证、加工内核、模型和查看器助手。
通过跟踪持续加工 apps/sidecar/src/http/toolpaths.ts 和 src/services/cam-program.ts,然后进入桌面CAM功能。这 设置参考 解释可移植程序文档如何与保存的刀具路径相关。
HTTP 和持久性
packages/api/src/index.ts,groups/,errors.ts,auth.ts:端点合同、线路错误和授权声明。packages/api/src/client.ts:带有不记名中间件的完全基于合同的效果客户端。packages/api/scripts/generate-clients.ts:目标输出和明确的生成排除。packages/httpapi-codegen/src/index.ts:合约反射、验证和客户端发射器。apps/sidecar/src/main.ts,config.ts,layers.ts:服务器生命周期、配置和依赖关系连接。apps/sidecar/src/http/,services/,repos/:协议适配器、应用程序操作和持久性访问。packages/db/src/index.ts,schema.ts,upgrade.ts,migrate.ts:数据库服务、表、升级安全性和 CLI。packages/db/drizzle/:生成的迁移和桌面附带的元数据。
桌面和移动设备
apps/desktop/src/app/App.tsx, Shell.tsx, 和 routes.tsx 组装工作台和路线。 client.ts 和 sidecar.ts 处理 API 访问和本机连接状态。产品行为存在于 src/features;共享控制和状态 src/shared.
视口位于 apps/desktop/src/viewport,分成 editor2d, view3d, 和 spatial。本机命令和生命周期位于 apps/desktop/src-tauri/src;包装配置是 src-tauri/tauri.conf.json.
移动路线如下 apps/mobile/app,可重复使用的组件 components,以及客户端/配对逻辑 lib。本机套接字模块是 modules/companion-net。在服务器上,启动同伴跟踪 apps/sidecar/src/http/companion.ts 和 services/companion.ts.
AI、插件、历史记录和工作流程
packages/ai/src/actions和tools:动作声明和辅助工具集成。packages/ai/src/nikcli,prompts, 和skills:嵌入式主机集成和助手指导。apps/sidecar/src/services/ai.ts:实时 AI 依赖性和主机选择。packages/nikcli-plugin/src/index.ts:外部 nikcli HTTP 桥。packages/plugin-sdk/src/index.ts和apps/sidecar/src/plugins/host.ts:插件创作表面和运行时主机。packages/vcs/src/index.ts,apps/sidecar/src/services/project-vcs.ts, 和repos/project-vcs-repo.ts:历史库、编排和持久性。packages/workflow/src/index.ts,apps/sidecar/src/services/workflow-runner.ts, 和workflow-service-steps-live.ts:工作流契约、执行和服务步骤注册。
版本控制存在于 packages/vcs/src: object.ts (git 对象格式), repository.ts (参考和提交), snapshot.ts, diff.ts, store.ts, transport.ts, 和 github.ts。工作流程位于 packages/workflow/src: schema.ts, trigger.ts (全局和触发器匹配),以及 run.ts。工作流程文件读取自 .cadcamfun/workflows/ 在项目树中。
文件和交付
packages/web/src/pages/docs 包含文档文章。 src/layouts/DocsLayout.astro 提供共享文章外壳。导航和检索副本位于 src/data/docsSidebar.ts 和 docsIndex.ts;共享包描述位于 architecture.ts.
src/lib/docsMarkdown.ts 将渲染的文章转换为 Markdown src/pages/llm.ts 和文档助理。检索是在 docsRetrieval.ts;助理执行在 src/pages/api/docs-assistant.ts。工件解析和存储助手位于 src/lib/docsArtifact.ts.
packages/web/script/dev.ts 启动 Astro 和本地 Studio 进程。 studio-server.ts 拥有本地 SQLite 概述 API。 astro.config.mjs 配置预渲染基础设施和本地代理; wrangler.toml 声明 Worker 绑定。
桌面编译和发布暂存开始于 scripts/build.ts。 CI 和发布工作流程如下 .github/workflows。看 发布和更新 用于工件生成和签名要求。
跨边界追踪行为
- 识别端点 资源参考 并读取其参数、正文、响应和错误模式。
- 在 API 根组合中找到其 HttpApi 声明。一些基础资源(包括项目)直接位于
packages/api/src;其他群体生活在src/groups. - 在下面找到它的处理程序
apps/sidecar/src/http。在执行服务或存储库调用之前,请阅读当前用户和资源检查。 - 对于计算,继续进入核心。对于存储,请继续浏览存储库并
Database.query。对于提供商/网络行为,请检查配置的适配器。 - 返回桌面或移动呼叫者并检查其信封处理、会话状态、取消和错误显示。
例如,项目创建中缺少名称会被拒绝 apps/sidecar/src/http/projects.ts;这不是 SQLite 错误。通过以下方式检查便携式 CAM 文档不匹配 apps/sidecar/src/services/cam-program.ts;在视口中解析 NC 无法绕过它。配对电话路由拒绝源于伴随网关的方法/路径策略。
带有文件计数的目录树
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 桌面功能文件夹
下各文件夹 apps/desktop/src/features/ 拥有一个产品区域的组件、状态和 API 调用:
admin ai analytics auth billing cad cam chat companion costs dashboard
legal library marketplace mcp organizations plugins profile projects settings toolpaths 功能通过共享API客户端调用sidecar;共享小部件位于 shared/ 以及 3D 场景 viewport/.
CAD 概念的核心所在
| 概念 | 文件位于packages/core/src/cad/中 |
|---|---|
| 素描解题 | sketch.ts, sketch-shapes.ts |
| 功能历史和重建 | history.ts, history-brep.ts, history-edit.ts |
| 精确 B 代表 | brep/ |
| 网格上的布尔值 | csg.ts |
| 表达式和参数 | expr.ts |
| STEP 和 DXF 导入 | import-step.ts, dxf.ts, import-drawing.ts |
| 鱼片和混合物 | edge-blend.ts |
| 齿轮、紧固件、金属板 | gear.ts, fasteners.ts, smart-fasteners.ts, sheet-metal.ts |
| 装配和场景分析 | assembly-analysis.ts, scene-analysis.ts, scene-step.ts |
| 制造性 | dfm.ts |
| 概念 | 文件位于packages/core/src/cam/ |
|---|---|
| 本机内核(快照、运行、声明) | kernel/ |
| 后处理器 | post/ |
| 操作和发电机 | operations/, generator/, cycles/ |
| 设置和索引 | setup.ts, indexing.ts, five-axis.ts |
| 回放和验证 | verify/, program-evidence.ts |
| 机具 | machine.ts, tool.ts |
| 子程序 | subprogram-text.ts |