enso/app/gui/view
Ilya Bogdanov 3b6f13c7b9
Create and edit nodes in temporary ast nodes with execution context disabled (#7779)
Closes #6417

Creating and editing nodes with a component browser does not edit the node in place but creates a temporary AST node with the execution context switch. When the node is committed, the original AST is replaced by the new one, and the temporary node is removed.

This solves several issues:
1. Previewing suggestions or editing nodes should no longer produce unwanted side effects, as the edited node expression is always evaluated with the output context being disabled.
2. Errors no longer propagate down the graph when you edit the node. The edited node has no outputs connected. Inputs behave normally, though.
3. Undo-redo and editing abort is much simpler. To abort editing, remove the temporary node.

https://github.com/enso-org/enso/assets/6566674/8d38e6bc-a4de-4e69-8d48-52d9b45b6554

# Important Notes
The code is a bit awkward in a few places. This is the consequence of previous architecture.
2023-10-06 14:56:09 +00:00
..
component-browser Sync breadcrumbs and documentation panel. (#7508) 2023-08-15 11:01:24 +00:00
documentation Revert "Handle wasm panics, display a message and allow a restart (#7507)" (#7708) 2023-08-31 13:30:01 +02:00
examples Replace old breadcrumb implementation in the top bar with new breadcrumb component. (#7619) 2023-08-24 22:01:46 +00:00
execution-environment-selector New node design (#7311) 2023-07-27 13:00:47 +00:00
execution-mode-selector/src New node design (#7311) 2023-07-27 13:00:47 +00:00
graph-editor Create and edit nodes in temporary ast nodes with execution context disabled (#7779) 2023-10-06 14:56:09 +00:00
project-view-top-bar Fix new node position (#7680) 2023-09-06 14:20:45 +00:00
src Make the code editor editable again (#7844) 2023-10-05 08:40:52 +00:00
welcome-screen [Gui2] Opening projects and language server connection (#7813) 2023-09-22 03:43:25 +00:00
Cargo.toml New node design (#7311) 2023-07-27 13:00:47 +00:00