🎬 Animation Workbench v1.4.0
This release brings significant usability improvements to the Animation Workbench plugin, with a focus on better frame preview controls, enhanced easing visualization, and critical stability fixes.
✨ New Features
Frame Preview Slider
- New slider control next to the frame spinbox for easy scrubbing through animation frames
- Live synchronization between slider and spinbox values
- Smart preview rendering - frames render only when slider is released, not during drag
- Dynamic frame count displayed after the slider, calculated correctly for all animation modes (fixed extent, planar, sphere)
Enhanced Easing Preview
- Theme-aware colors - adapts to dark/light QGIS themes with Kartoza branding
- Smoother animations - bouncing dot indicator shows easing curve behavior
- Combined preview & chart view - single widget with animated visualization
Improved Dependency Handling
- Graceful fallback UI when multimedia libraries (PyQt5 Multimedia) are unavailable
- Better error messages for missing ffmpeg/ImageMagick dependencies
- Clearer status indicators for dependency availability
🐛 Bug Fixes
Critical Stability Fixes
- Fixed SIGSEGV crash in preview rendering caused by
functools.partial()callback issues - Fixed dialog freeze caused by event pile-up in easing animation timer
- Signal cleanup prevents callback accumulation when cancelling preview tasks
- Position caching reduces pyqtgraph overhead in easing dot updates
Code Quality
- Fixed all flake8 linting errors
- Resolved security issues (shell injection vulnerability)
- Added proper noqa comments for intentional module re-exports
🛠️ Developer Experience
Nix Flake Improvements
- Auto-generated
pyrightconfig.jsonfor LSP support - Multiple QGIS versions available: stable, LTR, and master
- Convenience commands:
nix run .#test,nix run .#format,nix run .#lint
Neovim Integration
- Project-specific keybindings under
<leader>p - DAP debugpy configuration for QGIS debugging
- LSP support with proper QGIS Python paths
Debugging Tools
- Crash handler options (gdb/catchsegv) in start scripts
- Improved logging and error reporting
📦 Installation
Download the plugin zip from the release assets or install via QGIS Plugin Manager.