refactor(new_editor): tighten app dependency boundaries

This commit is contained in:
2026-04-19 02:48:41 +08:00
parent 7429f22fb1
commit c59cd83c38
86 changed files with 1754 additions and 1077 deletions

View File

@@ -12,6 +12,7 @@
#include "Composition/WorkspaceEventSync.h"
#include <XCEditor/Shell/UIEditorShellInteraction.h>
#include <XCEditor/Foundation/UIEditorTextMeasurement.h>
#include <XCEditor/Workspace/UIEditorWorkspaceLayoutPersistence.h>
#include <XCEditor/Workspace/UIEditorWorkspaceSplitterDragCorrection.h>
@@ -29,8 +30,8 @@ class EditorContext;
namespace XCEngine::UI::Editor::Host {
class D3D12WindowRenderer;
class NativeRenderer;
class TextureHost;
class ViewportRenderHost;
} // namespace XCEngine::UI::Editor::Host
@@ -46,10 +47,11 @@ class EditorShellRuntime {
public:
void Initialize(
const std::filesystem::path& repoRoot,
Host::NativeRenderer& renderer);
Host::TextureHost& textureHost,
UIEditorTextMeasurer& textMeasurer);
void Shutdown();
void ResetInteractionState();
void AttachViewportWindowRenderer(Host::D3D12WindowRenderer& renderer);
void AttachViewportWindowRenderer(Host::ViewportRenderHost& renderer);
void DetachViewportWindowRenderer();
void SetViewportSurfacePresentationEnabled(bool enabled);
@@ -87,7 +89,7 @@ public:
private:
ViewportHostService m_viewportHostService = {};
BuiltInIcons m_builtInIcons = {};
Host::NativeRenderer* m_nativeRenderer = nullptr;
Host::TextureHost* m_textureHost = nullptr;
ConsolePanel m_consolePanel = {};
HierarchyPanel m_hierarchyPanel = {};
InspectorPanel m_inspectorPanel = {};