forked from Misaki/GhostEngine
- Add SceneNode and EntityNode classes for editor-only metadata storage - Implement SceneGraph view-model with O(1) entity lookup via internal caching - Create IdRemapTable for file-local to global entity ID remapping on load - Implement SceneSerializationContext for load/save operation tracking - Add JSON-serializable SceneAssetData, EntityData, and ComponentData models - Implement SceneSerializer for save/load with validation and reference remapping - Add comprehensive documentation: README.md, IMPLEMENTATION_GUIDE.md, SYSTEM_SUMMARY.md - Update Ghost.Editor.Core.csproj to reference Ghost.Entities assembly - Support parent-child relationships via Hierarchy component - Enforce no cross-scene entity references - Keep runtime minimal: only SceneID, Hierarchy, LocalToWorld components - All editor metadata (names, UI state) stored in editor-only SceneNode/EntityNode classes This implements the architecture from SceneGraph Plan.md with clean separation of concerns, minimal runtime footprint, and AOT compatibility.
47 lines
1.9 KiB
XML
47 lines
1.9 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
<PropertyGroup>
|
|
<TargetFramework>net10.0-windows10.0.22621.0</TargetFramework>
|
|
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
|
|
<RootNamespace>Ghost.Editor.Core</RootNamespace>
|
|
<RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>
|
|
<UseWinUI>true</UseWinUI>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<SupportedOSPlatformVersion>10.0.20348.0</SupportedOSPlatformVersion>
|
|
<Nullable>enable</Nullable>
|
|
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
|
<!-- in .net 10, field keyword is not preview anymore, but we are still waiting roslyn team to update their code analyzer packages -->
|
|
<langversion>preview</langversion>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.7175" />
|
|
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.8.251106002" />
|
|
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.0" />
|
|
<PackageReference Include="CommunityToolkit.WinUI.Behaviors" Version="8.2.250402" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\Ghost.Data\Ghost.Data.csproj" />
|
|
<ProjectReference Include="..\Ghost.Core\Ghost.Core.csproj" />
|
|
<ProjectReference Include="..\Ghost.Entities\Ghost.Entities.csproj" />
|
|
<ProjectReference Include="..\Ghost.Engine\Ghost.Engine.csproj" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Page Update="Controls\BasicInput\PropertyField.xaml">
|
|
<SubType>Designer</SubType>
|
|
</Page>
|
|
<Page Update="Controls\BasicInput\Vector3Field.xaml">
|
|
<SubType>Designer</SubType>
|
|
</Page>
|
|
<Page Update="Controls\ControlsDictionary.xaml">
|
|
<SubType>Designer</SubType>
|
|
</Page>
|
|
<Page Update="Controls\Internal\ComponentDataView.xaml">
|
|
<SubType>Designer</SubType>
|
|
</Page>
|
|
<Page Update="Controls\Internal\NavigationTabView.xaml">
|
|
<SubType>Designer</SubType>
|
|
</Page>
|
|
</ItemGroup>
|
|
</Project>
|