Teardown 是做什么的?
你将根据真实数据,逐部件重建一台真实机器,从一个物理状态驱动它,并围绕它构建一个工程仪表盘。结果必须是一个真实的模拟器,而不是插图。切勿跳过任何步骤,也切勿在未标记的情况下编造任何数字。
输入
- 机器(最好是一个有名称的真实型号:“雪佛兰350小缸体”、“螳螂六足机器人”、“空客A320主起落架”)。
- 一张真实机器的参考照片。如果用户提供了,就使用它。如果没有,请用户提供一张;如果他们无法提供,请查找一张自由许可的照片(维基共享资源,在文件页面上检查许可证),并记录作者、许可证和URL。在建模之前查看照片:比例、部件布局、颜色以及哪些部分会运动。
工作流程(请按顺序执行)
- 识别。 精确定位确切的机器型号和变体。用一行话说明你选择了哪一个。
- 先有真实数据,一个数据块。 在任何几何体之前,研究和编写
DATA块:构建将使用的每个尺寸、质量、比率、速度、角度和时序,每个都带有kind(published、derived、estimated)和一个编号的来源。阅读references/research.md。规则:优先选择制造商的说明书、手册、标准、论文和记录机构;尽可能交叉核对两个来源;从照片上测量得到的数字是estimated;从其他数字计算得到的是derived。在聊天中向用户显示这个块,形式为一个简短的表格,然后才能开始构建。 - 从套件开始。 将
kit/template.html复制到输出文件夹下的<machine>-live.html,并将kit/three.js复制到它旁边。只编辑MACHINE:CSS、MACHINE:DASH和<script id="machine">块。该套件为你提供了舞台、Three.js设置、简单的轨道控制、剖视图、仪表和时钟。阅读references/dashboard.md了解API。 - 根据数字构建部件。 每个网格的维度都来自
N.<key>(数据块)或来自代码中旁边编写的推导。任何有真实对应物的东西都没有幻数。匹配照片的比例和部件形状;使用kit辅助函数(TD.span、挤压形状、TD.glow)。 - 一个物理状态驱动一切。 定义最小的集成状态(曲柄角度、行走距离、时间、阀门位置)。
step()对其进行积分;derive()使用真实运动学从其计算出整个机器(references/kinematics.md):位置、角度、速度、力、压力。pose()仅将派生值复制到网格上。运动部件上不要有Math.sin(time)装饰。 - 围绕同一个状态的仪表盘。 每个读数、图表、条和柱状条都从派生对象
S中读取,而不是来自它自己的定时器。在一个周期内的图表通过调用相同求解器在采样相位计算得出。包括:头号数字、当前相位/行程标签、至少一个与角度或相位相关的图表(带有移动光标)、一个按部件选择器、带有来源的数据块、带有致谢的参考照片以及控制。布局和仪表选择:references/dashboard.md。 - 剖视图。 通过隐藏动作的部件添加裁剪平面剖视图(
TD.cutaway),使空心外壳仅显示壁截面上的盖子颜色,使位于前面的物体变透明,并使隐藏的动作可见(燃烧闪光、油柱、齿轮啮合)。references/cutaway.md。 - 外观。 应用
references/look.md(默认深色科幻风格,可根据要求提供浅色工程变体)。 - 通过渲染静态图像进行自检。 运行
node kit/stills.mjs <abs html> 0.5,2,4 <abs dir>/check-%.png(需要playwright;否则在浏览器工具中打开页面并调用__render)。阅读每个PNG。修复直到:没有控制台错误、机器被框定且清晰可见、剖视图显示内部、仪表在静态图像之间明显不同(脚本会标记相同的仪表盘)、并且deterministic: yes。然后执行references/qa.md。删除检查PNG文件。 - 发布。 运行
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,缩放以适应任何窗口。
- 数据块、来源和照片致谢在页面中可见。
诚实规则
- 切勿将估算的数字呈现为已发布的数字。标记它。
- 如果已发布的数字不一致,选择一个,在注释中显示另一个,并说明情况。
- 如果某个行为被简化为模型(静态载荷、理想气体、无摩擦),在回复中用一行说明。