From 8da0986147d6d9a4eff02f7ca2fec964ae89360a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 5 Mar 2026 03:58:41 +0000 Subject: [PATCH] Exclude SaveCachedPose from Pass 1 upstream BFS to fix layer assignment Co-authored-by: LoogLong <86428208+LoogLong@users.noreply.github.com> --- FModel/ViewModels/AnimGraphViewModel.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/FModel/ViewModels/AnimGraphViewModel.cs b/FModel/ViewModels/AnimGraphViewModel.cs index 3e56020e..58c7fcc3 100644 --- a/FModel/ViewModels/AnimGraphViewModel.cs +++ b/FModel/ViewModels/AnimGraphViewModel.cs @@ -202,6 +202,8 @@ public class AnimGraphViewModel // Pass 1: Build graph layers from AnimGraphNode_Root nodes. // Each _Root node defines an animation blueprint layer (e.g. "AnimGraph"). + // SaveCachedPose nodes are excluded so their input chains don't get pulled + // into Root layers; Pass 3 assigns SaveCachedPose nodes to the correct layer. var graphRoots = vm.Nodes .Where(n => n.ExportType.EndsWith("_Root", StringComparison.OrdinalIgnoreCase)) .ToList(); @@ -210,7 +212,8 @@ public class AnimGraphViewModel foreach (var rootNode in graphRoots) { if (!assigned.Add(rootNode)) continue; - var layerNodes = CollectUpstream(rootNode, upstreamOf, assigned); + var layerNodes = CollectUpstream(rootNode, upstreamOf, assigned, + excludeNode: IsSaveCachedPoseNode); AddLayer(vm, layerNodes, layerIndex++); primaryGraphLayer ??= vm.Layers[^1]; }