git.lucas.co / cce-files
file manager
git clone https://git.lucas.co/cce-files.git

commita2aa24d7804fa1d06c732a6b383f6ce4a8c69448
parent82845a3a78
authorLucas Galante <[email protected]>
date2026-09-06 13:14
Rename the internal backplate vocabulary to root plate (cce-ui RFC 7a-4)

Mechanical rename, no behaviour change: identifiers that carried the
retired word (statics, registry slots, setters, trait methods, locals)
now say root_plate, and comment prose says root plate.

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

 CLAUDE.md           |  2 +-
 src/main.rs         | 16 ++++++++--------
 src/pages/browse.rs |  2 +-
 src/pages/space.rs  |  2 +-
 src/preview_pane.rs |  4 ++--
 5 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/CLAUDE.md b/CLAUDE.md
index 3d1c534..3023fe1 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -43,7 +43,7 @@ There are no composite container widgets. Every widget is owned outright by the
 
 **When adding a widget, add it to both halves of that pass** — the teardown block and the registration block. Skipping the teardown leaves hierarchy links alive across frames.
 
-(`BrowseContainer` and `NetworkContainer` were shims holding children as `*mut dyn Element`; they dissolved in Phase 6y along with the root `Backplate` and `SplitBox`. Their positioning duplicated what the pages already computed from the pane rect — that coincidence was the Phase 0 double-paint — and the only part worth keeping, the divider, became `SplitPane`. See the comment above `SplitPane` in `main.rs`.)
+(`BrowseContainer` and `NetworkContainer` were shims holding children as `*mut dyn Element`; they dissolved in Phase 6y along with the root plate container and `SplitBox`. Their positioning duplicated what the pages already computed from the pane rect — that coincidence was the Phase 0 double-paint — and the only part worth keeping, the divider, became `SplitPane`. See the comment above `SplitPane` in `main.rs`.)
 
 ### Three pages, one preview
 - **Browse** — the `List` widget (columnar, integrated search box) plus a `Breadcrumb`. The right pane is a `Preview` widget, split from the list by `SplitPane` — app-owned (`main.rs`), carrying the `SplitBox` two-child horizontal math verbatim plus the divider quad, its hover tint, and the proportion drag.
diff --git a/src/main.rs b/src/main.rs
index 2fbb043..7942bcf 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -567,7 +567,7 @@ impl FilesystemApp {
         cce_ui::widget::hover_animation::reset_frame_registration();
         cce_ui::widget::hover_animation::set_cursor_pos(self.cursor_x, self.cursor_y);
 
-        // Root Backplate DISSOLVED: top-level widgets register parentless below; the
+        // root plate container DISSOLVED: top-level widgets register parentless below; the
         // window plate tuple is emitted in the legacy aggregate order (after the plain
         // child quads).
 
@@ -588,7 +588,7 @@ impl FilesystemApp {
 
         let has_sidebar = false;
         let sidebar_w = if has_sidebar { self.paginator.sidebar_w() } else { 0.0 };
-        // DE-wide plate rim padding (style.surface.backplate.padding).
+        // DE-wide plate rim padding (style.surface.root plate.padding).
         let pad = cce_ui::layout::root_plate_padding();
         let browse_x = if has_sidebar { sidebar_w + pad + 1.0 } else { pad };
         let usable_w = self.width as f32 - sidebar_w - (if has_sidebar { 1.0 } else { 0.0 }) - 2.0 * pad;
@@ -647,7 +647,7 @@ impl FilesystemApp {
 
         // Each top-level widget rendered through the same immediate-mode path the root
         // recursion used, replicating the legacy TUPLE ORDER: plain child quads first,
-        // then the dissolved root Backplate's plate, then the rounded children (the
+        // then the dissolved root plate container's plate, then the rounded children (the
         // aggregate emitted all plain quads before the rounded root bg).
         let mut window_pc = pages::PageContent::new();
         {
@@ -1140,7 +1140,7 @@ impl Application for FilesystemApp {
         Some(&mut self.ui_context)
     }
 
-    fn is_movable_backplate_at(&self, px: f32, py: f32) -> bool {
+    fn is_movable_root_plate_at(&self, px: f32, py: f32) -> bool {
         // 1. If dialog is open, do not drag
         if self.open_with_dialog.is_some() {
             return false;
@@ -1168,7 +1168,7 @@ impl Application for FilesystemApp {
                 return false;
             }
             // The dissolved List blocked window drags via its registered ScrollBox
-            // (blocks_backplate_drag); veto app-side now or every row press starts a
+            // (blocks_root_plate_drag); veto app-side now or every row press starts a
             // compositor window move and the app never sees it.
             let l = &self.browse.list;
             if px >= l.x && px <= l.x + l.w && py >= l.y && py <= l.y + l.h {
@@ -1190,7 +1190,7 @@ impl Application for FilesystemApp {
                 return false;
             }
         }
-        // 5. Root Backplate dissolved: the surface itself is the movable plate; drag
+        // 5. root plate container dissolved: the surface itself is the movable plate; drag
         // anywhere a drag-blocking widget isn't.
         self.ui_context.drag_allowed_at(px, py)
     }
@@ -1313,7 +1313,7 @@ impl Application for FilesystemApp {
             WindowSettings {
                 title: title.to_string(),
                 // The cce- prefix matters: the compositor's is_cce_app gate keys
-                // blur and the backplate corner radius off it.
+                // blur and the root plate corner radius off it.
                 app_id: "cce-filesystem-chooser".to_string(),
                 width: 900,
                 height: 500,
@@ -1563,7 +1563,7 @@ impl Application for FilesystemApp {
         let mut pc = cce_ui::scene::paint::PaintCtx::new();
         let (fw, fh) = (self.width as f32, self.height as f32);
 
-        // The window plate — the dissolved root Backplate as a lit object: page-low
+        // The window plate — the dissolved root plate container as a lit object: page-low
         // color at the configured opacity, perimeter rolled over bevel_width so the
         // surface reads as a physical plate rather than a flat fill.
         let mut plate = cce_ui::color::page_low_color();
diff --git a/src/pages/browse.rs b/src/pages/browse.rs
index dab3def..c5c1bce 100644
--- a/src/pages/browse.rs
+++ b/src/pages/browse.rs
@@ -185,7 +185,7 @@ pub fn view(state: &mut BrowseState, view_dropdown: &mut cce_ui::widget::Adapted
     let text_dim = cce_ui::color::TEXT_DIM;
 
 
-    // The pane rect already sits backplate_padding off the plate rim — no
+    // The pane rect already sits root_plate_padding off the plate rim — no
     // second inset here, or the list lands 16+12 from the edge while apps
     // that place content at the pane rect (cce-data-editor's tree) sit at 16.
     let gap = cce_ui::layout::root_plate_gap();
diff --git a/src/pages/space.rs b/src/pages/space.rs
index c5fa8fb..fe7e738 100644
--- a/src/pages/space.rs
+++ b/src/pages/space.rs
@@ -302,7 +302,7 @@ pub struct SpaceState {
     /// Rect the current `tiles` were laid out for — a resize invalidates them.
     laid_out: (f32, f32, f32, f32),
     /// The map region as of the last `view`. Input handlers need it to tell a
-    /// press on the treemap from one on the window backplate behind it.
+    /// press on the treemap from one on the window root plate behind it.
     pub map_rect: (f32, f32, f32, f32),
     pub hovered: Option<usize>,
     /// Selection is held by path, not index: a relayout renumbers every tile.
diff --git a/src/preview_pane.rs b/src/preview_pane.rs
index bfb873d..22f29d7 100644
--- a/src/preview_pane.rs
+++ b/src/preview_pane.rs
@@ -286,7 +286,7 @@ impl PreviewPane {
         // 1. Top pane: File Preview Section. The section frame spans the FULL
         // pane rect (left = cx - pad cancels SectionContext's inner pad), so
         // the well edge sits at the pane edge like the list across the split —
-        // the visible split gap is exactly backplate_gap on both sides.
+        // the visible split gap is exactly root_plate_gap on both sides.
         // The well's top edge sits AT the pane top, aligned with the
         // breadcrumb across the split (finish() draws from top+7, so the
         // fallback frame gets top-7 to land on the same edge).
@@ -354,7 +354,7 @@ impl PreviewPane {
         }
 
         // 2. Bottom pane: Details Section. The visible gap between the wells
-        // is exactly backplate_gap — the same separator width as everywhere
+        // is exactly root_plate_gap — the same separator width as everywhere
         // else on the plate (it was a hardcoded 12+7=19px before).
         let details_top = cy + half_h + cce_ui::layout::root_plate_gap();
         let icon = if self.is_dir { "📁" } else { "📄" };