# 本机现场配置（含 IP / 序列号；从 site.example.yaml 复制）
config/site.yaml

# 模型权重二进制 —— 一律不进 git（体积大、每台机器重新转换即可）
#   用通配模式而不是逐个目录列举，否则新增一个分组就会有人误提交二进制。
#   注意：*.labels.yaml 是**文本标签配置**，不属于二进制，应该进 git。
models/**/*.pt
models/**/*.pth
models/**/*.onnx
models/**/*.engine
models/**/*.trt
models/**/*.plan
models/**/*.tflite

# staging = 待转换的临时区，内容不进 git（含转换后归档的 done/）
#   但 .gitkeep 和说明文档要留着，否则新克隆的仓库里这个目录不存在/看不懂。
models/staging/**
!models/staging/.gitkeep
!models/staging/README.md

# 编译产物
build/
install/
log/
# 仿真的构建产物 —— 与真机的 build/ install/ 隔离（见 scripts/build_sim.sh）
#   两套产物目录并存是刻意的：工作区只有一份源码，两个环境的依赖路径不同，
#   共用 install/ 会互相覆盖。
build_sim/
install_sim/
log_sim/
# 真机各终端（T1 栈 / T2 相机 / T3 触觉 / T4 夹爪）的日志与截图。
#   与 log_sim/ 对称：日志是运行产物，不进 git；跑完要留档的证据（如相机截图）
#   单独放到 docs/ 或 PR 里，不要指望从 log_real/ 里找历史。
log_real/
.colcon/

# Python
*.pyc
__pycache__/
*.egg-info/
.pytest_cache/

# Editor / OS
.vscode/
.idea/
.DS_Store
*.swp

# ROS bags
*.bag
*.db3

# Hand-eye backups
*.bak
*.bak.*

# 可选离线 RDK / Isaac（体积大）
thirdparty/
vendor/


# 手眼标定的临时产物（采点图、taught_poses.txt、captures.json）
handeye/tmp/*
!handeye/tmp/.gitkeep

# 仿真手眼真值：**生成物**，不是标定结果 —— 由 scripts/gen_sim_handeye.py 从
# URDF/TF 真值导出，run_gauge_assembly.sh --sim 每次自动重生成。
# 不跟踪的理由：内容里有一行生成时间，每跑一次就脏一次仓库，让人分不清
# "这次改动是代码改的还是只是跑了一遍"。真机标定结果（89_/91_*.yaml）**要跟踪**，
# 那是需要留档的实测数据，不是推导出来的。
handeye/results/sim_*.yaml
