Skip to content

Add animation blend tree parser, ID and AnimationTree node with runtime updates - #9

Closed
TiernanDeFranco wants to merge 2 commits into
mainfrom
codex/add-animation-blending-support-to-perro-engine
Closed

TiernanDeFranco wants to merge 2 commits into
mainfrom
codex/add-animation-blending-support-to-perro-engine

Conversation

@TiernanDeFranco

Copy link
Copy Markdown
Collaborator

Motivation

  • Add support for animation blend trees so multiple animation slots can be combined and an output animation can be resolved at runtime.

Description

  • Add a simple panim_tree parser and AnimationBlendTreeDef with parse_panimtree in perro_animation to read slot definitions from text sources.
  • Introduce AnimationBlendTreeID in perro_ids to identify blend tree resources.
  • Implement the AnimationTree node and related types in perro_nodes/src/nodes/animation_tree.rs, including slot management, graph node kinds, evaluation (evaluate_output_animation), slot controls (play_slot, pause_slot, seek_slot, etc.) and weight manipulation (set_blend_weight).
  • Register the node in perro_nodes::nodes and node_registry, and add runtime internal update hooks and an internal_update implementation in runtime_project/perro_internal_updates to advance playing slots and record the last resolved output animation.

Testing

  • Run unit tests included in panim_tree and animation_tree via cargo test, and the added tests passed.
  • Ran workspace tests with cargo test --workspace and they completed successfully.

Codex Task

@TiernanDeFranco
TiernanDeFranco deleted the codex/add-animation-blending-support-to-perro-engine branch May 9, 2026 00:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant