Verify route-only Layout reset history and format candidate
This commit is contained in:
@@ -956,12 +956,17 @@ fn layout(p: &mut Project, diagram: Id) -> Result<(), ModelError> {
|
||||
// Batch this is the staged input, not an independently validated prefix.
|
||||
let view = crate::projection::project_view(p, diagram);
|
||||
let visible_nodes: BTreeSet<_> = view.nodes.iter().map(|node| node.id).collect();
|
||||
let reset_routes: BTreeSet<_> = view.edges.iter().filter_map(|edge| {
|
||||
let owners = crate::projection::edge_endpoint_placements(p, d, edge.id)?;
|
||||
(owners == (edge.source, edge.target)
|
||||
&& visible_nodes.contains(&edge.source)
|
||||
&& visible_nodes.contains(&edge.target)).then_some(edge.id)
|
||||
}).collect();
|
||||
let reset_routes: BTreeSet<_> = view
|
||||
.edges
|
||||
.iter()
|
||||
.filter_map(|edge| {
|
||||
let owners = crate::projection::edge_endpoint_placements(p, d, edge.id)?;
|
||||
(owners == (edge.source, edge.target)
|
||||
&& visible_nodes.contains(&edge.source)
|
||||
&& visible_nodes.contains(&edge.target))
|
||||
.then_some(edge.id)
|
||||
})
|
||||
.collect();
|
||||
let parents = crate::projection::parents(p, d);
|
||||
let mut children: BTreeMap<Option<Id>, Vec<Id>> = BTreeMap::new();
|
||||
for (id, parent) in &parents {
|
||||
@@ -1054,7 +1059,8 @@ fn layout(p: &mut Project, diagram: Id) -> Result<(), ModelError> {
|
||||
}
|
||||
node
|
||||
};
|
||||
let edges: BTreeSet<_> = view.edges
|
||||
let edges: BTreeSet<_> = view
|
||||
.edges
|
||||
.iter()
|
||||
.filter_map(|edge| {
|
||||
let source = root_of(edge.source);
|
||||
|
||||
Reference in New Issue
Block a user