cli: hard-code routing only the first layer by default

A temporary measure before we provide better layer control and prevent
duplication of routes.
This commit is contained in:
Mikolaj Wielgus 2024-07-16 20:39:19 +02:00
parent a9f42e1d8f
commit c17c004aae
2 changed files with 15 additions and 1 deletions

View File

@ -42,6 +42,20 @@ impl Selection {
this
}
pub fn new_select_layer(board: &Board<impl AccessMesadata>, layer: usize) -> Self {
let mut this = Self::new();
for node in board.layout().drawing().layer_primitive_nodes(layer) {
if let Some(selector) = this.node_selector(board, GenericNode::Primitive(node)) {
if !this.contains_node(board, GenericNode::Primitive(node)) {
this.select(board, selector);
}
}
}
this
}
pub fn toggle_at_node(&mut self, board: &Board<impl AccessMesadata>, node: NodeIndex) {
let Some(selector) = self.node_selector(board, node) else {
return;

View File

@ -35,7 +35,7 @@ fn main() -> Result<(), std::io::Error> {
serde_json::from_reader(commands_bufread)?
} else {
let mut history = History::new();
history.do_(Command::Autoroute(Selection::new_select_all(&board)));
history.do_(Command::Autoroute(Selection::new_select_layer(&board, 0)));
history
};