diff --git a/packages/core-v2/src/scene/graph.ts b/packages/core-v2/src/scene/graph.ts index 1f4afff..2f05714 100644 --- a/packages/core-v2/src/scene/graph.ts +++ b/packages/core-v2/src/scene/graph.ts @@ -570,7 +570,7 @@ export class SceneGraph { } /** - * Resolve the live operations a node started, because the node is leaving + * Resolve the operations a node started, because the node is leaving * the visible graph: nodes they created (push/replace targets, including * replacements whose history skips this node) are removed, and retained * entries they revealed (back targets) are restored as if that back @@ -590,7 +590,7 @@ export class SceneGraph { private discardOutgoing(nodeKey: string, visited = new Set()): void { for (const operation of [...(this.outgoing.get(nodeKey) ?? [])]) { - if (operation.phase === "finished") continue; + // Includes finished resting edges: an open drawer closes with its page. if (operation.history === "back") { this.cancel(operation.id); } else {