#pragma once #include #include #include #include #include namespace XCEngine::UI::Editor { struct StructuredEditorShellBinding { ::XCEngine::UI::Runtime::UIScreenAsset screenAsset = {}; UIEditorWorkspaceController workspaceController = {}; UIEditorShellInteractionDefinition shellDefinition = {}; UIEditorShortcutManager shortcutManager = {}; EditorShellAssetValidationResult assetValidation = {}; [[nodiscard]] bool IsValid() const { return assetValidation.IsValid(); } }; StructuredEditorShellBinding BuildStructuredEditorShellBinding(const EditorShellAsset& asset); UIEditorShellInteractionServices BuildStructuredEditorShellServices( const StructuredEditorShellBinding& binding); } // namespace XCEngine::UI::Editor