Add persisted state-machine diagram contexts and shared geometry
Rust checks / check (ubuntu-latest) (push) Canceled after 0s
Rust checks / check (windows-latest) (push) Canceled after 0s

This commit is contained in:
2026-09-06 00:36:22 +03:00
parent 4e8575bd11
commit a63654f782
9 changed files with 1130 additions and 11 deletions
+11
View File
@@ -181,6 +181,11 @@ pub fn remap_references(p: &mut Project, old: Id, new: Id) {
});
}
for d in p.diagrams.values_mut() {
if let ProjectionKind::StateMachine { machine } = &mut d.projection
&& *machine == old
{
*machine = new;
}
for route in &mut d.routes {
if route.edge == old {
route.edge = new;
@@ -275,6 +280,12 @@ fn deletion_impact_inner(p: &Project, id: Id, defer_exchange_allocations: bool)
}
}
for d in p.diagrams.values() {
if d.projection
.state_machine()
.is_some_and(|machine| removed.contains(&machine))
{
removed.insert(d.id);
}
for n in d.nodes.values() {
if removed.contains(&d.id) || removed.contains(&n.element) {
removed.insert(n.id);