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

commit72bf6bb7b58665d48cfea40708fb53251dd4bcdc
parent2fe19b2024
authorLucas Galante <[email protected]>
date2026-07-18 15:05
feat: draw the params pane's section corner fillets

cce-ui now draws each section as one continuous outline whose corner fillets are
arcs, so restore the arc pass this pane had before bc55fe9 dropped it — next to
the rounded-quad pass, under the same scroll-viewport clip, since a widget's
arcs would otherwise reach the frame unclipped through append_widget_plate.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>

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

diff --git a/src/render.rs b/src/render.rs
index a962fb0..ee34fde 100644
--- a/src/render.rs
+++ b/src/render.rs
@@ -245,8 +245,9 @@ impl State {
 
             // The params pane serves its chrome through the legacy plain-quad view,
             // which carries flat quads only — the controls' rounded-rect backgrounds
-            // (textbox/dropdown/button/toggle/color) come from the rounded view,
-            // drawn under the flat chrome and clipped to the pane's scroll viewport.
+            // (textbox/dropdown/button/toggle/color) come from the rounded view and the
+            // section outlines' corner fillets from the arc view, drawn under the flat
+            // chrome and clipped to the pane's scroll viewport.
             if idx == PARAM_IDX {
                 let (px, py, pw, ph) = self.positions[PARAM_IDX];
                 let view = rect(px, py + 4.0, pw, (ph - 8.0).max(0.0));
@@ -260,6 +261,9 @@ impl State {
                     for (qx, qy, qw, qh, qr, qc, corners) in param_bg.rounded_quads(&self.ui_context) {
                         pc.rounded_rect(rect(qx, qy, qw, qh), qr, corners, qc);
                     }
+                    for (acx, acy, ar, at, a0, a1, ac) in param_bg.arcs() {
+                        pc.arc(acx, acy, ar, at, a0, a1, ac);
+                    }
                 });
             }