🎮 Game

Library that renders UI panels to textures and maps them onto world surfaces as in-game screens. It builds a TargetRootPanel, renders it each frame to a render target via PanelSceneObject, does ray tracing to map hits to panel UVs, and forwards mouse input with TargetPanelInput. Includes a simple Example Razor panel and helper systems to create and manage multiple TargetScreen components.

🔧 Editor

In the editor, this adds a property widget to pick a ScreenPanel type for a PanelTypeReference. It builds a ComboBox from non-abstract ScreenPanel types in EditorTypeLibrary, includes a '(Aucun)' none option, initializes from the serialized value, and writes back the selected type's full name on change.

🧪 Unit Test

Unit tests for the PanelRenderTarget library. The tests spin up a Sandbox.TestAppSystem for the run, create a Scene and a GameObject, and assert the scene directory reports one object. This is a small sanity check that engine setup and scene bookkeeping work under the library’s context.

🐞 Possible Bugs

Code/ui/Example.razor
OnMouseMove never assigns MousePosition, so the displayed position and the cursor style stay at 0,0.
ui/Example.razor
BuildHash calls StateHasChanged, which forces a re-render during hash computation and causes continuous re-rendering.