# Binary input assets (per README guideline)
# Audio
*.mp3
*.wav
*.flac
*.aac
*.ogg
*.wma
*.m4a

# Images
*.png
*.jpg
*.jpeg
*.gif
*.webp
*.svg
*.bmp
*.ico

# Fonts
*.ttf
*.otf
*.woff
*.woff2

# Material video clips
*.mp4
*.mov
*.avi
*.mkv
*.webm

# Video output (Remotion out/ + any rendered videos)
node_modules
dist
out
.env

# Python (helper scripts)
__pycache__/
*.py[cod]
.venv/

# Package lock — deliberately NOT tracked.
# Every dependency in package.json is pinned to an exact version (no ^ or ~), so
# a lockfile has no floating ranges to guard against. What it would add instead is
# trouble across machines: the lock captures the resolved tree including
# platform-specific optional binaries (e.g. @rollup/rollup-linux-x64-gnu), so a
# Linux-generated lock is wrong on Windows and vice versa, and `npm ci` refuses
# outright when the lock and manifest disagree. Revisit this if a dependency is
# ever loosened to a range or picks up meaningful transitive drift.
package-lock.json
