* feat(animation): unify layered poses via IAnimPoseSource
Allow AnimLayerMixer base/layers to consume AnimPlayer, AnimGraph, or
AnimStateMachine through a shared pose-source interface, add explicit
bind/identity additive references on mixer and graph, keep disabled layers
advancing, and cover the path with unit tests plus a layered-animation example.
Co-authored-by: 西风逍遥游 <sunxfancy@gmail.com>
* docs(animation): document getAdditiveReference and getBasePlayer
Source quality requires every new Squirrel binding to appear in
docs/usr/modules/animation.md; fill the two NEW gaps from the layered
mixer / additive-reference APIs.
Co-authored-by: 西风逍遥游 <sunxfancy@gmail.com>
* feat(examples): layered-animation demo with three KayKit clips
Replace the procedural stick figure with KayKit Knight + Walking_A,
Melee_1H_Attack_Chop, and Hit_A. Show each clip alone and the
AnimLayerMixer result (walk base, spine-masked attack override,
additive hit) side by side.
Co-authored-by: 西风逍遥游 <sunxfancy@gmail.com>
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Record timed samples (manual points or bone world projection), fade by
duration, and draw dotted trajectories via Graphics for animation FX.
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* feat(animation): add 3D skeletal playback with state machine and motion matching
Extend eve.Animation beyond tweens with AnimSkeleton/AnimClip/AnimPose,
AnimPlayer cross-fade playback, AnimStateMachine (float/bool/trigger),
and MotionDatabase + MotionMatcher feature search. Includes tests and docs.
Co-authored-by: 西风逍遥游 <sunxfancy@gmail.com>
* test(animation): Mixamo Idle/Run/Jump fixtures for state machine and motion matching
Import Assimp/ModelData and compact .eva clips; bake planar root motion for
in-place Mixamo run; add integration tests and convert_mixamo tool. Logical
state switches immediately on transition while pose still cross-fades.
Co-authored-by: 西风逍遥游 <sunxfancy@gmail.com>
* test(animation): expand state machine and motion matching coverage
Add bool/compound conditions, float ops, trigger consume, player pause,
three-speed matching, EVA round-trip, and Mixamo run-jump-idle / stability
cases after merging main.
Co-authored-by: 西风逍遥游 <sunxfancy@gmail.com>
* fix(animation): avoid zeroerr ambiguous || in state machine CHECK
Wrap the compound boolean in parentheses so CHECK does not overload
operator|| against Expression (broke Linux/macOS/Windows CI).
Co-authored-by: 西风逍遥游 <sunxfancy@gmail.com>
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Introduce eve.Animation / Tween for interpolating named float properties,
including relative setDelta/setDeltaAngle, easing, delay, repeat, and yoyo.
Wire EVAnimation into the build, SDK install, and unit tests.
Co-authored-by: 西风逍遥游 <sunxfancy@gmail.com>