Skip to content

Splash: reapply_text reconciles host-generated UI into existing widgets - #35

Merged
ymote merged 1 commit into
mainfrom
feat/splash-reapply-text
Sep 27, 2026
Merged

ymote merged 1 commit into
mainfrom
feat/splash-reapply-text

Conversation

@ymote

@ymote ymote commented Sep 27, 2026

Copy link
Copy Markdown

The Splash part of #32, on current main (d0a9def5). This is the API Rinx's native mini-app host needs to run inside OctoSense shells at the current runtime.

SplashRef::reapply_text(cx, body) evaluates a regenerated body with Apply::Reload into the existing view, so named widgets keep their Rust state (focus, selection, scroll) while declarative data changes. set_text("") still tears the instance down and revokes callbacks. The main VM and empty bodies fall back to set_text. The change is additive; no existing caller changes behavior.

Not included: #32's Android Back changes (double Back delivery, OnBackInvokedCallback, the application-extension meta-data). Back handling in ROM Home is being reworked separately, so that part stays with #32 or its successor.

Validation: cargo check -p makepad-widgets passes. ROM Home's patches/runtime/makepad-settings.patch still applies to this base (git apply --check). Rinx's mini-app screen compiles against it (hagency-org/Rinx#25 follow-up).

🤖 Generated with Claude Code

A host that regenerates a Splash body from declarative data (Rinx's L0
mini apps) must keep focus, selection and scroll state in the named
widgets it already has. reapply_text evaluates the new body with
Apply::Reload into the existing view; set_text still tears the instance
down. From #32 (its Splash part), on main.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@ymote
ymote merged commit db4691d into main Sep 27, 2026
@ymote
ymote deleted the feat/splash-reapply-text branch September 27, 2026 03:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant