# ============================================================
# dynamics 项目 .gitignore
# ============================================================

# ── Python ──────────────────────────────────────────────────
__pycache__/
*.py[cod]
*.pyo
*.pyd
.Python
*.egg-info/
dist/
build/
*.egg
pip-wheel-metadata/
.env
.venv
venv/
ENV/

# ── C / C++ 编译产物 ─────────────────────────────────────────
# Makefile 构建输出（engines/c/build/）
engines/c/build/
engines/cpp/build/

# CMake 构建目录（根目录或自定义 build 目录）
CMakeCache.txt
CMakeFiles/
cmake_install.cmake
Makefile.cmake
CTestTestfile.cmake
_CPack_Packages/
*.cmake.bak
build/
build_*/

# 目标文件 / 静态库 / 共享库
*.o
*.obj
*.a
*.lib
*.so
*.so.*
*.dylib
*.dll

# 可执行文件（保留源码，排除编译出的二进制）
# 注意：Windows 下 .exe 后缀的可执行文件
*.exe
# 但 engines/c/Makefile 里指定了 build/ 目录，已由上面覆盖

# 运行时生成的引擎参数文件（每次运行都会覆盖）
engines/*/param.json

# Fortran 模块文件
*.mod
*.smod

# ── examples 输出目录 ────────────────────────────────────────
# 所有案例的 output/ 目录下均为运行时产物，不提交
examples/*/output/

# 如果希望保留 output/ 目录结构（占位用），
# 可在各 output/ 目录中放一个 .gitkeep 文件，
# 并在此处改为只忽略具体文件类型：
# examples/*/output/*.txt
# examples/*/output/*.log
# examples/*/output/*.png
# examples/*/output/*.js
# examples/*/output/*.json

# ── 运行时日志与调试文件 ─────────────────────────────────────
*.log
draw_debug.log

# ── 根目录运行时输出 ─────────────────────────────────────────
# output/ 目录（根目录下的全局输出）
output/

# ── 临时 / 系统文件 ──────────────────────────────────────────
.DS_Store
Thumbs.db
desktop.ini
*.tmp
*.bak
*.swp
*~

# ── IDE / 编辑器 ─────────────────────────────────────────────
.vscode/
.idea/
*.sublime-project
*.sublime-workspace

# ── WorkBuddy 工作记忆（本地使用，不提交）───────────────────
.workbuddy/

# ── 发布压缩包 ───────────────────────────────────────────────
*.zip
*.tar.gz
*.tar.bz2
