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

@@ -1,6 +1,6 @@
#pragma once
#include <XCEditor/App/EditorEditCommandRoute.h>
#include "Commands/EditorEditCommandRoute.h"
#include <string>

View File

@@ -3,9 +3,7 @@
#include "Rendering/Viewport/ViewportHostService.h"
#include "Scene/EditorSceneRuntime.h"
#include <Rendering/Native/NativeRenderer.h>
#include <XCEditor/App/EditorPanelIds.h>
#include "Composition/EditorPanelIds.h"
#include <XCEditor/Viewport/UIEditorViewportInputBridge.h>
#include <XCEditor/Viewport/UIEditorViewportSlot.h>
@@ -120,12 +118,12 @@ void ApplySceneToolMode(
void SceneViewportController::Initialize(
const std::filesystem::path& repoRoot,
Host::NativeRenderer& renderer) {
Host::TextureHost& renderer) {
m_toolOverlay.Initialize(repoRoot, renderer);
ResetInteractionState();
}
void SceneViewportController::Shutdown(Host::NativeRenderer& renderer) {
void SceneViewportController::Shutdown(Host::TextureHost& renderer) {
m_toolOverlay.Shutdown(renderer);
ResetInteractionState();
}

View File

@@ -20,7 +20,7 @@ class ViewportHostService;
namespace XCEngine::UI::Editor::Host {
class NativeRenderer;
class TextureHost;
} // namespace XCEngine::UI::Editor::Host
@@ -30,8 +30,8 @@ class SceneViewportController {
public:
void Initialize(
const std::filesystem::path& repoRoot,
Host::NativeRenderer& renderer);
void Shutdown(Host::NativeRenderer& renderer);
Host::TextureHost& renderer);
void Shutdown(Host::TextureHost& renderer);
void ResetInteractionState();
void Update(

View File

@@ -1,6 +1,6 @@
#include "Features/Scene/SceneViewportToolOverlay.h"
#include <Rendering/Native/NativeRenderer.h>
#include "Host/TextureHost.h"
#include <algorithm>
#include <array>
@@ -57,7 +57,7 @@ UIRect BuildButtonRect(const UIRect& panelRect, std::size_t index) {
bool SceneViewportToolOverlay::Initialize(
const std::filesystem::path& repoRoot,
Host::NativeRenderer& renderer) {
Host::TextureHost& renderer) {
Shutdown(renderer);
const std::filesystem::path iconRoot =
@@ -87,7 +87,7 @@ bool SceneViewportToolOverlay::Initialize(
return loadedAnyTexture;
}
void SceneViewportToolOverlay::Shutdown(Host::NativeRenderer& renderer) {
void SceneViewportToolOverlay::Shutdown(Host::TextureHost& renderer) {
for (ToolTextureSet& textureSet : m_toolTextures) {
renderer.ReleaseTexture(textureSet.inactiveTexture);
renderer.ReleaseTexture(textureSet.activeTexture);

View File

@@ -1,6 +1,7 @@
#pragma once
#include "Scene/SceneToolState.h"
#include "Host/HostFwd.h"
#include <XCEngine/UI/DrawData.h>
#include <XCEngine/UI/Types.h>
@@ -9,12 +10,6 @@
#include <filesystem>
#include <cstddef>
namespace XCEngine::UI::Editor::Host {
class NativeRenderer;
} // namespace XCEngine::UI::Editor::Host
namespace XCEngine::UI::Editor::App {
inline constexpr std::size_t kSceneViewportToolOverlayInvalidIndex =
@@ -41,8 +36,8 @@ class SceneViewportToolOverlay {
public:
bool Initialize(
const std::filesystem::path& repoRoot,
Host::NativeRenderer& renderer);
void Shutdown(Host::NativeRenderer& renderer);
Host::TextureHost& renderer);
void Shutdown(Host::TextureHost& renderer);
void ResetFrame();
void BuildFrame(