Skip to content

MotionKit v2.13.1

Latest

Choose a tag to compare

@novincode novincode released this 27 Feb 13:10

🐛 Fixes

  • Nested animation modifiers not running — Fixed a critical bug where post-process modifiers (Continuous Rotation, Follow Path, Stroke Trim, Copy Animation) on layers inside nested child frame animations were silently skipped during playback and export. The child timeline pipeline now computes modifier instances and applies them through the same shared pipeline used by the top-level frame.
  • Per-layer Loop Mode in nested animations — Pre-process modifiers (Loop Mode) on individual layers within nested child frames now correctly remap time for property, morph, text, and discrete tracks. Previously only the timeline-level loop mode was respected.

♻️ Refactor

  • Unified modifier interpolation pipeline — Extracted the modifier field interpolation, expression evaluation, and pre-process time remapping logic from ui/store/modifierPlayback.ts into a new shared module (shared/modifierInterpolation.ts). Both the UI and plugin now use the exact same code path, eliminating behavioral drift between preview and render.
  • Consolidated baselineRotation into LayerModifierData — The rotation baseline used by Continuous Rotation is now stored canonically in modifierData.baselineRotation (with backward-compat fallback to the deprecated LayerTimeline.baselineRotation). This keeps modifier-specific data with the modifier system.
  • Modifier cleanup on delete — Removing the last rotation-dependent modifier from a layer now cleans up modifierData.baselineRotation, preventing orphaned data from accumulating.


📦 Installation

  1. Download motionkit.zip from the assets below
  2. Extract the ZIP file
  3. In Figma Desktop → PluginsDevelopmentImport plugin from manifest...
  4. Select the manifest.json file from the extracted folder
  5. Open any Figma file → PluginsDevelopmentMotionKit

Note: MotionKit requires Figma Desktop app for development mode.