# Nightclub Arcadia — git attributes
#
# Two jobs: make Unity's YAML files mergeable, and keep line endings from
# becoming a source of phantom diffs.

# ---------------------------------------------------------------------------
# Unity YAML — text, LF, and merged with UnityYAMLMerge
# ---------------------------------------------------------------------------
# The merge driver needs a one-time setup per machine; see §"Merge driver" in
# CLAUDE.md. Without it git falls back to a normal text merge, which for scenes
# and prefabs means conflicts that are painful but not silently wrong.
*.unity            text eol=lf merge=unityyamlmerge
*.prefab           text eol=lf merge=unityyamlmerge
*.asset            text eol=lf merge=unityyamlmerge
*.mat              text eol=lf merge=unityyamlmerge
*.anim             text eol=lf merge=unityyamlmerge
*.controller       text eol=lf merge=unityyamlmerge
*.overrideController text eol=lf merge=unityyamlmerge
*.physicMaterial   text eol=lf merge=unityyamlmerge
*.physicsMaterial2D text eol=lf merge=unityyamlmerge
*.playable         text eol=lf merge=unityyamlmerge
*.mask             text eol=lf merge=unityyamlmerge
*.brush            text eol=lf merge=unityyamlmerge
*.flare            text eol=lf merge=unityyamlmerge
*.lighting         text eol=lf merge=unityyamlmerge
*.terrainlayer     text eol=lf merge=unityyamlmerge
*.signal           text eol=lf merge=unityyamlmerge
*.guiskin          text eol=lf merge=unityyamlmerge
*.fontsettings     text eol=lf merge=unityyamlmerge
*.meta             text eol=lf

# ---------------------------------------------------------------------------
# Source, config and prose
# ---------------------------------------------------------------------------
*.cs               text eol=lf diff=csharp
*.yarn             text eol=lf
*.yarnproject      text eol=lf
*.asmdef           text eol=lf
*.asmref           text eol=lf
*.inputactions     text eol=lf
*.shader           text eol=lf
*.compute          text eol=lf
*.cginc            text eol=lf
*.hlsl             text eol=lf
*.shadergraph      text eol=lf
*.json             text eol=lf
*.md               text eol=lf
*.txt              text eol=lf
*.py               text eol=lf
*.sh               text eol=lf
*.csproj           text eol=lf
*.xml              text eol=lf
*.gitattributes    text eol=lf
*.gitignore        text eol=lf

# ---------------------------------------------------------------------------
# Binary — never diffed, never line-ending converted
# ---------------------------------------------------------------------------
*.png              binary
*.jpg              binary
*.jpeg             binary
*.gif              binary
*.tga              binary
*.tif              binary
*.tiff             binary
*.psd              binary
*.exr              binary
*.hdr              binary
*.fbx              binary
*.obj              binary
*.blend            binary
*.wav              binary
*.mp3              binary
*.ogg              binary
*.aif              binary
*.ttf              binary
*.otf              binary
*.pdf              binary
*.dll              binary
*.pdb              binary
*.so               binary
*.dylib            binary
*.bundle           binary
*.a                binary
*.unitypackage     binary
*.cubemap          binary

# ---------------------------------------------------------------------------
# Git LFS — deliberately NOT enabled yet
# ---------------------------------------------------------------------------
# git-lfs is installed locally, but this repo pushes to a self-hosted server
# whose LFS support has not been verified, and enabling LFS against a server
# that lacks it breaks pushing. There is also almost nothing to store yet: one
# placeholder PNG plus the StarterAssets meshes.
#
# When real art lands, verify the server first, then add:
#   *.png filter=lfs diff=lfs merge=lfs -text
#   *.fbx filter=lfs diff=lfs merge=lfs -text
#   *.wav filter=lfs diff=lfs merge=lfs -text
# and migrate existing blobs with `git lfs migrate import --include=...`.
# Adding the filter without migrating leaves old blobs outside LFS, which is
# confusing rather than broken.
