feat(render): implement Campaign AR and terrain fidelity

This commit is contained in:
Erik 2026-08-22 13:13:29 +02:00
parent 99cf26e00c
commit 7a5f96ede5
368 changed files with 50611 additions and 950 deletions

View file

@ -52,7 +52,10 @@ internal sealed record HostInputCameraDependencies(
LocalPlayerModeState LocalPlayerMode,
ChaseCameraInputState ChaseCameraInput,
PointerPositionState PointerPosition,
IRenderFrameDiagnosticLog RenderDiagnosticLog);
IRenderFrameDiagnosticLog RenderDiagnosticLog,
float? InitialOrbitDistanceMeters = null,
float? InitialOrbitYawDegrees = null,
float? InitialOrbitPitchDegrees = null);
/// <summary>
/// The construction seam every backend differs at. Campaign V slice V6h widened
@ -101,7 +104,10 @@ internal interface IHostInputCameraCompositionFactory
IKeyboardSource keyboard,
IMouseSource mouse,
KeyBindings bindings);
CameraController CreateCameraController();
CameraController CreateCameraController(
float? initialOrbitDistanceMeters,
float? initialOrbitYawDegrees,
float? initialOrbitPitchDegrees);
IFramebufferCameraTarget CreateCameraTarget(CameraController camera);
CameraPointerInputController CreateCameraPointerInput(
IReadOnlyList<IMouse> mice,
@ -311,7 +317,10 @@ internal sealed class HostInputCameraCompositionPhase :
Fault(HostInputCameraCompositionPoint.CameraInputBound);
}
CameraController camera = _factory.CreateCameraController();
CameraController camera = _factory.CreateCameraController(
_dependencies.InitialOrbitDistanceMeters,
_dependencies.InitialOrbitYawDegrees,
_dependencies.InitialOrbitPitchDegrees);
_publication.PublishCameraController(camera);
Fault(HostInputCameraCompositionPoint.CameraPublished);
_dependencies.FramebufferResize.BindCamera(