target/
# No trailing slash: a worktree commonly symlinks .venv at a shared
# interpreter, and `.venv/` matches directories only — the symlink was
# committable (and got committed twice).
.venv
smoke/
dist/
__pycache__/
*.pyc
.pytest_cache/
.ruff_cache/
node_modules/
*.egg-info/
.web/
**/assets/xy/*.xyf
# Generated render-client bundles (§33): built by `node js/build.mjs` into
# the host-neutral `@curatelabs/xyg` dist, copied into python/xyg/static for
# the Python wheel, never committed. hatch_build.py force-includes both.
packages/xy-client/dist/index.js
packages/xy-client/dist/standalone.js
python/xyg/static/index.js
python/xyg/static/standalone.js
python/xyg/static/xyg-wasm-inline.js
python/xyg/static/wasm-worker.js
python/xyg/static/xyg-wasm.wasm
# Exact-platform Node natives (#52): staged by release packaging next to
# packages/xyg-node-*/index.js; never commit built cdylibs from a checkout.
packages/xyg-node-*/libxyg_core.so
packages/xyg-node-*/libxyg_core.dylib
packages/xyg-node-*/xyg_core.dll
packages/xy-node/_native_lib/
**/assets/external/
# Bazel (cargo-wrapping graph MVP). Keep MODULE.bazel / BUILD.bazel /
# .bazelrc / .bazelversion / .bazelignore tracked; ignore outputs and
# local overrides.
/bazel-*
.bazelrc.user
# Generated demo output (regenerate via demo/*_demo.py, demo/*_demo.mjs)
demo/*_demo.html
demo/*_demo.png
demo/*_probe.png
