Skip to content

Comments

Adding Animation Framework Integration#68

Merged
mdwigley merged 1 commit intoenterlucent:mainfrom
mdwigley:issue#67-mdwigley
Feb 21, 2026
Merged

Adding Animation Framework Integration#68
mdwigley merged 1 commit intoenterlucent:mainfrom
mdwigley:issue#67-mdwigley

Conversation

@mdwigley
Copy link
Member

Description

This pull request introduces a complete animation subsystem for UI controls. It includes core animation types (AnimationHandle, AnimationBase) and animation nodes (CallbackAnimation, GroupAnimation, SequenceAnimation, WaitAnimation, PropertyAnimation). The AnimationBuilder and IAnimationBuilder interface provide a structured way to create property animations with easing and looping.

The system is integrated into Window and UserWindow classes, enabling animations to be enqueued, updated automatically each tick, and cancelled. Default interpolators for int, float, and SDL.Color are provided. Photon utility methods for hit testing, layout measurement, and rotated rendering were added to support animation workflows.

Related Issue

Motivation and Context

UI Developers require a declarative and programmatic way to define and control animations for UI controls. This change allows smooth property transitions, grouping, sequencing, looping, and callback support without manual rendering adjustments, enhancing the overall expressiveness and responsiveness of the UI.

How Has This Been Tested?

  • Ensure project compiles successfully.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Asset change (adds or updates icons, templates, or other assets)
  • Documentation change (adds or updates documentation)
  • Plugin change (adds or updates a plugin)

Checklist:

  • I have read the CONTRIBUTING document.
  • My change requires a change to the core logic.
    • I have linked the project issue above.
  • My change requires a change to the assets.
    • I have linked the asset issue above.
  • My change requires a change to the documentation.
    • I have linked the documentation issue above.
  • My change requires a change to a plugin.
    • I have linked the plugin issue above.

@mdwigley mdwigley added this to the Core Controls Library milestone Feb 21, 2026
@mdwigley mdwigley self-assigned this Feb 21, 2026
@mdwigley mdwigley added the approved Change issue has been accepted for implementation label Feb 21, 2026
@mdwigley mdwigley moved this to In review in PhotonUI Timeline Feb 21, 2026
@mdwigley mdwigley merged commit 5aaf1e7 into enterlucent:main Feb 21, 2026
3 checks passed
@github-project-automation github-project-automation bot moved this from In review to Done in PhotonUI Timeline Feb 21, 2026
@mdwigley mdwigley deleted the issue#67-mdwigley branch February 21, 2026 15:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Change issue has been accepted for implementation

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Animation Framework Integration

1 participant