From 1b3ecc37b1e81d98bd70be5d70f082b222a267dd Mon Sep 17 00:00:00 2001 From: Mikolaj Wielgus Date: Mon, 20 Oct 2025 14:24:41 +0200 Subject: [PATCH] refactor(specctra-core): Remove `layer_count` from `SpecctraMesadata` This information is already stored in `Drawing`, I somehow missed that when I was adding this field. --- crates/specctra-core/src/mesadata.rs | 11 ----------- src/autorouter/ratsnests.rs | 2 +- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/crates/specctra-core/src/mesadata.rs b/crates/specctra-core/src/mesadata.rs index 4d68958..9f9771e 100644 --- a/crates/specctra-core/src/mesadata.rs +++ b/crates/specctra-core/src/mesadata.rs @@ -27,9 +27,6 @@ pub trait AccessMesadata: AccessRules + std::panic::RefUnwindSafe { /// Retrieves the index of a layer from its name. fn layername_layer(&self, layername: &str) -> Option; - /// Return the number of the layers. - fn layer_count(&self) -> usize; - /// Renames a net based on its index. fn bename_net(&mut self, net: usize, netname: String); @@ -79,9 +76,6 @@ pub struct SpecctraMesadata { /// These rules are applied to all nets belonging to the respective net clas class_rules: BTreeMap, - /// Number of layers. - layer_count: usize, - // layername <-> layer for Layout /// A bidirectional map between layer indices and layer names, allowing translation /// between index-based layers in the layout and user-defined layer names. @@ -164,7 +158,6 @@ impl SpecctraMesadata { structure_rule: SpecctraRule::from_dsn(&structure_rule), class_rules, layer_layername, - layer_count, net_netname, net_netclass, } @@ -212,10 +205,6 @@ impl AccessMesadata for SpecctraMesadata { self.layer_layername.get_by_right(layername).copied() } - fn layer_count(&self) -> usize { - self.layer_count - } - fn bename_net(&mut self, net: usize, netname: String) { self.net_netname.insert(net, netname); } diff --git a/src/autorouter/ratsnests.rs b/src/autorouter/ratsnests.rs index 9f0618b..3f9683b 100644 --- a/src/autorouter/ratsnests.rs +++ b/src/autorouter/ratsnests.rs @@ -12,7 +12,7 @@ pub struct Ratsnests(Box<[Ratsnest]>); impl Ratsnests { pub fn new(board: &Board) -> Result { Ok(Self( - (0..board.mesadata().layer_count()) + (0..board.layout().drawing().layer_count()) .map(|principal_layer| Ratsnest::new(board, principal_layer)) .collect::, _>>() .map(Vec::into_boxed_slice)?,