refactor: rewrite scene streaming & shader bridge
This commit overhauls the scene management and streaming architecture to use a chunk-based asynchronous loading paradigm, and completely decouples the graphics runtime from editor compilation services to eliminate circular dependencies. Shader Bridge Decoupling: - Resolved circular runtime dependency between Ghost.Graphics and Ghost.Editor.Core. - Shifted EditorShaderCompilerBridge from querying EngineCore to a decoupled event-driven model using IShaderCompilationBridge. - Introduced custom stack-friendly delegate ShaderVariantCompiledHandler to handle ReadOnlySpan<ShaderByteCode> compilation buffers while maintaining zero-allocation constraints. - Updated ShaderLibrary to self-manage bytecode caching and stale pipeline eviction by listening to compiler events. Scene & Streaming Overhaul: - Re-implemented Scene.cs with a high-performance two-phase asynchronous scene loading architecture. - Replaced outdated per-entity component processing with chunk-level shared data management using the ISharedComponent paradigm for SceneID. - Optimized ECS Query.cs and Archetype.cs to handle streaming chunk operations efficiently. - Updated AssetManager, ResourceStreamingProcessor, and asset entries (SceneAssetEntry, MeshAssetEntry, TextureAssetEntry) to support the new streaming workflow.
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -13,7 +13,7 @@
|
||||
AGENTS.md
|
||||
.opencode/
|
||||
.code-review-graph/
|
||||
.github/instructions/
|
||||
.antigravitycli/
|
||||
|
||||
ref/
|
||||
docfx/
|
||||
|
||||
Reference in New Issue
Block a user