#pragma once #include "Features/Inspector/InspectorSubject.h" #include #include #include namespace XCEngine::UI::Editor::App { class EditorSceneRuntime; class InspectorComponentEditorRegistry; struct InspectorPresentationComponentBinding { std::string componentId = {}; std::string typeName = {}; std::string displayName = {}; bool removable = false; std::vector fieldIds = {}; }; struct InspectorPresentationModel { bool hasSelection = false; std::string title = {}; std::string subtitle = {}; std::vector sections = {}; std::vector componentBindings = {}; }; InspectorPresentationModel BuildInspectorPresentationModel( const InspectorSubject& subject, const EditorSceneRuntime& sceneRuntime, const InspectorComponentEditorRegistry& componentEditorRegistry); } // namespace XCEngine::UI::Editor::App