已实现 assembleGears([pinion, [middleLarge, middleSmall], wheel]):Tuple 第一项接上游、第二项接下游,组装函数内部对齐 frame。作者通过 Origin 定义同轴齿轮层高;外部啮合按实际齿中心和名义齿宽计算。返回扁平 Gear[],pairs 只配置相邻轴位之间的啮合。首尾和连续 Tuple 均可使用,App 参数检查保留整个 Tuple 与单一成员的选择焦点。
采用用户确认的模型 Symbol 元数据字典与当前快照,不引入时间线。Core 提供 readonly metadata / withMetadata(),写入浅拷贝字典,普通复制与几何派生继承主输入,组合自有元数据与成员分开。已删除外部 WeakMap 和 setModelData/getModelData。元数据不进入渲染快照或 Worker 消息。Gears 保存齿数、螺旋角、模数/齿宽比例,暴露精确的名义齿宽轴线与齿中心;从当前轴长解析缩放后的尺寸,Origin 编辑和统一缩放后仍可组装。Core 不解释齿轮业务,几何引用由 expose 负责变换。
传动示例为 20 → 30/18 → 40 齿,一次 Tuple 装配,只有 Drive angle 一个输入。小齿轮齿宽 14 mm、大齿轮齿宽 10 mm,中心相距 12 mm,上下端面在 Y=5 mm 贴合。中间两齿轮转角为输入的 −2/3,输出为 +3/10。各支撑轴下端等高。
外观已按用户确认调整:移除底板和中间黄色轴上没有把手的横条。两端横杆宽 8 mm、厚 3 mm,胶囊形端部半径 4 mm;竖轴和手柄分别对齐两端圆心,共用 crankReach=21 mm。横杆覆盖两侧圆形连接面,竖轴、横杆和手柄端面贴合且无体积重叠。整体实体数量为 11。
新增独立 frame(name?),返回非几何 Frame,支持直接 align、origin 点引用及值语义 relate。group(parts, {frame, name}) 显式以参考的完整已求解位姿作为组合坐标,包含 exposed frame 的局部变换;省略 frame 时仍继承首成员。名称统一使用 options.name,仓库调用、源码字符串、文档示例与图库焦点已同步迁移,不保留字符串名称兼容分支。
传动示例的 base 现为 frame('Assembly frame'),最终组合通过 {frame: base} 固定自身坐标,children 只包含 7 个真实零件条目,不再使用空 group 作为基准。参考在组合内保留 occurrence,随嵌套、旋转和原点编辑重表达。App 沿既有锚点/Worker/响应式预览链消费;选中 group 的 frame 参数显示坐标架并保留成员作为上下文,无新增镜像状态。
此前发现的空组检查错误也已修复:快照按自身及后代的实际几何决定是否生成方向边界。嵌套空组可正常检查,显式查询其 bounds 仍报错,零尺寸 point 保留真实几何边界。
Core/Gears API、包 README、坐标文档、公开 agent 指南、内部模型架构、坐标技能及受影响的网站来源已同步。
验证:
- 本轮 43 个 Core 坐标架、组原点、公开 API、快照和旋转耦合测试通过。
- 67 个 App 源码检查/导出测试、130 个源码编译测试、2 个示例/目录测试通过。编译大组首次触及 180 秒运行时限,按已完成用例拆分后补完全部余项;未增加内存预算。
- 2 个 host Chrome 回归通过:逐个成员及 frame 参数检查正确,滑块按住拖动和 359/360/361/−720° 联动正常,无页面或 MobX 错误。截图
/tmp/code3d-231-transmission.png 已查看。
- 全 workspace 类型检查、packages/App/Web 构建、格式与 diff 检查通过;129 个 HTML/Markdown 页面的链接、锚点与资源检查通过。
- 此前 Core 元数据与完整 Gears 几何回归已通过,覆盖 Origin、缩放、奇数齿轮、内齿、斜齿与 Tuple 装配。
用户已验收复合齿轮、元数据快照、独立 Frame 及其后续空间引用重构,并授权提交合并。功能提交为 98132ab7a54e5e320e7626dfad555e23c1f7c619,空间引用重构提交为 e8843e109cb86d5dcfee6e28859625a22921372d。
后续内部重构已完成并提交:用户明确暂不整理元数据继承,现有 metadata / withMetadata 语义及传递代码保持原样。
- RelationObject 统一关系派生、操作追踪及操作快照。模型、Frame、Sketch 的 relate 都记录原值为 source、本次新增约束参与者为 reference;继承关系继续参与求解。ReferenceObject 共用非几何值继承及快照,Frame/Sketch 保留各自的引用元素和显示语义。
- 检查引用由独立 Frame 承载,删除非几何对象的空 group 适配;真实模型仍使用保留成员位姿的组装容器。检查身份与调用时已求解位置按既有生命周期保存,后续关系不改变先前测量。dimension 的 owner 支持 Model 或 Frame,纯参考坐标架可正常测距、显示和导出标注。
- App 通过统一 modelOperationObject 解析模型、Frame 和 Sketch,统一操作追踪及注解坐标归属。未新增镜像状态、目录或包,沿用既有 Worker 与响应式预览链。内部架构及公开注解文档同步。
本轮验证:55 个 Core 关系/坐标架/草图/组原点/快照测试、74 个 App 源码检查/测距/导出测试、6 个 host Chrome 回归通过。浏览器覆盖齿轮拖动及跨整圈联动、隐含 self、草图编辑/撤销/空草图、纯 Frame 测距与图片导出,无页面或 MobX 错误。另补查新增派生来源用例通过。全 workspace 类型检查、packages/App/Web 构建、129 页网站链接与资源检查、格式和 diff 检查通过。测试驱动在 3 GiB / 无 swap 的受限进程组内运行,已运行的 host Chrome 不属于该内存上限。截图 /tmp/code3d-231-reference-measurement.png 与 /tmp/code3d-231-transmission.png 已查看。
已本地合并到 main:4510ccf3db597382d48dff779f1a56e9dc98ec81(core: merge compound gears and spatial reference refactor),合并父提交为 38e2d27086686c55ef0d6fe744b89014eb01468f 与 e8843e109cb86d5dcfee6e28859625a22921372d。合并无冲突,最终树与任务提交完全一致;主区与任务 worktree 均 clean。
主区集成验证:重新构建全部 packages,全 workspace 类型检查通过;15 个 Core Frame/metadata/snapshot、9 个 App 坐标架/齿轮/草图检查、3 个 Gears 缩放与 Origin/分层 Tuple/把手联动测试全部通过。既有完整浏览器与网站验收在相同代码树上已通过,因此不重复运行。测试使用 3 GiB、无 swap 及强制终止时限。
交付状态:用户已验收并授权推送。2026-09-23 随主分支 36ba351b363c85f8de3c12e69733a86f5d6bb805 正常推送,已核实远端 main 包含最终交付 4510ccf3db597382d48dff779f1a56e9dc98ec81,GitHub 已通过 closes #231 自动关闭;工作状态标签已清理。本次未推送版本 tag 或发包。
此次远端 网站构建 已成功:95 页源码核对、326 个 HTML/Markdown 页面的链接/锚点/资源检查和 code3d-www artifact 上传通过。部署 job 按既有条件跳过,本次没有线上发布。CI 的 4 个浏览器示例分片、全 workspace 类型/测试、npm 包安装与示例验证、App 构建均通过,网站图片生成仍在运行,最终结果待更新。
已实现
assembleGears([pinion, [middleLarge, middleSmall], wheel]):Tuple 第一项接上游、第二项接下游,组装函数内部对齐 frame。作者通过 Origin 定义同轴齿轮层高;外部啮合按实际齿中心和名义齿宽计算。返回扁平 Gear[],pairs 只配置相邻轴位之间的啮合。首尾和连续 Tuple 均可使用,App 参数检查保留整个 Tuple 与单一成员的选择焦点。采用用户确认的模型 Symbol 元数据字典与当前快照,不引入时间线。Core 提供 readonly metadata / withMetadata(),写入浅拷贝字典,普通复制与几何派生继承主输入,组合自有元数据与成员分开。已删除外部 WeakMap 和 setModelData/getModelData。元数据不进入渲染快照或 Worker 消息。Gears 保存齿数、螺旋角、模数/齿宽比例,暴露精确的名义齿宽轴线与齿中心;从当前轴长解析缩放后的尺寸,Origin 编辑和统一缩放后仍可组装。Core 不解释齿轮业务,几何引用由 expose 负责变换。
传动示例为 20 → 30/18 → 40 齿,一次 Tuple 装配,只有 Drive angle 一个输入。小齿轮齿宽 14 mm、大齿轮齿宽 10 mm,中心相距 12 mm,上下端面在 Y=5 mm 贴合。中间两齿轮转角为输入的 −2/3,输出为 +3/10。各支撑轴下端等高。
外观已按用户确认调整:移除底板和中间黄色轴上没有把手的横条。两端横杆宽 8 mm、厚 3 mm,胶囊形端部半径 4 mm;竖轴和手柄分别对齐两端圆心,共用 crankReach=21 mm。横杆覆盖两侧圆形连接面,竖轴、横杆和手柄端面贴合且无体积重叠。整体实体数量为 11。
新增独立
frame(name?),返回非几何Frame,支持直接 align、origin 点引用及值语义 relate。group(parts, {frame, name})显式以参考的完整已求解位姿作为组合坐标,包含 exposed frame 的局部变换;省略 frame 时仍继承首成员。名称统一使用 options.name,仓库调用、源码字符串、文档示例与图库焦点已同步迁移,不保留字符串名称兼容分支。传动示例的 base 现为
frame('Assembly frame'),最终组合通过{frame: base}固定自身坐标,children 只包含 7 个真实零件条目,不再使用空 group 作为基准。参考在组合内保留 occurrence,随嵌套、旋转和原点编辑重表达。App 沿既有锚点/Worker/响应式预览链消费;选中 group 的 frame 参数显示坐标架并保留成员作为上下文,无新增镜像状态。此前发现的空组检查错误也已修复:快照按自身及后代的实际几何决定是否生成方向边界。嵌套空组可正常检查,显式查询其 bounds 仍报错,零尺寸 point 保留真实几何边界。
Core/Gears API、包 README、坐标文档、公开 agent 指南、内部模型架构、坐标技能及受影响的网站来源已同步。
验证:
/tmp/code3d-231-transmission.png已查看。用户已验收复合齿轮、元数据快照、独立 Frame 及其后续空间引用重构,并授权提交合并。功能提交为
98132ab7a54e5e320e7626dfad555e23c1f7c619,空间引用重构提交为e8843e109cb86d5dcfee6e28859625a22921372d。后续内部重构已完成并提交:用户明确暂不整理元数据继承,现有 metadata / withMetadata 语义及传递代码保持原样。
本轮验证:55 个 Core 关系/坐标架/草图/组原点/快照测试、74 个 App 源码检查/测距/导出测试、6 个 host Chrome 回归通过。浏览器覆盖齿轮拖动及跨整圈联动、隐含 self、草图编辑/撤销/空草图、纯 Frame 测距与图片导出,无页面或 MobX 错误。另补查新增派生来源用例通过。全 workspace 类型检查、packages/App/Web 构建、129 页网站链接与资源检查、格式和 diff 检查通过。测试驱动在 3 GiB / 无 swap 的受限进程组内运行,已运行的 host Chrome 不属于该内存上限。截图
/tmp/code3d-231-reference-measurement.png与/tmp/code3d-231-transmission.png已查看。已本地合并到 main:
4510ccf3db597382d48dff779f1a56e9dc98ec81(core: merge compound gears and spatial reference refactor),合并父提交为38e2d27086686c55ef0d6fe744b89014eb01468f与e8843e109cb86d5dcfee6e28859625a22921372d。合并无冲突,最终树与任务提交完全一致;主区与任务 worktree 均 clean。主区集成验证:重新构建全部 packages,全 workspace 类型检查通过;15 个 Core Frame/metadata/snapshot、9 个 App 坐标架/齿轮/草图检查、3 个 Gears 缩放与 Origin/分层 Tuple/把手联动测试全部通过。既有完整浏览器与网站验收在相同代码树上已通过,因此不重复运行。测试使用 3 GiB、无 swap 及强制终止时限。
交付状态:用户已验收并授权推送。2026-09-23 随主分支
36ba351b363c85f8de3c12e69733a86f5d6bb805正常推送,已核实远端 main 包含最终交付4510ccf3db597382d48dff779f1a56e9dc98ec81,GitHub 已通过closes #231自动关闭;工作状态标签已清理。本次未推送版本 tag 或发包。此次远端 网站构建 已成功:95 页源码核对、326 个 HTML/Markdown 页面的链接/锚点/资源检查和
code3d-wwwartifact 上传通过。部署 job 按既有条件跳过,本次没有线上发布。CI 的 4 个浏览器示例分片、全 workspace 类型/测试、npm 包安装与示例验证、App 构建均通过,网站图片生成仍在运行,最终结果待更新。