文档
诊断与排错
从第一条错误开始,区分语法、模型、布局和动画问题。
PhysLoom 宁愿明确拒绝一个不完整模型,也不输出一张看似可信的错误图。诊断信息按编译阶段出现。
先修第一条错误
一行语法错误可能让后续引用都失效。先处理列表中的第一条,再看剩余信息。常见问题包括:
- 标识符拼写不一致,例如定义
load后引用了Load。 - 物理量缺少单位,例如把
mass=2kg写成mass=2。 - 引用了不存在的端口或实体。
- 某个关系缺少求解所需参数。
语法合法不等于模型完整
下面的语句能被解析,但如果 wheel 没有半径,滚动求解仍可能失败:
roll wheel on ramp mode=without_slipping
语法诊断回答“这句话能否读懂”;模型诊断回答“这些事实能否组成定义充分的物理系统”。
布局问题不应改动物理
物体重叠、标签遮挡或画布过窄属于布局问题。先尝试切换画布宽度或图示主题;只有特定构图确实重要时才使用 place。不要为了让线看起来垂直而改变绳路或连接关系。
动画失败
有 drive 并不保证任意模型都能动画。编译器必须找到支持该实体、阶段和参数组合的 motion compiler,并验证生成的 MotionClip。如果静态图正确而动画被拒绝,可以:
- 查看诊断中缺失的参数或不支持边界。
- 删除
drive,确认静态模型本身有效。 - 从案例库选择同领域的已验证例子,逐项比较关系与单位。
不要通过拉长 playback 或增大画布来修复物理诊断;它们只影响表现。
提交可复现问题
保留最短的 .phys 源码、完整诊断文本、浏览器版本和期望行为。分享链接会把源码放进 URL,包含未公开内容时请改用本地项目文件。