Implement keyframed animations

This commit is contained in:
Yoshi Askharoun
2026-07-25 21:37:32 -05:00
parent 325e0dc40f
commit 744cc632ab
10 changed files with 587 additions and 21 deletions
@@ -48,6 +48,16 @@ namespace Microsoft.Iris.Render
public AnimationInputType InputType => this.m_inputType;
// Public read accessor so an out-of-assembly animation engine can evaluate
// keyframe values without reaching internal state. Only constant inputs carry a
// directly-readable value; expression/object inputs return false (a consumer can
// still walk BinaryOperation's public operands, and read the leaves this way).
public virtual bool TryGetConstantValue(out object value)
{
value = null;
return false;
}
internal AnimationInputType SourceType => this.m_sourceType;
internal AnimationTypeMask SourceMask => this.m_sourceMask;
@@ -74,6 +74,12 @@ namespace Microsoft.Iris.Render
internal object RawValue => this.m_inputValue;
public override bool TryGetConstantValue(out object value)
{
value = this.m_inputValue;
return true;
}
private object ApplyMask(AnimationTypeMask mask, object value)
{
object obj = null;