#13028·enso

Use Y.doc ASTs to compute IR difference instead of of `ChangesetBuilder`

Author: hubertpCreated May 5, 2025Updated Apr 30, 2026
Labels-language-server

The current implementation of ChangesetBuilder takes an existing IR, builds a simplified tree with node IDs and computes which nodes are being affected by the requested text edits.

The logic worked well until recently when we became aware of some of the limitations of the approach:

  • Old value still used after reconnecting nodes #11734
  • Recalculation of Visualizations doesn't work on a node reorder #12957

The idea is that comparing the original and the resulting IR, directly, should make the process less complex and more bullet proof. It could also serve as an intermediate step towards #10525.