Comfy-Org / Comfy-Org/ComfyUI_frontend

Plan post-ECS ChangeTracker and document undo architecture

Open
#15,985 1 comment 0 reactions 1 assignee Claimed by @DrJKL View on GitHub
area:undo-redo
Dominant language
TypeScript
Stars
2k
Forks
699
Avg merge
1d 7h
Merged PRs (30d)
490

Description

## Problem

ChangeTracker combines global graph diffing, undo records, engine behavior, document switching, and offscreen hydration. ECS makes graph and layout mutations observable through narrower entry points, so the brute-force global diffing model is no longer the only option. Actor-aware multiplayer undo also needs an explicit contract.

## Goal

Define the post-ECS boundary between document state, undo records, the undo engine, hydration, and actor attribution.

## Proposed Solution

Produce an implementation plan aligned with the frontend document-model ADR, including the retained snapshot/diff responsibilities, candidate operation/patch model, migration sequence, and compatibility constraints.

## Acceptance Criteria

- Current ChangeTracker responsibilities and consumers are inventoried.
- Document-owned records and external engine responsibilities are separated.
- Actor-aware undo semantics are decided for multiplayer.
- Offscreen hydration is scoped independently.
- The plan includes staged migration, detectors, and rollback.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.