What problem does it solve? Porting Windows Media Player visualizations to ProjectM MilkDrop presets requires repeatedly checking that each .milk file parses correctly, renders without errors, and visually matches the original WMP output. This Skill provides a repeatable workflow for syntax validation, headless screenshot rendering, and quantitative image comparison so preset authors can iterate with objective feedback. ## Core Features & Use Cases - Syntax Validation: Run validate_milk.py against any .milk preset to confirm it parses with zero errors and warnings before rendering. - Headless Screenshot Rendering: Use the patched projectM-Test-UI binary with --preset, --screenshot, and --frames flags to capture deterministic BMP output after a fixed number of frames. - Screenshot Comparison: Compare rendered output against original WMP screenshots using SSIM, MSE, and histogram correlation metrics, including batch directory comparison. - Use Case: After writing a new lava.milk preset, validate its syntax, render a 60-frame screenshot, compare it against the original Trilogy III capture, and iterate on warp and decay parameters until SSIM exceeds 0.4. ## Quick Start Validate and render my preset at visualization/presets/TrilogyIII/lava.milk, then compare the screenshot against the original WMP capture and report the SSIM score.