# Keil MDK - Build artifacts
*.o
*.d
*.crf
*.axf
*.hex
*.map
*.lnp
*.dep
# Keil UV4 预处理列表文件（"Generate preprocessed source file" 选项产生的构建中间物，勿入库）
*__i
*._ia
*.build_log.htm
*.htm
*.log
*.lst
*.dep
.workbuddy-ai/

# Keil MDK - Build log (regenerated by keil_build.py)
MDK-ARM/build_log.txt
# legacy: download.bat removed 2026-10-10; entry kept so stale leftovers on
# other machines do not surface as untracked files
MDK-ARM/download_log.txt
MDK-ARM/err.txt
MDK-ARM/out.txt
MDK-ARM/ret.txt

# Keil MDK - IDE settings (user-specific)
*.uvoptx
*.uvguix.*

# Keil MDK - Debug config
*.dbgconf

# Keil MDK - RTE auto-generated
MDK-ARM/RTE/

# STM32CubeMX (keep .ioc, it's the project source)
# *.ioc

# CubeMX 重生成时自动产生的旧文件备份（Src/Backup/、Inc/Backup/）——
# 纯本地临时物，内容 = 重生成前的快照；入库只会造成无意义的提交抖动
Src/Backup/
Inc/Backup/

# Visual Studio / IDE
.vs/
.vscode/
*.suo
*.njsproj
*.sln
*.suo
*.user
*.opensdf
*.cache

# Windows
Thumbs.db
ehthumbs.db
*.tmp
*.temp

# Linux / Mac
.DS_Store

# LVGL - Unused directories (only src/ is compiled)
Lib/lvgl/demos/
Lib/lvgl/tests/
Lib/lvgl/docs/
Lib/lvgl/libs/
Lib/lvgl/scripts/
Lib/lvgl/env_support/
Lib/lvgl/examples/
Lib/lvgl/.github/
Lib/lvgl/.devcontainer/
Lib/lvgl/zephyr/
Lib/lvgl/xmls/
Lib/lvgl/configs/

# LVGL - Build system files not needed for Keil
# NOTE: Lib/lvgl/CMakeLists.txt is REQUIRED by the PC simulator (simulator/),
#       so it is tracked despite being a build-system file. Do not re-ignore it.
Lib/lvgl/CMakePresets.json
Lib/lvgl/component.mk
Lib/lvgl/idf_component.yml
Lib/lvgl/Kconfig
Lib/lvgl/library.json
Lib/lvgl/library.properties
Lib/lvgl/lvgl.mk
Lib/lvgl/lvgl.pc.in
Lib/lvgl/SConscript
Lib/lvgl/sconscript

# LVGL PC Simulator - build artifacts
simulator/build/
sim_dbg.log

# 模拟器宿主侧产物（lvgl_sim.exe / 测试脚本在 CWD 生成，不入库）：
# sim_config.ini = net_cfg_load 首启工厂默认落盘；sim_*.log = syslog 后端宿主文件
sim_config.ini
sim_run.log
sim_selftest.log

# LVGL PC Simulator - screenshot outputs (generated, see simulator/i1_to_png.py)
simulator/shot*.png
simulator/shot*.bin
simulator/*.ppm
simulator/__pycache__/

# LVGL PC Simulator - SDL2 SDK (downloaded, see docs/UI 设计/LVGL模拟器部署与使用说明.md §3.1 与 docs/项目部署环境要求.md 第 3 步)
simulator/SDL2/

# Binary / large files
*.bin

# 主机侧单元测试产物（MSVC 中间物；test/host/**/run_unit_test.py 正常写 %TEMP%，
# 但手工直接调 cl.exe 调试时可能落在 CWD。统一兜底忽略）
*.obj
*.exe
*.pdb
*.ilk
# 内容页黄金参考（ref/*.bin）与目检 PNG 均为本地生成物，不入库：
# 首次/换机后先跑 check_content_pages.py --update 生成 ref/*.bin，再跑 regen_ref_png.py 出 PNG
simulator/tests/ref/
# 架构图 PNG 预览（源为 docs/images/*.svg，PNG 本地渲染生成，不入库）
docs/images/*.png
*.pyc

# Python venv (unified env, see AGENTS.md "Python 环境"; rebuild via requirements.txt)
.venv/

# Serial assistant runtime state (daemon log/meta, local runtime artifacts)
.dsh/skills/serial-assistant/scripts/state/

# 记忆工具（Mnemon）本地状态：项目文档索引 documents/ + 运行时记忆
# runtime/MEMORY.md、USER.md、memories.json。**只留本机、不进版本库**
# （2026-10-11 定）：记忆是按机器/按人累积的私有状态，入库会让每次记忆
# 写入都变成提交抖动，还可能带出本机绝对路径与个人偏好。
.mnemon/

# CI 运行时产物（.gitea/workflows/ci.yml 的 S3 步骤在 runner 工作区落盘的日志；
# 零依赖存档方案——落在工作区目录而非上传 artifact，故必须忽略以免误提交）
ci-artifacts/
