Skip to content

Conversation

MushineLament
Copy link
Contributor

@MushineLament MushineLament commented Oct 12, 2025

Preface

I still have many unresolved issues. I am publishing this PR to gain more attention and opinions. Ensure the integrity of this feature.

Existing problems:

  • Fix node rotation
  • UiTransform based on UiContain Transform
  • Layout based on UiContain size
  • UiContain supports Visibility(Controlled by the Root Node)
  • UiContainTarget passes to child nodes
  • UiContain Support Overflow
  • Support Anchor
  • performance optimization
    ...

Expectations and difficulties:

  • Non root nodes take effect (May affect the entire Node)

Objective

Fixes #21278
Try #5476

Solution

  1. Add a UiContain component for storing Ui.
  2. Add UiContainTarget component and declare that Node belongs to UiContain.
  3. Enable UiSurface to support components, with each UiContain unique to manage Node Layout
    4.Camera is a screen based "container" for Node Ui, so Containing is a world based "container".

Testing

  • Did you test these changes? If so, how?
    I haven't figured out how to test this feature yet.But I have enabled a new feature for isolation to ensure that other functions are not affected

  • Are there any parts that need more testing?
    It may be necessary to test whether UiContainTarget points to UiSurface and UiContain

  • How can other people (reviewers) test your changes? Is there anything specific they need to know?
    Add UiContactTarget to the normal Node Entity, pointing to UiContain.
    Example ui/ui_contain provides the most basic usage examples


Showcase

Quicker_20251013_165819

Copy link
Contributor

Your PR caused a change in the graphical output of an example or rendering test. This might be intentional, but it could also mean that something broke!
You can review it at https://pixel-eagle.com/project/B04F67C0-C054-4A6F-92EC-F599FEC2FD1D?filter=PR-21514

If it's expected, please add the M-Deliberate-Rendering-Change label.

If this change seems unrelated to your PR, you can consider updating your PR to target the latest main branch, either by rebasing or merging main into it.

Copy link
Contributor

Your PR caused a change in the graphical output of an example or rendering test. This might be intentional, but it could also mean that something broke!
You can review it at https://pixel-eagle.com/project/B04F67C0-C054-4A6F-92EC-F599FEC2FD1D?filter=PR-21514

If it's expected, please add the M-Deliberate-Rendering-Change label.

If this change seems unrelated to your PR, you can consider updating your PR to target the latest main branch, either by rebasing or merging main into it.

@alice-i-cecile alice-i-cecile added C-Feature A new feature, making something new possible A-UI Graphical user interfaces, styles, layouts, and widgets X-Controversial There is active debate or serious implications around merging this PR S-Waiting-on-Author The author needs to make changes or address concerns before this can be merged labels Oct 13, 2025
…UiContain size;Fixed UiContainTarget passes to child nodes.
Copy link
Contributor

Your PR caused a change in the graphical output of an example or rendering test. This might be intentional, but it could also mean that something broke!
You can review it at https://pixel-eagle.com/project/B04F67C0-C054-4A6F-92EC-F599FEC2FD1D?filter=PR-21514

If it's expected, please add the M-Deliberate-Rendering-Change label.

If this change seems unrelated to your PR, you can consider updating your PR to target the latest main branch, either by rebasing or merging main into it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-UI Graphical user interfaces, styles, layouts, and widgets C-Feature A new feature, making something new possible S-Waiting-on-Author The author needs to make changes or address concerns before this can be merged X-Controversial There is active debate or serious implications around merging this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

UiSurface should implement component,no just for the camera

2 participants