Community图像github.com

Teardown

根据真实发布尺寸,构建一个真实的机器(发动机、机器人、连杆、变速箱、起落架、涡轮机、挖掘机、手表等任何机构)的实时物理驱动3D模拟器,其仪表盘上的每个仪表都从相同的模拟状态计算得出,并带有裁剪平面剖视图。

Teardown 是什么?

该技能专注于根据真实发布尺寸,为真实机器构建一个实时的、物理驱动的3D模拟器。它区别于简单的视觉动画,强调从单一物理状态驱动整个模拟,并提供一个工程仪表盘,该仪表盘的所有读数都基于相同的模拟状态计算得出。该技能支持构建各种机构,如发动机、机器人、变速箱、起落架等,尤其适合用户明确指定真实型号或要求展示工作原理的场景。工作流程严格遵循从识别机器、收集真实数据(并标注来源)、使用模板构建、实现物理集成和运动学求解,到添加裁剪平面剖视图和最终检查的一系列步骤。输出是一个独立的HTML文件,其中包含Three.js库,可离线运行,并确保模拟的确定性,以便进行精确的工程分析和演示。

兼容平台~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/Felixo-gif/teardown/tree/HEAD/skills/teardown

Installed? Explore more 图像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Teardown 是做什么的?

你将根据真实数据,逐部件重建一台真实机器,从一个物理状态驱动它,并围绕它构建一个工程仪表盘。结果必须是一个真实的模拟器,而不是插图。切勿跳过任何步骤,也切勿在未标记的情况下编造任何数字。

输入

  • 机器(最好是一个有名称的真实型号:“雪佛兰350小缸体”、“螳螂六足机器人”、“空客A320主起落架”)。
  • 一张真实机器的参考照片。如果用户提供了,就使用它。如果没有,请用户提供一张;如果他们无法提供,请查找一张自由许可的照片(维基共享资源,在文件页面上检查许可证),并记录作者、许可证和URL。在建模之前查看照片:比例、部件布局、颜色以及哪些部分会运动。

工作流程(请按顺序执行)

  1. 识别。 精确定位确切的机器型号和变体。用一行话说明你选择了哪一个。
  2. 先有真实数据,一个数据块。 在任何几何体之前,研究和编写DATA块:构建将使用的每个尺寸、质量、比率、速度、角度和时序,每个都带有kind(published、derived、estimated)和一个编号的来源。阅读references/research.md。规则:优先选择制造商的说明书、手册、标准、论文和记录机构;尽可能交叉核对两个来源;从照片上测量得到的数字是estimated;从其他数字计算得到的是derived。在聊天中向用户显示这个块,形式为一个简短的表格,然后才能开始构建。
  3. 从套件开始。 将kit/template.html复制到输出文件夹下的<machine>-live.html,并将kit/three.js复制到它旁边。只编辑MACHINE:CSS、MACHINE:DASH和<script id="machine">块。该套件为你提供了舞台、Three.js设置、简单的轨道控制、剖视图、仪表和时钟。阅读references/dashboard.md了解API。
  4. 根据数字构建部件。 每个网格的维度都来自N.<key>(数据块)或来自代码中旁边编写的推导。任何有真实对应物的东西都没有幻数。匹配照片的比例和部件形状;使用kit辅助函数(TD.span、挤压形状、TD.glow)。
  5. 一个物理状态驱动一切。 定义最小的集成状态(曲柄角度、行走距离、时间、阀门位置)。step()对其进行积分;derive()使用真实运动学从其计算出整个机器(references/kinematics.md):位置、角度、速度、力、压力。pose()仅将派生值复制到网格上。运动部件上不要有Math.sin(time)装饰。
  6. 围绕同一个状态的仪表盘。 每个读数、图表、条和柱状条都从派生对象S中读取,而不是来自它自己的定时器。在一个周期内的图表通过调用相同求解器在采样相位计算得出。包括:头号数字、当前相位/行程标签、至少一个与角度或相位相关的图表(带有移动光标)、一个按部件选择器、带有来源的数据块、带有致谢的参考照片以及控制。布局和仪表选择:references/dashboard.md。
  7. 剖视图。 通过隐藏动作的部件添加裁剪平面剖视图(TD.cutaway),使空心外壳仅显示壁截面上的盖子颜色,使位于前面的物体变透明,并使隐藏的动作可见(燃烧闪光、油柱、齿轮啮合)。references/cutaway.md。
  8. 外观。 应用references/look.md(默认深色科幻风格,可根据要求提供浅色工程变体)。
  9. 通过渲染静态图像进行自检。 运行node kit/stills.mjs <abs html> 0.5,2,4 <abs dir>/check-%.png(需要playwright;否则在浏览器工具中打开页面并调用__render)。阅读每个PNG。修复直到:没有控制台错误、机器被框定且清晰可见、剖视图显示内部、仪表在静态图像之间明显不同(脚本会标记相同的仪表盘)、并且deterministic: yes。然后执行references/qa.md。删除检查PNG文件。
  10. 发布。 运行node kit/inline.mjs <machine>-live.html将Three.js和图像嵌入到<machine>-live.standalone.html成为一个单一的离线文件。回复:文件、数据块(数字+来源)、照片致谢、以及哪些是估算的而不是发布的。

输出文件的硬性契约

  • 从磁盘打开时无需网络;Three.js是一个暴露window.THREE的经典脚本(没有ES模块,没有CDN)。
  • window.__render(t):t以秒为单位,确定性,无挂钟时间;它将控制重置为默认值,从0开始以固定步长重新积分状态并绘制一帧。套件的TD.run为你完成此操作;不要绕过它。
  • 正常打开时使用requestAnimationFrame实时播放;控制改变状态,每个仪表都跟随。
  • 桌面舞台1600x1000,缩放以适应任何窗口。
  • 数据块、来源和照片致谢在页面中可见。

诚实规则

  • 切勿将估算的数字呈现为已发布的数字。标记它。
  • 如果已发布的数字不一致,选择一个,在注释中显示另一个,并说明情况。
  • 如果某个行为被简化为模型(静态载荷、理想气体、无摩擦),在回复中用一行说明。

相关技能