2.4 KiB
Platform stubs reached by the 40250 port route
2026-09-24, macOS arm64, offline port.login_flow (login → select → game → movement, combat, shop, quest, safebox and audio module calls):
MT_PLATFORM_STUB_TRACE=1 ctest --test-dir build-port-gate/macos \
-R '^port.login_flow$' --output-on-failure -V
The first-call trace reported 93 distinct stub signatures. PlatformStub.h now prints qualified signatures, so overloaded Render/Update calls can be routed to their owning class. This is a reachability sample, not a claim that the other platform TODOs are unreachable. The live server, other maps and optional UI have separate call paths.
| Runtime group | Reached stubs to address first | Observable gap |
|---|---|---|
| World and sky | CSkyBox::Update/Render/RenderCloud, CScreenFilter::Set*, CLensFlare::Draw*, CSpeedTreeForest::CreateInstance/UpdateSystem/Render |
Sky, weather, foliage and postprocessing do not follow the original path. |
| Culling and drawing | CCullingManager::Register/Update, Frustum::ViewVolumeTest, CScreen::BuildViewFrustum, CGraphicImageInstance::OnSetImagePointer |
Visibility and remaining UI/render primitives still depend on default-return stubs. |
| Audio internals | NSound::LoadSoundInformationPiece, CSoundBase, CSoundManager2D/3D/Stream constructors |
The new Godot command bridge plays common sounds, but the original Miles object model is not implemented. |
| Platform services | CFileLoaderThread::Fetch, CInputKeyboard::IsPressed, BuildProcessCRC, GetProcessCRCMagicCubePiece, CMSWindow::GetWindowHandle |
Resource scheduling, input polling and the CRC path need focused verification. |
CPythonApplication::SetGlobalCenterPosition appeared in the first trace and was implemented from the 40250 GlobalPositionToLocalPosition → GetHeight → SetCenterPosition sequence in this round. The other groups remain open in the platform queue; do not mark them verified from this smoke test.
2026-09-24 follow-up: CScreen::RenderBox2d and RenderGradationBar2d now emit Godot canvas commands with the source's edge and colour semantics. CSoundManager now forwards named music fade speed/limit, 3D loop counts and indexed volume; its SaveVolume/RestoreVolume sequence preserves the backup. These changes passed the macOS port gate, audio driver test and game render test. The sky, foliage, water, shadows, sphere-pack culling and IME gaps remain open.