Separate logical ownership, render publication, and GPU retirement across live entities, landblocks, particles, textures, mesh arenas, portal/UI teardown, and per-frame scratch storage. Add bounded DAT/texture caches, upload budgets, three-frame fence retirement, exact-incarnation appearance reconciliation, frame pacing, and extensive lifetime conformance coverage.\n\nThe seven-destination connected route now cuts peak working/private memory roughly in half, returns Caul to 125-153 FPS locally, and produces no WER or AMD reset.\n\nCo-authored-by: OpenAI Codex <codex@openai.com>
33 lines
1.2 KiB
XML
33 lines
1.2 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
<PropertyGroup>
|
|
<TargetFramework>net10.0</TargetFramework>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<Nullable>enable</Nullable>
|
|
<LangVersion>latest</LangVersion>
|
|
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<InternalsVisibleTo Include="AcDream.Content.Tests" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<!-- MP1a: the inline DXT decode moved from ObjectMeshManager uses these
|
|
exact versions (mirror AcDream.App.csproj — keep in lockstep). -->
|
|
<PackageReference Include="BCnEncoder.Net.ImageSharp" Version="1.1.2" />
|
|
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.12" />
|
|
<!-- NO GL binding packages here — ever. This assembly is the GL-free
|
|
extraction half; the MP1b bake tool references it and must not ship
|
|
GL binaries. Upload-format hints use the Content-owned
|
|
UploadPixelFormat / UploadPixelType enums (UploadFormats.cs),
|
|
numerically identical to the GL ABI constants; App casts at the
|
|
upload boundary. -->
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\AcDream.Core\AcDream.Core.csproj" />
|
|
</ItemGroup>
|
|
|
|
</Project>
|