# Build output
/build/
/out/
**/build/
**/cmake-build-*/
CMakeUserPresets.json

# vcpkg
/vcpkg_installed/
**/vcpkg_installed/
/vcpkg/
# vcpkg binary cache (CI sets VCPKG_DEFAULT_BINARY_CACHE here; may appear locally too)
/.vcpkg-cache/

# CMake compile database — lives in the build dir, but tooling often drops a copy
# or symlink at the repo root.
/compile_commands.json

# PDFium from-source build (depot_tools / GN / Ninja)
/third_party/pdfium/depot_tools/
/third_party/pdfium/checkout/
/third_party/pdfium/install/
/third_party/pdfium/.gclient*

# Skia from-source build (depot_tools / GN / Ninja)
/third_party/skia/depot_tools/
/third_party/skia/checkout/
/third_party/skia/install/

# IDE / editor
/.vs/
/.vscode/
!/.vscode/extensions.json
!/.vscode/settings.shared.json
/.idea/
*.user
*.suo

# OS
Thumbs.db
.DS_Store
desktop.ini

# Office lock files (the "~$" prefix Word/Excel/PowerPoint write while a doc is open)
~$*

# Python (gateway)
__pycache__/
*.pyc
.venv/
/gateway/.venv/

# Node (frontend)
node_modules/
/frontend/dist/
/frontend/.vite/

# WASM artifacts

*.wasm.map

# Logs / misc
*.log

# Compiled Python bindings (binary build outputs)
gateway/*.pyd
gateway/*.so
gateway/*.dylib

# Corpora — keep convert metadata; ignore large samples / archives
/corpus/*
!/corpus/convert/
/corpus/convert/**
!/corpus/convert/real/
!/corpus/convert/public/
!/corpus/convert/third_party/
/corpus/convert/real/**
!/corpus/convert/real/pack.json
!/corpus/convert/real/*.md
/corpus/convert/public/**
!/corpus/convert/public/README.md
!/corpus/convert/public/pack_public.json
!/corpus/convert/public/manifests/
!/corpus/convert/public/manifests/**
!/corpus/convert/public/reports/
!/corpus/convert/public/reports/**/*.md
!/corpus/convert/public/reports/**/*.json
/corpus/convert/public/samples/
/corpus/convert/third_party/**
!/corpus/convert/third_party/NOTICE
!/corpus/convert/third_party/LICENSE_CHECKLIST.md
!/corpus/convert/third_party/checksums.sha256
corpus/fuzz/
# Layout ML weights (download via scripts/convert/fetch_layout_onnx.py)
/gateway/models/layout/**/*.onnx
/gateway/models/layout/**/*.pdmodel
/gateway/models/layout/**/*.pdiparams
!/gateway/models/layout/**/README.md
!/gateway/models/layout/**/.gitkeep
# Arabic OCR rec weights (download via scripts/convert/fetch_ocr_arabic_onnx.py)
/gateway/models/ocr/**/*.onnx
!/gateway/models/ocr/**/README.md
!/gateway/models/ocr/**/.gitkeep
!/gateway/models/ocr/**/*.txt
# DocLayNet / Pub* lab archives
**/DocLayNet*.zip
**/PubLayNet*
**/PubTabNet*
# Large-corpus regression baseline (derived from the gitignored corpus above)
tests/regression/baseline-large/
# Fuzzer working artifacts (crashes, leaks, coverage)
engine/fuzz/artifacts/
crash-*
leak-*
timeout-*

PDF Editor Timeline.xlsx
# Operator convert score log (Phase 0); never commit customer DOCX
convert-scores.jsonl
**/convert-scores.jsonl

# Local environment config / secrets
/third_party/pdfium-wasm/

# AI Large Model Weights & Vector Indexes (never commit binary model weights into Git)
models/**/*.onnx
models/**/*.bin
models/**/*.pt
models/**/*.safetensors
models/**/*.index
!models/**/.gitkeep
.github
