Aetheria/tools/AetherDb/AetherDb.csproj
Meta Vens 1d15c6780d Rewrite AetherDb over AetheriaStores and CultRecordRef
Cut 8b. AetherDb.Open composes GameData/Aetheria.cc through
AetheriaStores.Open, read-only unless clear-boss-hulls runs with apply;
save attaches GameData/run.cc when present and reads the SavedGame global.

- census, factions, station-fit, hardpoint-fit, loadout, settings,
  settings-dump and clear-boss-hulls read references through the null-safe
  Get(ref) and compare identity by record key (RefOf, from TryGetHandle).
  Their output formats are unchanged so Cut 9 can compare them with the
  Cut 0 captures.
- clear-boss-hulls lands every cleared faction in one Commit.
- The help line lists every command.
- Deleted: doctor, migrate-products, AetherDb.Save(), and
  OpenWithNameFiles. The last was Cut 9's delete, but it needs the removed
  multi-file store, and NameFile now routes to the catalog.
- FindRoot looks for Aetheria.Shared.csproj; AetherDB.msgpack leaves in
  Cut 9.

It compiles. It cannot run until Cut 9 writes Aetheria.cc, so the pre-cut
captures do not apply to this cut.

Builds: Aetheria.Shared, AetherDb.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 19:05:14 +02:00

18 lines
934 B
XML

<Project Sdk="Microsoft.NET.Sdk">
<!-- Inspects and edits GameData/Aetheria.cc through the headless Aetheria.Shared build of ServerShared.
A real project rather than file-based scripts on purpose: running a loose script file caches a build per
script and does not rebuild when the referenced project changes, so scripts ran against stale schemas. -->
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<Nullable>disable</Nullable>
<ImplicitUsings>disable</ImplicitUsings>
<RootNamespace>AetherDbTool</RootNamespace>
<NoWarn>$(NoWarn);CS1701;CS1702</NoWarn>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\Aetheria.Shared\Aetheria.Shared.csproj" />
<!-- Unity asset files are YAML; parsing them is a solved problem, not one to hand roll -->
<PackageReference Include="YamlDotNet" Version="16.2.1" />
</ItemGroup>
</Project>