Implement Multi-Stage Interpolation Chains with Blend Modes for Kivy #9180
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #9179 – Implements Multi-Stage Interpolation Chains with Blend Modes
This PR extends Kivy’s Animation system by adding support for multi-stage interpolation chains with configurable blend modes. Previously, Animation only supported single transition functions, which limited complex motion sequences.
Key Changes:
New Methods:
chain_interpolators(interpolators, weights=None, blend_mode='linear')→ creates a callable for multiple transitions.get_chain_value(progress, interpolators, blend_mode='linear')→ evaluates the chain at any progress.validate_chain(interpolators)→ validates chain structure, detecting gaps, overlaps, and invalid transitions.Blend Modes Implemented: linear, weighted, multiplicative, overlay, screen.
Features:
Behavior:
ValueError; overlaps use the first matching range.Testing:
Added unit tests for:
[0,1]Documentation:
Maintainer Merge Checklist:
Component: Animationlabel.api-deprecationorapi-breaklabel.release-highlightlabel to be highlighted in release notes.