## Fixed Issues
### High Severity
- Fixed incorrect video channel detection with default frame_dim_idx=-1
- Now uses heuristics to detect video tensor format from shape
- Handles both B,C,F,H,W and B,F,C,H,W formats correctly
### Medium Severity
- Fixed type mismatch between sampler and generator interface
- Generator args now wrap dict in ShaderParams for attribute-style access
- Fixes AttributeError when generators use params.shape_type etc.
- Fixed duplicate get_shader_generator implementations
- __init__.py now returns static generate method (consistent with shader_noise_ksampler.py)
- Both versions now have same behavior
### Low Severity
- Fixed missing exception handling for non-dict JSON files
- load_shader_params now validates JSON is a dict before use
- Catches ValueError, AttributeError, TypeError in addition to existing exceptions