Files
lingua-engine/LinguaEngine.sln
T
EmilandClaude Sonnet 5 1459657408 Scaffold the .sln and M0 project structure
Buildable skeleton matching docs/kernel-contract.md:

- src/Engine.Kernel — the frozen kernel. Interfaces and data types only
  (World, Component, GameObject, Transform, ISchedule, IServiceRegistry,
  IEventBus, ILogger, IPlugin/IPluginContext, plugin.json and project.json
  manifest models). No PluginHost/Scheduler/World implementation yet —
  that's M0's actual work, not scaffolding.
- src/Engine.Host — the CLI runtime entry point, placeholder for now.
- plugins/sandbox.echo — a minimal two-assembly plugin (Contracts in
  Default ALC, implementation in collectible ALC) that exists only to
  exercise the reload loop end to end once PluginHost exists.
- tests/Engine.Kernel.Tests, tests/Engine.ConformanceHarness — wired up
  with one Skip-marked placeholder test each, naming what M0 needs to
  make them real (including the 200-cycle ALC leak test from §4). The
  harness references the sandbox plugin with
  ReferenceOutputAssembly="false" so it loads it dynamically by path
  instead of linking its types into its own Default ALC.
- samples/EmptyProject — a starter project.json.
- Directory.Build.props centralizes shared settings across every
  project, including AllowUnsafeBlocks=false to enforce the §7 rule at
  the build level rather than by convention.

Solution builds clean and `dotnet test` runs both placeholders as
Skipped (not failing) — confirms the wiring, not the engine.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N1qPfzq8TDCUMFMV3UwV5N
2026-09-02 00:26:08 +03:00

122 lines
8.3 KiB
Plaintext

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{827E0CD3-B72D-47B6-A68D-7590B98EB39B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Engine.Kernel", "src\Engine.Kernel\Engine.Kernel.csproj", "{40297197-30BF-4180-88C9-916E66859E0F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Engine.Host", "src\Engine.Host\Engine.Host.csproj", "{A12B1299-FAF6-4BC9-A54A-D23F7A6DB6DF}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "plugins", "plugins", "{07D57EEB-2F50-60C4-C011-FE4FA775C9A8}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "sandbox.echo", "sandbox.echo", "{5277871D-FD82-4E0F-9994-47CB654DDE62}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sandbox.Echo.Contracts", "plugins\sandbox.echo\Sandbox.Echo.Contracts\Sandbox.Echo.Contracts.csproj", "{6CDA3EB0-CC08-48E6-B946-183D31840661}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sandbox.Echo", "plugins\sandbox.echo\Sandbox.Echo\Sandbox.Echo.csproj", "{B0F967C4-B801-4A53-829E-689C2728553A}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{0AB3BF05-4346-4AA6-1389-037BE0695223}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Engine.Kernel.Tests", "tests\Engine.Kernel.Tests\Engine.Kernel.Tests.csproj", "{D7C61E35-8805-4C28-B3D7-084D8FBC6820}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Engine.ConformanceHarness", "tests\Engine.ConformanceHarness\Engine.ConformanceHarness.csproj", "{C9725988-61CD-4EFC-A3DD-F7F42B3C4B2D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{40297197-30BF-4180-88C9-916E66859E0F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{40297197-30BF-4180-88C9-916E66859E0F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{40297197-30BF-4180-88C9-916E66859E0F}.Debug|x64.ActiveCfg = Debug|Any CPU
{40297197-30BF-4180-88C9-916E66859E0F}.Debug|x64.Build.0 = Debug|Any CPU
{40297197-30BF-4180-88C9-916E66859E0F}.Debug|x86.ActiveCfg = Debug|Any CPU
{40297197-30BF-4180-88C9-916E66859E0F}.Debug|x86.Build.0 = Debug|Any CPU
{40297197-30BF-4180-88C9-916E66859E0F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{40297197-30BF-4180-88C9-916E66859E0F}.Release|Any CPU.Build.0 = Release|Any CPU
{40297197-30BF-4180-88C9-916E66859E0F}.Release|x64.ActiveCfg = Release|Any CPU
{40297197-30BF-4180-88C9-916E66859E0F}.Release|x64.Build.0 = Release|Any CPU
{40297197-30BF-4180-88C9-916E66859E0F}.Release|x86.ActiveCfg = Release|Any CPU
{40297197-30BF-4180-88C9-916E66859E0F}.Release|x86.Build.0 = Release|Any CPU
{A12B1299-FAF6-4BC9-A54A-D23F7A6DB6DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A12B1299-FAF6-4BC9-A54A-D23F7A6DB6DF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A12B1299-FAF6-4BC9-A54A-D23F7A6DB6DF}.Debug|x64.ActiveCfg = Debug|Any CPU
{A12B1299-FAF6-4BC9-A54A-D23F7A6DB6DF}.Debug|x64.Build.0 = Debug|Any CPU
{A12B1299-FAF6-4BC9-A54A-D23F7A6DB6DF}.Debug|x86.ActiveCfg = Debug|Any CPU
{A12B1299-FAF6-4BC9-A54A-D23F7A6DB6DF}.Debug|x86.Build.0 = Debug|Any CPU
{A12B1299-FAF6-4BC9-A54A-D23F7A6DB6DF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A12B1299-FAF6-4BC9-A54A-D23F7A6DB6DF}.Release|Any CPU.Build.0 = Release|Any CPU
{A12B1299-FAF6-4BC9-A54A-D23F7A6DB6DF}.Release|x64.ActiveCfg = Release|Any CPU
{A12B1299-FAF6-4BC9-A54A-D23F7A6DB6DF}.Release|x64.Build.0 = Release|Any CPU
{A12B1299-FAF6-4BC9-A54A-D23F7A6DB6DF}.Release|x86.ActiveCfg = Release|Any CPU
{A12B1299-FAF6-4BC9-A54A-D23F7A6DB6DF}.Release|x86.Build.0 = Release|Any CPU
{6CDA3EB0-CC08-48E6-B946-183D31840661}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6CDA3EB0-CC08-48E6-B946-183D31840661}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6CDA3EB0-CC08-48E6-B946-183D31840661}.Debug|x64.ActiveCfg = Debug|Any CPU
{6CDA3EB0-CC08-48E6-B946-183D31840661}.Debug|x64.Build.0 = Debug|Any CPU
{6CDA3EB0-CC08-48E6-B946-183D31840661}.Debug|x86.ActiveCfg = Debug|Any CPU
{6CDA3EB0-CC08-48E6-B946-183D31840661}.Debug|x86.Build.0 = Debug|Any CPU
{6CDA3EB0-CC08-48E6-B946-183D31840661}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6CDA3EB0-CC08-48E6-B946-183D31840661}.Release|Any CPU.Build.0 = Release|Any CPU
{6CDA3EB0-CC08-48E6-B946-183D31840661}.Release|x64.ActiveCfg = Release|Any CPU
{6CDA3EB0-CC08-48E6-B946-183D31840661}.Release|x64.Build.0 = Release|Any CPU
{6CDA3EB0-CC08-48E6-B946-183D31840661}.Release|x86.ActiveCfg = Release|Any CPU
{6CDA3EB0-CC08-48E6-B946-183D31840661}.Release|x86.Build.0 = Release|Any CPU
{B0F967C4-B801-4A53-829E-689C2728553A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B0F967C4-B801-4A53-829E-689C2728553A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B0F967C4-B801-4A53-829E-689C2728553A}.Debug|x64.ActiveCfg = Debug|Any CPU
{B0F967C4-B801-4A53-829E-689C2728553A}.Debug|x64.Build.0 = Debug|Any CPU
{B0F967C4-B801-4A53-829E-689C2728553A}.Debug|x86.ActiveCfg = Debug|Any CPU
{B0F967C4-B801-4A53-829E-689C2728553A}.Debug|x86.Build.0 = Debug|Any CPU
{B0F967C4-B801-4A53-829E-689C2728553A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B0F967C4-B801-4A53-829E-689C2728553A}.Release|Any CPU.Build.0 = Release|Any CPU
{B0F967C4-B801-4A53-829E-689C2728553A}.Release|x64.ActiveCfg = Release|Any CPU
{B0F967C4-B801-4A53-829E-689C2728553A}.Release|x64.Build.0 = Release|Any CPU
{B0F967C4-B801-4A53-829E-689C2728553A}.Release|x86.ActiveCfg = Release|Any CPU
{B0F967C4-B801-4A53-829E-689C2728553A}.Release|x86.Build.0 = Release|Any CPU
{D7C61E35-8805-4C28-B3D7-084D8FBC6820}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D7C61E35-8805-4C28-B3D7-084D8FBC6820}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D7C61E35-8805-4C28-B3D7-084D8FBC6820}.Debug|x64.ActiveCfg = Debug|Any CPU
{D7C61E35-8805-4C28-B3D7-084D8FBC6820}.Debug|x64.Build.0 = Debug|Any CPU
{D7C61E35-8805-4C28-B3D7-084D8FBC6820}.Debug|x86.ActiveCfg = Debug|Any CPU
{D7C61E35-8805-4C28-B3D7-084D8FBC6820}.Debug|x86.Build.0 = Debug|Any CPU
{D7C61E35-8805-4C28-B3D7-084D8FBC6820}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D7C61E35-8805-4C28-B3D7-084D8FBC6820}.Release|Any CPU.Build.0 = Release|Any CPU
{D7C61E35-8805-4C28-B3D7-084D8FBC6820}.Release|x64.ActiveCfg = Release|Any CPU
{D7C61E35-8805-4C28-B3D7-084D8FBC6820}.Release|x64.Build.0 = Release|Any CPU
{D7C61E35-8805-4C28-B3D7-084D8FBC6820}.Release|x86.ActiveCfg = Release|Any CPU
{D7C61E35-8805-4C28-B3D7-084D8FBC6820}.Release|x86.Build.0 = Release|Any CPU
{C9725988-61CD-4EFC-A3DD-F7F42B3C4B2D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C9725988-61CD-4EFC-A3DD-F7F42B3C4B2D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C9725988-61CD-4EFC-A3DD-F7F42B3C4B2D}.Debug|x64.ActiveCfg = Debug|Any CPU
{C9725988-61CD-4EFC-A3DD-F7F42B3C4B2D}.Debug|x64.Build.0 = Debug|Any CPU
{C9725988-61CD-4EFC-A3DD-F7F42B3C4B2D}.Debug|x86.ActiveCfg = Debug|Any CPU
{C9725988-61CD-4EFC-A3DD-F7F42B3C4B2D}.Debug|x86.Build.0 = Debug|Any CPU
{C9725988-61CD-4EFC-A3DD-F7F42B3C4B2D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C9725988-61CD-4EFC-A3DD-F7F42B3C4B2D}.Release|Any CPU.Build.0 = Release|Any CPU
{C9725988-61CD-4EFC-A3DD-F7F42B3C4B2D}.Release|x64.ActiveCfg = Release|Any CPU
{C9725988-61CD-4EFC-A3DD-F7F42B3C4B2D}.Release|x64.Build.0 = Release|Any CPU
{C9725988-61CD-4EFC-A3DD-F7F42B3C4B2D}.Release|x86.ActiveCfg = Release|Any CPU
{C9725988-61CD-4EFC-A3DD-F7F42B3C4B2D}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{40297197-30BF-4180-88C9-916E66859E0F} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{A12B1299-FAF6-4BC9-A54A-D23F7A6DB6DF} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{5277871D-FD82-4E0F-9994-47CB654DDE62} = {07D57EEB-2F50-60C4-C011-FE4FA775C9A8}
{6CDA3EB0-CC08-48E6-B946-183D31840661} = {5277871D-FD82-4E0F-9994-47CB654DDE62}
{B0F967C4-B801-4A53-829E-689C2728553A} = {5277871D-FD82-4E0F-9994-47CB654DDE62}
{D7C61E35-8805-4C28-B3D7-084D8FBC6820} = {0AB3BF05-4346-4AA6-1389-037BE0695223}
{C9725988-61CD-4EFC-A3DD-F7F42B3C4B2D} = {0AB3BF05-4346-4AA6-1389-037BE0695223}
EndGlobalSection
EndGlobal