# Model weights live in LFS. # # `models/**/*.onnx` is tens of MB of binary that changes wholesale # when it changes at all. In ordinary git objects every future revision of it # would be stored in full, in every clone, forever — and the one thing nobody # can do with it is a useful diff. # # Consequence worth knowing before it bites: a clone without git-lfs gets a # ~130-byte pointer file where the model should be. `dr-segment`'s build script # detects exactly that and fails with an instruction rather than embedding the # pointer and failing at inference time. *.onnx filter=lfs diff=lfs merge=lfs -text # Test photographs live in LFS too, and are fetched only by the tests that # need them. # # `fixtures/**` holds real camera files — a twelve-frame panorama set is # 325 MB — and CI's `git lfs pull` excludes the directory, so a checkout # carries pointers there until a merge test asks for the frames. Same # reasoning as the models, with the opposite default: the model is not # optional and the fixtures are. fixtures/** filter=lfs diff=lfs merge=lfs -text # The manual's pictures live in LFS for the same reason the models do: a # screenshot or a GIF changes wholesale when the interface it shows changes, # and every re-recording would otherwise stay in every clone for good. The # desktop and benchmark legs exclude the directory, since nothing they build # or test reads it; the Android and Windows legs fetch it, because the APK # and the installer carry the manual (docs/manual/index.html) with its # pictures, and their packagers refuse a pointer. docs/manual/media/** filter=lfs diff=lfs merge=lfs -text