graphic design tool
git clone https://git.lucas.co/cce-designer.git
feat: the graph fills the network plate; the breadcrumb floats over it
The floating layout reserved a BREADCRUMB_H band above the content — a
titlebar-looking strip of bare plate the graph never entered. The
content now spans the full plate; the breadcrumb strip rect stays for
the widget's layout, its refined hit() (cce-ui@…) claims only the
segment run, and a press-order priority above the graph keeps segment
clicks from also landing in the cell beneath. The circular pane keeps
its own interior offsets.
Co-Authored-By: Claude Fable 5 <[email protected]>
src/app.rs | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/src/app.rs b/src/app.rs
index d915075..c58c2e1 100644
--- a/src/app.rs
+++ b/src/app.rs
@@ -3948,9 +3948,13 @@ pub(crate) fn geometry_to_spreadsheet_data(geom: &Geometry) -> (Vec<String>, Vec
let mb_h = 0.0;
let bc_h = if self.show_network { BREADCRUMB_H } else { 0.0 };
- let content_h = (ph - mb_h - bc_h).max(0.0);
+ // The breadcrumb HOVERS over the graph: its strip rect stays
+ // (the widget lays its run out in it, and hit() claims only
+ // the segments), but the content spans the full plate — no
+ // reserved titlebar band above the cells.
+ let content_h = (ph - mb_h).max(0.0);
- self.positions[CONTENT_IDX] = (px, py + mb_h + bc_h, pw, content_h);
+ self.positions[CONTENT_IDX] = (px, py + mb_h, pw, content_h);
self.positions[NETWORK_PANEL_IDX] = (px, py, pw, ph);
self.slots.network_panel.set_rect(px, py, pw, ph);
if let Some(plate) = self.slots.network_panel.as_any_mut().downcast_mut::<PassivePlate>() {
@@ -5038,6 +5042,11 @@ pub(crate) fn geometry_to_spreadsheet_data(geom: &Geometry) -> (Vec<String>, Vec
-4
} else if i == PARAM_IDX {
-3
+ } else if i == BREADCRUMB_IDX {
+ // Floats over the graph (the content spans the full plate);
+ // its refined hit() claims only the segment run, so this
+ // priority never shadows the graph elsewhere in the strip.
+ 1
} else {
self.slots.get_dyn_mut(i).z_index()
};