Extract ADV host contract

This commit is contained in:
gamer147
2026-08-03 11:04:35 -04:00
parent 9ec2740e71
commit b82a9340a8
4 changed files with 97 additions and 84 deletions

View File

@@ -166,12 +166,13 @@ reporting contracts, while `engine/Age.Engine/Hosting/ILifecycleHost.cs` owns sc
timed-deadline waiting, frame yield, and scene reset. `engine/Age.Engine/Hosting/IAudioHost.cs` owns BGM, voice,
SFX, fade, volume, and route-control contracts, including the compatibility overload/default chains used by
simple hosts. `engine/Age.Engine/Hosting/IMovieHost.cs` owns ordinary, positioned, mask-transition, activity-query,
and modal movie playback contracts. `IHost` inherits all four focused contracts; their required and default
behavior is unchanged. `engine/Age.Engine/Hosting/IGraphicsHost.cs` owns mutable surfaces, retained-range/frame
presentation, transitions, texture lifecycle, pixel capture/replace, draw, and size contracts; `IHost` also
inherits this focused surface without changing existing hosts. `engine/Age.Engine/Hosting/IInputHost.cs` owns
modal fullwidth entry, ADV waits/callback servicing, input clock, cursor resources, and skip-state interaction;
its required wait and overload/default chains remain unchanged. The neutral
and modal movie playback contracts. `engine/Age.Engine/Hosting/IGraphicsHost.cs` owns mutable surfaces,
retained-range/frame presentation, transitions, texture lifecycle, pixel capture/replace, draw, and size
contracts. `engine/Age.Engine/Hosting/IInputHost.cs` owns modal fullwidth entry, ADV waits/callback servicing,
input clock, cursor resources, and skip-state interaction. `engine/Age.Engine/Hosting/IAdvHost.cs` owns live and
surface text, history presentation, ADV layout publication, message presentation settings, wait indicators, and
page-presentation suspension. `IHost` inherits all seven focused contracts; every required member and
overload/default chain remains unchanged. The neutral
`engine/Age.Engine/Model/MovieMaskTransitionRequest.cs` record carries movie mask work between the VM, host, and
retained graphics without making `Model` depend on `Hosting`.
`engine/Age.Engine/Model/RgbaImage.cs` owns the format-independent packed RGBA image transported between SYS4