RubSE stabilizes self-evolving UI-to-code generation with rubrics

Vision-language models have shown strong progress at turning UI designs into code, but the authors say their test-time self-evolution, checking and revising their own output at inference time, remains unstable. They identify a specific cause: a problem they term visual repair coupling. Because interface elements are linked through layout, style, and component dependencies, a local code edit made to fix one visual mismatch can propagate through those dependencies, correcting the one mismatch it targets while degrading other regions that were previously correct.
To address this, the authors present RubSE, a Rubric-guided Self-Evolution framework that turns visual feedback into a structured visual-repair context using rubrics. At each refinement round, RubSE generates several typed candidate rubrics, selects one prioritized repair target among them, and keeps the rubrics chosen in earlier rounds as history. This steers each revision toward one well-scoped visual repair at a time and discourages repeated or overly broad changes, directly targeting the coupling problem described above.
The authors evaluate RubSE across six vision-language models and three UI-to-code benchmarks; the abstract does not name which ones. Compared with naive self-evolution, meaning self-correction without the rubric-based guidance, RubSE is reported to substantially outperform it in both final-round settings, judged by the last round of refinement, and best-round settings, judged by the best round reached along the way. The result is more stable refinement trajectories and a higher trajectory-level performance ceiling: allowed to run for multiple rounds, RubSE-guided refinement reaches a better peak than naive self-evolution, in addition to landing more consistently.
Further analysis reports two additional findings. First, RubSE mitigates what the authors call trajectory collapse by improving recovery from severe visual regressions during refinement. Second, the framework's two roles, generating rubrics and editing code, can be split across models of different strength: a stronger model used only to generate rubrics can transfer effective visual-repair guidance to a weaker model that does the actual code edits.
Key facts
- The paper identifies visual repair coupling: a local code edit that fixes one visual mismatch can propagate through layout, style, and component dependencies and degrade other regions that were previously correct.
- RubSE, short for Rubric-guided Self-Evolution, turns visual feedback into rubrics: each refinement round it generates typed candidate rubrics, selects one prioritized repair target, and keeps earlier rubrics as history to avoid repeated or overly broad edits.
- Tested across six vision-language models and three UI-to-code benchmarks, RubSE is reported to substantially outperform naive self-evolution in both final-round and best-round settings.
- RubSE yields more stable refinement trajectories and a higher trajectory-level performance ceiling than naive self-evolution, though the abstract gives no percentage or score for the improvement.
- A stronger model used only to generate rubrics can transfer effective visual-repair guidance to a weaker model that performs the actual code edits.
Why it matters
AI tools that turn a design or screenshot into working front-end code increasingly rely on self-evolution: letting the model check its own output against the target and revise it repeatedly at inference time, without further training. This paper argues that self-correction is not automatically safe. A fix aimed at one visual mismatch can propagate through a UI's layout, style, and component dependencies and degrade other regions that were already rendering correctly, a failure mode the authors call visual repair coupling. RubSE addresses this at the mechanism level: rather than letting the model make broad, unconstrained edits each round, it uses rubrics to scope each repair to one prioritized target and keeps track of what has already been tried. That distinction matters for anyone deploying a UI-to-code model expected to correct its own mistakes without a person reviewing every intermediate round.
Who it affects
Researchers and engineers building or evaluating design-to-code and UI-to-code systems based on vision-language models, particularly ones that use iterative test-time self-correction rather than single-pass generation. It also affects teams considering pairing models of different capability within one pipeline: the paper reports that a stronger model used to generate rubrics can transfer effective visual-repair guidance to a weaker model that performs the actual code edits.
How to use it
RubSE is described as a research framework, not a released product. The material does not mention any release of code, model weights, or a dataset, so there is nothing here to download or run directly. As described, RubSE operates on top of an existing vision-language model during test-time self-evolution: at each refinement round it generates multiple typed candidate rubrics from visual feedback, selects one prioritized repair target, and keeps the rubrics used in earlier rounds as history so later edits do not repeat or widen the same change.
How solid is it
The evaluation spans six vision-language models and three UI-to-code benchmarks, though the abstract does not name which ones. Within that scope, RubSE is reported to substantially outperform naive self-evolution in both final-round and best-round settings. The improvement is described only qualitatively, as 'substantial', with no scores, percentages, or margins given, so the size of the gain cannot be checked from the material alone. The findings on mitigating trajectory collapse and on transferring guidance from a stronger rubric generator to a weaker code improver are reported the same way: as qualitative outcomes, not figures.
Risks and caveats
The abstract does not discuss limitations, failure cases, or the compute and runtime cost of generating and scoring rubrics at every refinement round, so it is unclear how RubSE behaves outside the six models and three benchmarks tested, or what overhead it adds relative to naive self-evolution. No authors, institutions, submission date, or publication venue are given in the text itself, and no release of code, model weights, or a dataset is mentioned, so neither the method nor the results can be independently verified from the abstract alone.