git.lucas.co / cce-ui
GPU-accelerated UI toolkit (Vulkan)
git clone https://git.lucas.co/cce-ui.git

commitf35325e5377a1b9f02a29c8be4f3b74540b7c20d
parent1b689bc08c
authorLucas Galante <[email protected]>
date2026-07-12 06:51
docs(rfc): record Phase 6ax — dead raw-widget sweep

Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_018u7qTwzX95dd5ysAkaSCLk

 docs/rfc-core-rebuild.md | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/docs/rfc-core-rebuild.md b/docs/rfc-core-rebuild.md
index b6a90d3..82044a7 100644
--- a/docs/rfc-core-rebuild.md
+++ b/docs/rfc-core-rebuild.md
@@ -1633,10 +1633,18 @@ Constraint respected: **each crate still builds standalone** — the new core is
     churn; TI sub-threshold. Census round 4: only `corner_radii` +
     `mark_dirty` remain zero-override (real derived logic — they die
     with the retype, not by folding).
-  - Then the remaining raw-`Element` surface (JsonLayout, Menu/MenuBar
-    internals, Ramp-family embeds, app-local impls) either dissolves
-    app-side or converts, the `*mut dyn Element` tree/context machinery
-    gets retyped, and `Element` + `Adapted` die last.
+  - **Dead raw-widget sweep (6ax).** The raw-`Element` census after the
+    capability deletion found four more zero-constructor widgets:
+    Header, VBox, HBox (export-only) and Svg — which also rode Button
+    as an `Option<Svg>` payload no caller ever set, so Button's icon
+    branches were statically dead and went too. All deleted.
+  - Then the remaining raw-`Element` surface — JsonLayoutWidget (cloud's
+    host), Canvas (designer + preview), ButtonStrip (ctx-registered
+    embed of MenuBar/Paginator, load-bearing in the tree), Container
+    (dm root + settings system-info actions row), Viewport3D (designer),
+    and the app-local impls — either dissolves app-side or converts,
+    the `*mut dyn Element` tree/context machinery gets retyped, and
+    `Element` + `Adapted` die last.
 
 Order rationale: each phase is independently valuable and reversible, and no phase requires the
 next to compile. Phase 0 can land immediately regardless of the rest.