Raphtory
Raphtory copied to clipboard
Change `explode` and `explode_layers` to use graph views instead of magic options on the edge ref
The fact that edges have two ways of specifying time and layer bounds causes a bunch of weird inconsistencies, e.g.:
let g = Graph::new();
let e1 = g.add_edge(0, 1, 2, NO_PROPS, Some("1")).unwrap();
let e2 = g.add_edge(1, 1, 3, NO_PROPS, Some("2")).unwrap();
assert!(e1.has_layer("2"));
assert!(e1.layers("2").unwrap().history().is_empty());
currently passes even though e1
is a view of the edge in layer "1"