Bug fixes
VS results photo wipe + OpenGL FB-passthrough (#157)
- VS-match → results-screen photo wipe rendered upside-down on D3D11. Bridge call now passes
v0/v1swapped so the registered FB sub-rect matches the transition mesh's bottom-up UV authoring; libultraship'sFbUvTransformhandles the resulting negativescaleV. - On OpenGL the same path was doubly broken:
GfxRenderingAPIOGL::CreateFramebuffernever registered the FB color attachment intextures[], so the GLSL fragment shader'stexture_width/heightuniforms read 0 and0.5/texSizedivided by zero inclamp()andfilter3point()(1P black, VS halt). Once that was fixed, OGL still rendered Y-inverted because OGL's FBO sample direction is opposite of its render direction wheninvertY=true. NewGfxRenderingAPI::FbNeedsSampleVFlip(default false; OGL returnsinvertY) lets the FB-passthrough hook apply a post-transform V-flip without touching D3D11/Metal.
D3D11, OpenGL, and Metal all render the photo wipe and 1P stage-clear wallpaper right-side-up after this release.
Closes #157.