From 98fa126678e4b6b869f4430f1ebe3f14fc06e433 Mon Sep 17 00:00:00 2001 From: Masamichi Hatayama Date: Tue, 13 Oct 2026 21:22:59 +0900 Subject: [PATCH 1/5] feat: screenshot --annotate-elements lists UI Toolkit controls on screen-space panels (#3308) --- .../Editor/UIElementAnnotatorCollectTests.cs | 20 + .../Editor/UIToolkitElementClassifierTests.cs | 37 ++ .../UIToolkitElementClassifierTests.cs.meta | 11 + .../Tests/Editor/UIToolkitPanelKindTests.cs | 89 ++++ .../Editor/UIToolkitPanelKindTests.cs.meta | 11 + .../Editor/UIToolkitReachabilityProbeTests.cs | 131 +++++ .../UIToolkitReachabilityProbeTests.cs.meta | 11 + .../Editor/UIToolkitScreenMappingTests.cs | 118 +++++ .../UIToolkitScreenMappingTests.cs.meta | 11 + .../UIToolkitElementCollectorTests.cs | 446 ++++++++++++++++++ .../UIToolkitElementCollectorTests.cs.meta | 11 + .../UnityCLILoop.Tests.PlayMode.asmdef | 3 +- Assets/UI Toolkit.meta | 8 + Assets/UI Toolkit/UnityThemes.meta | 8 + .../UnityThemes/UnityDefaultRuntimeTheme.tss | 1 + .../UnityDefaultRuntimeTheme.tss.meta | 11 + .../Screenshot/AnnotatedUiSystem.cs | 12 + .../Screenshot/AnnotatedUiSystem.cs.meta | 11 + .../Screenshot/UIElementAnnotator.cs | 2 + .../Screenshot/UIToolkitAnnotation.meta | 8 + .../UIToolkitElementClassifier.cs | 48 ++ .../UIToolkitElementClassifier.cs.meta | 11 + .../UIToolkitElementCollector.cs | 324 +++++++++++++ .../UIToolkitElementCollector.cs.meta | 11 + .../UIToolkitAnnotation/UIToolkitPanelKind.cs | 39 ++ .../UIToolkitPanelKind.cs.meta | 11 + .../UIToolkitReachabilityProbe.cs | 76 +++ .../UIToolkitReachabilityProbe.cs.meta | 11 + .../UIToolkitScreenMapping.cs | 82 ++++ .../UIToolkitScreenMapping.cs.meta | 11 + .../src/Editor/ToolContracts/UIElementInfo.cs | 1 + 31 files changed, 1584 insertions(+), 1 deletion(-) create mode 100644 Assets/Tests/Editor/UIToolkitElementClassifierTests.cs create mode 100644 Assets/Tests/Editor/UIToolkitElementClassifierTests.cs.meta create mode 100644 Assets/Tests/Editor/UIToolkitPanelKindTests.cs create mode 100644 Assets/Tests/Editor/UIToolkitPanelKindTests.cs.meta create mode 100644 Assets/Tests/Editor/UIToolkitReachabilityProbeTests.cs create mode 100644 Assets/Tests/Editor/UIToolkitReachabilityProbeTests.cs.meta create mode 100644 Assets/Tests/Editor/UIToolkitScreenMappingTests.cs create mode 100644 Assets/Tests/Editor/UIToolkitScreenMappingTests.cs.meta create mode 100644 Assets/Tests/PlayMode/UIToolkitElementCollectorTests.cs create mode 100644 Assets/Tests/PlayMode/UIToolkitElementCollectorTests.cs.meta create mode 100644 Assets/UI Toolkit.meta create mode 100644 Assets/UI Toolkit/UnityThemes.meta create mode 100644 Assets/UI Toolkit/UnityThemes/UnityDefaultRuntimeTheme.tss create mode 100644 Assets/UI Toolkit/UnityThemes/UnityDefaultRuntimeTheme.tss.meta create mode 100644 Packages/src/Editor/FirstPartyTools/Screenshot/AnnotatedUiSystem.cs create mode 100644 Packages/src/Editor/FirstPartyTools/Screenshot/AnnotatedUiSystem.cs.meta create mode 100644 Packages/src/Editor/FirstPartyTools/Screenshot/UIToolkitAnnotation.meta create mode 100644 Packages/src/Editor/FirstPartyTools/Screenshot/UIToolkitAnnotation/UIToolkitElementClassifier.cs create mode 100644 Packages/src/Editor/FirstPartyTools/Screenshot/UIToolkitAnnotation/UIToolkitElementClassifier.cs.meta create mode 100644 Packages/src/Editor/FirstPartyTools/Screenshot/UIToolkitAnnotation/UIToolkitElementCollector.cs create mode 100644 Packages/src/Editor/FirstPartyTools/Screenshot/UIToolkitAnnotation/UIToolkitElementCollector.cs.meta create mode 100644 Packages/src/Editor/FirstPartyTools/Screenshot/UIToolkitAnnotation/UIToolkitPanelKind.cs create mode 100644 Packages/src/Editor/FirstPartyTools/Screenshot/UIToolkitAnnotation/UIToolkitPanelKind.cs.meta create mode 100644 Packages/src/Editor/FirstPartyTools/Screenshot/UIToolkitAnnotation/UIToolkitReachabilityProbe.cs create mode 100644 Packages/src/Editor/FirstPartyTools/Screenshot/UIToolkitAnnotation/UIToolkitReachabilityProbe.cs.meta create mode 100644 Packages/src/Editor/FirstPartyTools/Screenshot/UIToolkitAnnotation/UIToolkitScreenMapping.cs create mode 100644 Packages/src/Editor/FirstPartyTools/Screenshot/UIToolkitAnnotation/UIToolkitScreenMapping.cs.meta diff --git a/Assets/Tests/Editor/UIElementAnnotatorCollectTests.cs b/Assets/Tests/Editor/UIElementAnnotatorCollectTests.cs index be0e642510..f4d507d6e5 100644 --- a/Assets/Tests/Editor/UIElementAnnotatorCollectTests.cs +++ b/Assets/Tests/Editor/UIElementAnnotatorCollectTests.cs @@ -89,6 +89,26 @@ public void CollectInteractiveElements_WithEventHandlerScripts_ClassifiesThem() Assert.That(typesByPath[root + "PointerDown"], Is.EqualTo("Button")); } + /// + /// Verifies uGUI elements, both selectables and handler scripts, are tagged as coming from uGUI. + /// + [Test] + public void CollectInteractiveElements_WithUguiElements_TagsThemAsUgui() + { + Assume.That(EventSystem.current, Is.Null); + Transform canvas = CreateCanvas("UiSystem", RenderMode.ScreenSpaceOverlay, true, null); + CreateUiChild