Skip to content

v1.4.0 - Frame Slider, Easing Previews, and Stability Fixes

Latest

Choose a tag to compare

@timlinux timlinux released this 09 Mar 01:06

🎬 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.json for 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.

🙏 Credits

Made with 💗 by Kartoza | Donate | GitHub