# Python
__pycache__/
*.pyc

# 构建产物（可用 python -m arm.* 重新生成）
out/

# 临时调试脚本与截图
scratch/

# 单文件查看器优化前的完整备份（带版本标识，勿随手删）
backups/

# 重构前的源码快照与脚本自动备份（git 历史里已有旧版本，不重复入库）
.bak/
*.bak_*

# 编辑器 / 系统文件
Thumbs.db
Desktop.ini

# 构建产物：由 python -m arm.* 重新生成，体积大（mesh 14MB + 单文件查看器 16MB×3），
# 过去被跟踪导致仓库背着 47MB 生成物；取消跟踪后重建不再脏 git status。
# 旧 web/ 单文件产物目录（已删，源码在 webapp/）
web/
/机器人手臂3D查看器.html
webapp/data/
webapp/generated/
dist/
data/cache/

# 关卡截图落点 = 纯生成物：每次 `python -m tests.verify --shots` 由 shot.py 重写
# （其中有 13 张在同一份构建下也不逐字节复现，抗锯齿/量化噪声）。
# 比对的权威物在 tests/baselines/ —— shots_stable.md5 是 92 张的 md5 名单，
# flaky/ 是那 13 张的参考像素 + thresholds.json 阈值；PNG 本身不需要入库。
docs/shots/

# 其它编辑器的本地配置/会话残留（不是工程产物，也不该跟着版本走）
.trae/
.workbuddy/
.zcode/
.zcodeignore

# 定位图/ 只是"给用户看的核验图落点"，一次性、会反复清空；
# 关卡比对的权威物是 tests/baselines/（md5 名单 + flaky 参考像素），不在这里。
定位图/
