Skip to content

Sequenceanim decode refactor - #1255

Draft
kristiker wants to merge 1 commit into
ValveResourceFormat:masterfrom
kristiker:lazy-animation-resource
Draft

Sequenceanim decode refactor#1255
kristiker wants to merge 1 commit into
ValveResourceFormat:masterfrom
kristiker:lazy-animation-resource

Conversation

@kristiker

@kristiker kristiker commented Jul 29, 2026

Copy link
Copy Markdown
Member

Lazy, skeleton-invariant animation decoding

Segment decoders were built eagerly at model load with the target skeleton's bone indices baked in.

Now we defer the build on first playback/DecodeFrame. This also lets us play an Animation resource on various models without going through the GetEmbeddedAnimationsWithSkeleton hack.

Model.GetEmbeddedAnimationsWithSkeleton and its cachedSkeleton swap deleted; the animation factories and LoadAnimationGroup no longer take Skeleton/FlexController[].

Two latent bugs gone: GetEmbeddedAnimationsWithSkeleton swapped cachedSkeleton then called GetAllAnimations, which short-circuits on CachedAnimations — so by load order it either ignored the swap or permanently cached another model's skeleton bindings.

@github-actions github-actions Bot added Exporting Related to exporting files or data Renderer Related to the 3D/2D rendering viewer labels Jul 29, 2026
@kristiker
kristiker force-pushed the lazy-animation-resource branch from 68821b7 to ba27559 Compare August 7, 2026 23:34
@kristiker
kristiker marked this pull request as draft August 11, 2026 10:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Exporting Related to exporting files or data Renderer Related to the 3D/2D rendering viewer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant