- CMakeLists: wrap ggml-vulkan links in TARGET_NAME_IF_EXISTS genexes and gate
KIMODO_HAVE_GGML_VULKAN defines on the target existing, so
-DKIMODO_ENABLE_VULKAN=OFF builds on macOS (Metal/Accelerate via ggml defaults)
- llm_text_encoder: guard the Vulkan include/init; without Vulkan, pick any
registered GPU device (Metal on macOS) unless KIMODO_BACKEND=cpu
- ggml_weights: same registry fallback for the motion denoiser
5s clip @100 DDIM steps: 265s (CPU) -> 30s (M5 Metal) -> 16s (M3 Ultra warm).
No NaNs; root trajectory within ~5cm of the CPU reference over a 3.7m walk.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>