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.
6.2 KiB
6.2 KiB