# MotionLab A small native macOS app: camera in, a chain of Metal shader effects, out to a window, a recording or a virtual camera. - **Adding or changing an effect:** read `EFFECTS.md` first. An effect is one file in `effects/`; the Swift code does not need to change. - **Build:** `swift build -c release` (Command Line Tools are enough, no Xcode). - **Check effects without a camera or window:** `.build/release/MotionLab --check` - **Run:** `.build/release/MotionLab` (options are listed at the top of `Sources/MotionLab/main.swift`). Layout: - `Sources/MotionLab/` the app. `Shaders.swift` holds the wrapper every effect is compiled into; `Analysis.swift` computes the motion inputs; `Renderer.swift` runs the chain. - `effects/` one `.metal` file per effect. - `captures/` screenshots and recordings (not in git).