feat(runtime): define borrowed views commands and ordered events

Establish the J1 presentation-independent contract with instance-scoped clocks and generations, immutable borrowed views, typed generation-gated commands, normalized ordered diagnostics, and teardown acknowledgements. Route graphical startup plus press-time selection, movement, and combat through focused App adapters over the exact existing owners without adding a queue or mirrored world.

Validated by the Release solution build, 13 Runtime tests, 3,838 App tests with three existing skips, and the complete 8,424-test Release suite with five existing skips.

Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-25 19:08:42 +02:00
parent afebbe3eca
commit 854d9e9cd1
21 changed files with 2594 additions and 44 deletions

View file

@ -3,6 +3,7 @@ using AcDream.App.Input;
using AcDream.App.Rendering;
using AcDream.App.Rendering.Scene;
using AcDream.App.Rendering.Vfx;
using AcDream.App.Runtime;
using AcDream.App.Settings;
using AcDream.App.Update;
using AcDream.App.World;
@ -58,7 +59,8 @@ internal sealed record FrameRootResult(
RenderFrameOrchestrator Render,
FrameRootRuntimeBindings RuntimeBindings,
IDisposable FrameGraphPublication,
AcDream.App.Net.LiveSessionHost SessionHost);
AcDream.App.Net.LiveSessionHost SessionHost,
CurrentGameRuntimeAdapter GameRuntime);
internal interface IGameWindowFrameRootPublication
{
@ -566,7 +568,8 @@ internal sealed class FrameRootCompositionPhase
renderFrame,
bindings,
frameGraphPublication,
session.SessionHost);
session.SessionHost,
session.GameRuntime);
_publication.PublishFrameRoots(result);
graphLease.Transfer();
bindingsLease.Transfer();