Skip to content

Commit 42d28cb

Browse files
committed
feat: Add quick testing system with low-res configs and automation script
OVERVIEW: Created comprehensive quick testing system for validating full pipeline without long render times. Enables rapid iteration and troubleshooting. NEW CONFIGS: 1. config_quick_test.yaml - 360p, 24fps, medium quality (~5-10 min) - Resolution: 640x360 (good visibility, 1/9th pixels of 1080p) - Mode: 2D Grease Pencil (faster rendering) - Effects: Minimal (speed focus) - Quality: Medium (good for testing) - Best for: General testing and validation 2. config_ultra_fast.yaml - 180p, 12fps, low quality (~2-3 min) - Resolution: 320x180 (fastest possible) - FPS: 12 (half normal frame rate) - Samples: 16 (minimum quality) - Quality: Low (grainy but fast) - Best for: Quick verification pipeline works NEW SCRIPT: quick_test.py - Automated full pipeline test runner - Checks all prerequisites before running - Optionally auto-generates lyrics with Whisper (--auto-lyrics) - Runs all 3 phases sequentially - Reports timing for each phase - Shows final output location and file size - Graceful error handling with helpful messages - Generous timeouts (30 min for rendering phase) FEATURES: - Command-line options: --config: Use custom config (default: config_quick_test.yaml) --auto-lyrics: Auto-generate lyrics before rendering --no-lyrics: Skip lyrics display --debug: Enable debug visualization markers - Progress tracking with timing - Colored output for success/error/warnings - Verifies files exist before starting - Shows last 5 lines of each command output - Total pipeline timing report DOCUMENTATION: TESTING_GUIDE.md - Comprehensive testing documentation: - Quick reference table (configs, timings, file sizes) - Method 1: Automated testing with quick_test.py - Method 2: Manual step-by-step - Configuration comparison and features - Timing breakdown for 30-second songs - Performance optimization tips - Testing checklist (visual, animation, audio, timing) - Troubleshooting guide - Complete workflow examples - Expected file sizes by resolution TIMING ESTIMATES (30-second song): Ultra-Fast (320x180): Phase 1: 10s Phase 2: 1-2 min Phase 3: 20s Total: 2-3 minutes Quick Test (640x360): Phase 1: 10s Phase 2: 4-8 min Phase 3: 30s Total: 5-10 minutes Production (1920x1080): Phase 1: 10s Phase 2: 25-50 min Phase 3: 1-2 min Total: 30-60 minutes SPEED OPTIMIZATIONS: - 2D mode instead of 3D (~2x faster) - Lower resolution (1/9th pixels = ~9x faster) - Reduced sample counts (32 vs 128) - Disabled effects (fog, particles, HDRI) - EEVEE engine (much faster than CYCLES) - Lower FPS option (12 vs 24 for ultra-fast) USAGE EXAMPLES: # Quickest automated test python quick_test.py --auto-lyrics # Ultra-fast manual test python main.py --config config_ultra_fast.yaml # Good quality test python main.py --config config_quick_test.yaml DEVELOPMENT WORKFLOW: 1. Make code/config changes 2. Run quick_test.py --auto-lyrics 3. Verify output in 5-10 minutes 4. Iterate as needed 5. Final render with production config This dramatically improves development speed and testing efficiency, reducing iteration time from 30-60 minutes to 5-10 minutes.
1 parent 97592cf commit 42d28cb

7 files changed

Lines changed: 877 additions & 0 deletions

0 commit comments

Comments
 (0)