# ---- 编译产物 ----
# 三种构建目标都会在源码树旁边丢下 exe / obj，不该进版本库：
#   build.bat      -> shortest.exe
#   build_gui.bat  -> gui.exe
#   luo/fetch_data -> fetch_data.exe
*.exe
*.o
*.obj
*.a
*.lib
*.dll
*.pdb
*.ilk
*.exp
*.res

# ---- CMake 构建目录 ----
# qtview/build 会把整个 CMake 缓存 + 全部 .obj 塞进来（约 15MB），
# 这些都能由 CMakeLists.txt 重新生成，不应提交。
qtview/build/
build/
cmake-build-*/
CMakeCache.txt
CMakeFiles/
cmake_install.cmake
*_autogen/
# 只忽略 CMake 生成的 Makefile（qtview 下那个），不写裸 "Makefile"
# 以免将来手写的构建脚本被误排除
qtview/Makefile

# ---- IDE / 编辑器 ----
.vscode/
.idea/
*.swp
*.swo
*~
.vs/

# ---- 操作系统 ----
Thumbs.db
Desktop.ini
.DS_Store

# ---- 运行期临时文件 ----
# 诊断/自检开关（SP_GL_DEBUG / SP_AUTO_*）产生的一次性输出
gl_debug.txt
tour_test.txt
algo_cmp.txt
cmpanim.txt
solo_test.txt
shot*.png
cmp_stdout.txt
cmp_stderr.txt

# ---- 数据抓取缓存 ----
# fetch_nyc.py 的分瓦片缓存，可重新下载
data/_cache_nyc/
tools/nyc_fetch.log

# ---- 注意：以下内容要保留 ----
# data/*.csv 是项目的核心数据集（内置城市路网），必须提交
# tools/fetch_nyc.py 是数据抓取脚本，必须提交
