Skip to content

[Page] Update: Expand editor stage with widget state and new component replacements#3187

Merged
qingqing-ux merged 1 commit into
goplus:uifrom
jiaxin-915:editor02
May 19, 2026
Merged

[Page] Update: Expand editor stage with widget state and new component replacements#3187
qingqing-ux merged 1 commit into
goplus:uifrom
jiaxin-915:editor02

Conversation

@jiaxin-915
Copy link
Copy Markdown
Contributor

Issue

Background

This update expands the editor-stage page by adding a new widget state page and aligning several existing subpages with the latest component designs.

Changes

  • Updated editor-stage.pen under ui/pages
  • Added a new page for the widget state
  • Replaced components in the code page with the new design components
  • Replaced components in the backdrop page with the new design components
  • Replaced components in the sound page with the new design components

Scope

  • Editor stage page
  • Widget state page
  • Code page
  • Backdrop page
  • Sound page

Design System Impact

  • Yes
  • No

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the editor-stage.pen UI definition file, renaming several frames (Sound, Backdrop, Code, Widget) and adjusting their coordinates, dimensions, and component references. The reviewer identified several opportunities for improvement: rounding sub-pixel coordinate noise to zero for better alignment, ensuring consistent width and height for the panel-right frame across all sections, and standardizing the naming and structural layout of the Widget frame to maintain consistency with other editor stages.

"type": "ref",
"ref": "G:Hjqqt",
"x": 0,
"x": 0.011189733001048491,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The x coordinate value 0.011189733001048491 appears to be sub-pixel noise introduced by a design tool. It should be rounded to 0 to ensure precise alignment. This same issue is present on lines 184, 286, and 392.

"x": 0,

Comment on lines +59 to +60
"width": 496,
"height": 830,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The panel-right frame has explicit width and height set here and in the Widget section (line 369), but these dimensions are missing from the Code and Backdrop sections. For consistency across the editor stages, these should likely be applied uniformly.

"id": "NNjP4",
"name": "content",
"id": "Q9DuS",
"name": "Frame 1010106326",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The frame name Frame 1010106326 appears to be an auto-generated identifier from a design tool. It should be renamed to content to maintain consistency with the other frames in this file (e.g., Sound, Backdrop, Code).

"name": "content",

Comment on lines +316 to +361
"y": -63,
"name": "Widget",
"width": 1440,
"height": 910,
"height": 900,
"fill": "$G:grey300",
"stroke": {
"align": "inside",
"thickness": 1
},
"layout": "vertical",
"gap": 20,
"alignItems": "center",
"children": [
{
"id": "G5OF7",
"id": "jMcF6",
"type": "ref",
"ref": "G:WiWwa",
"x": 0.00018589109107464483,
"x": 0.00037173899785242556,
"y": 0,
"children": [
{
"id": "ueQ3D",
"id": "gch0V",
"type": "ref",
"ref": "G:So19f"
}
]
},
{
"type": "frame",
"id": "NNjP4",
"name": "content",
"id": "Q9DuS",
"name": "Frame 1010106326",
"height": "fill_container",
"stroke": {
"align": "inside",
"thickness": 1
},
"gap": "$G:space-4",
"padding": [
"$G:space-2",
"$G:space-4",
"$G:space-4",
"$G:space-4"
],
"children": [
{
"id": "VKpQ2",
"id": "qLf9A",
"type": "ref",
"ref": "G:qEHhD",
"x": 0,
"y": 0,
"children": [
{
"id": "Wbb0B",
"type": "ref",
"ref": "G:wuVTo"
}
]
"ref": "G:ygUhS",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The Widget frame introduces several structural and layout inconsistencies compared to the Sound, Backdrop, and Code frames:

  1. Missing Wrapper: It directly references G:ygUhS (line 361) without the G:qEHhD wrapper used by the other frames.
  2. Dimensions & Position: Its height is 900 (vs 910) and its y coordinate is -63 (vs -66 or -68).
  3. Layout Properties: It uses padding and height: fill_container on its content frame, and the alignItems: center property was removed from the top-level frame (line 325 in the previous version).

Please verify if these changes are intentional parts of the new design or if the Widget frame should be aligned with the existing structure.

Copy link
Copy Markdown
Contributor

@fennoai fennoai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR reorganizes the four editor-stage page states and introduces a new Widget layout. The changes are largely mechanical ID/position shuffles. A few structural and consistency issues are worth addressing before merge.

"x": 2952,
"y": -66,
"name": "code",
"name": "Sound",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Undocumented naming convention change. Top-level frame names changed from lowercase (code, widget, backdrop, sound) to Title Case (Code, Backdrop, Sound, Widget) across all four frames. If any tooling or tests match frames by the name field (e.g. findNodesByName in the conformance test), this is a breaking change. The PR description does not mention it — worth calling out explicitly.

"id": "jIDGe",
"name": "panel-right",
"width": 496,
"height": 830,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent panel-right dimensions. The Sound frame's panel-right has explicit "width": 496, "height": 830 added here (and Widget's does too), but the equivalent panel-right frames in Backdrop and Code have no size constraints at all. If these pages are meant to depict the same layout shell, the constraints should be applied uniformly or omitted uniformly.

"type": "ref",
"ref": "G:Hjqqt",
"x": 0,
"x": 0.011189733001048491,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Floating-point x-coordinate artifact. "x": 0.011189733001048491 is an export rounding artifact — the intended value is 0. This same value appears on the equivalent ref inside panel-right across all four pages (lines ~82, ~184, ~286, ~392). The sibling editor-sprite.pen uses a clean 0 for the equivalent nodes. Consider normalizing to 0 to keep diffs clean and avoid sub-pixel drift accumulating across future exports.

"name": "Widget",
"width": 1440,
"height": 910,
"height": 900,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Widget frame height differs from peers. This frame uses "height": 900 while Sound, Backdrop, and Code all use "height": 910. The 10 px discrepancy is undocumented — intentional design difference or copy-paste omission?

"align": "inside",
"thickness": 1
},
"layout": "vertical",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Widget frame is missing gap and alignItems. The other three top-level frames (Sound, Backdrop, Code) all declare "gap": 20 and "alignItems": "center" on their root layout frame. Widget omits both. Without gap: 20, the header ref and the content frame stack without spacing; without alignItems: center, content will be left-aligned in the 1440 px viewport — a visual regression versus the other states.

"id": "NNjP4",
"name": "content",
"id": "Q9DuS",
"name": "Frame 1010106326",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Auto-generated placeholder name not cleaned up. "name": "Frame 1010106326" is a default tool-generated name. Every equivalent content container in the other three pages uses "name": "content". This should be renamed to "content" for consistency and to avoid silent mismatches in any tooling that locates nodes by name.

@qingqing-ux qingqing-ux merged commit 36b9098 into goplus:ui May 19, 2026
4 checks passed
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.

3 participants