文档

诊断与排错

从第一条错误开始,区分语法、模型、布局和动画问题。

PhysLoom 宁愿明确拒绝一个不完整模型,也不输出一张看似可信的错误图。诊断信息按编译阶段出现。

先修第一条错误

一行语法错误可能让后续引用都失效。先处理列表中的第一条,再看剩余信息。常见问题包括:

  • 标识符拼写不一致,例如定义 load 后引用了 Load
  • 物理量缺少单位,例如把 mass=2kg 写成 mass=2
  • 引用了不存在的端口或实体。
  • 某个关系缺少求解所需参数。

语法合法不等于模型完整

下面的语句能被解析,但如果 wheel 没有半径,滚动求解仍可能失败:

roll wheel on ramp mode=without_slipping

语法诊断回答“这句话能否读懂”;模型诊断回答“这些事实能否组成定义充分的物理系统”。

布局问题不应改动物理

物体重叠、标签遮挡或画布过窄属于布局问题。先尝试切换画布宽度或图示主题;只有特定构图确实重要时才使用 place。不要为了让线看起来垂直而改变绳路或连接关系。

动画失败

drive 并不保证任意模型都能动画。编译器必须找到支持该实体、阶段和参数组合的 motion compiler,并验证生成的 MotionClip。如果静态图正确而动画被拒绝,可以:

  1. 查看诊断中缺失的参数或不支持边界。
  2. 删除 drive,确认静态模型本身有效。
  3. 从案例库选择同领域的已验证例子,逐项比较关系与单位。

不要通过拉长 playback 或增大画布来修复物理诊断;它们只影响表现。

提交可复现问题

保留最短的 .phys 源码、完整诊断文本、浏览器版本和期望行为。分享链接会把源码放进 URL,包含未公开内容时请改用本地项目文件。