fix: move the #387 resize evidence line into the typed owner

GameWindowSlice8BoundaryTests.FramebufferResize_IsOneTypedOwnerHandoff
correctly rejected the log line added to GameWindow.OnFramebufferResize
— the window callback is contractually a one-line handoff. The line now
lives in FramebufferResizeController.Resize after its zero-size gate,
which is also the better home (one owner, all callers covered). Full
Debug App suite 4,941/3 skips.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-08-13 09:18:30 +02:00
parent 11e26c909d
commit a57287f8ad
2 changed files with 8 additions and 6 deletions

View file

@ -111,6 +111,13 @@ internal sealed class FramebufferResizeController
if (width <= 0 || height <= 0)
return;
// #387 evidence line (permanent — resize events are rare and this is
// the only trace of whether the native event fired at all). Lives here
// rather than in GameWindow.OnFramebufferResize because the window
// callback is contractually a one-line typed-owner handoff
// (GameWindowSlice8BoundaryTests.FramebufferResize_IsOneTypedOwnerHandoff).
Console.WriteLine($"window: framebuffer resize event {width}x{height}");
// Frozen order: GL viewport, shared aspect publication, camera, then
// the optional developer-tools layout reset (unbound since Campaign V
// slice V11 removed the ImGui frontend). Late binding never replays an

View file

@ -1625,12 +1625,7 @@ public sealed class GameWindow :
/// previously off the new viewport snap back to default positions.
/// </summary>
private void OnFramebufferResize(Silk.NET.Maths.Vector2D<int> newSize)
{
// #387 evidence line (permanent — resize events are rare and this is
// the only trace of whether the native event fired at all).
Console.WriteLine($"window: framebuffer resize event {newSize.X}x{newSize.Y}");
_framebufferResize.Resize(newSize);
}
=> _framebufferResize.Resize(newSize);
private void OnClosing() => CompleteShutdown(releaseNativeWindow: false);