git.lucas.co / cce-designer
graphic design tool
git clone https://git.lucas.co/cce-designer.git

commite6d7722dad9b53ffcc7e6d020420c86fa5a66773
parent5d6557bed7
authorLucas Galante <[email protected]>
date2026-07-24 12:43
feat: node bodies render as beveled mini-plates

The rounded node fill becomes pc.bevel at plate_bevel_width — the same
lit rolled perimeter the DE's controls carry under control_relief, on the
node corner family.

Co-Authored-By: Claude Fable 5 <[email protected]>

 src/render.rs | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/render.rs b/src/render.rs
index 3d618fa..17c3080 100644
--- a/src/render.rs
+++ b/src/render.rs
@@ -187,12 +187,14 @@ impl State {
             }
 
             pc.clip(clip, |pc| {
-                // Node bodies get the DE corner family (squircle when corner_shape > 2);
-                // wires, grid cells, and toggles stay flat quads.
+                // Node bodies are beveled mini-plates on the DE corner family
+                // (squircle when corner_shape > 2); wires, grid cells, and
+                // toggles stay flat quads.
                 let node_r = cce_ui::layout::graph_node_corner_radius();
+                let node_bevel = cce_ui::colors::plate_bevel_width();
                 for (qx, qy, qw, qh, qc) in w.extra_quads() {
                     if self.graph().is_node_rect(qx, qy, qw, qh) {
-                        pc.rounded_rect(rect(qx, qy, qw, qh), node_r, (true, true, true, true), qc);
+                        pc.bevel(rect(qx, qy, qw, qh), (node_r, node_r, node_r, node_r), qc, node_bevel);
                     } else {
                         pc.quad(rect(qx, qy, qw, qh), qc);
                     }