graphic design tool
git clone https://git.lucas.co/cce-designer.git
render: window-corner arcs read the shared radius, not the app override
This app's config.kdl overrides backplate corner_radius to 24 for its
own plates, which pane_plate_radii was also feeding to the window-corner
arcs — the scene viewer's lip drew at twice the silhouette/desktop-cell
radius on any machine with the override (invisible in a shadow session
that doesn't seed per-app configs). Window-corner arcs now come from
layout::window_corner_radius (the shared value the compositor clips
with); interior pane corners keep the app-styled nominal radius.
Co-Authored-By: Claude Fable 5 <[email protected]>
src/render.rs | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/render.rs b/src/render.rs
index fb06818..0a60ad1 100644
--- a/src/render.rs
+++ b/src/render.rs
@@ -38,7 +38,12 @@ impl State {
/// the squircles of the sibling panes around them.
fn pane_plate_radii(&self, x: f32, y: f32, w: f32, h: f32) -> (f32, f32, f32, f32) {
let nominal = cce_ui::layout::plate_corner_radius();
- let window_r = colors::backplate_corner_radius() * cce_ui::layout::corner_span_factor();
+ // window_corner_radius, NOT the app-merged backplate radius: the
+ // designer's config.kdl overrides the backplate radius for its own
+ // plates, but the compositor clips the window (and the desktop grid
+ // draws its cells) from the SHARED value — window-corner arcs must
+ // follow the silhouette, not the app styling.
+ let window_r = cce_ui::layout::window_corner_radius() * cce_ui::layout::corner_span_factor();
let e = 1.5;
let left = x <= e;
let top = y <= e;