{"time":"2026-09-23T11:40:00Z","event":"port_round","unit":"PORT-PLAN 批次 2V0-a: the EterPythonLib window-system headers enter the mirror","ported":["EterPythonLib/StdAfx.h","EterPythonLib/PythonGraphic.h","EterPythonLib/PythonWindow.h","EterPythonLib/PythonWindowManager.h","EterPythonLib/PythonSlotWindow.h","EterPythonLib/PythonGridSlotWindow.h"],"adapted":[],"deleted":[],"divergent":[],"needs_live":[],"staging":{"scope":"headers only; no .cpp unit and therefore no port-map entry — declarations, nothing to call. The EterPythonLib .cpp units are 2V0-b.","mechanical":"port_copy.py copy, 0 of 6 with manual edits: every one compiles as a mechanical CP949->UTF-8 / CRLF->LF / include-case copy.","stdafx":"EterPythonLib/StdAfx.h had to come first: port_header_gate compiles each header behind its library's StdAfx.h, as 40250 does, and without it these five see neither <Python.h>, the STL, nor CSingleton.","slice_list_correction":"audit/slices/2V0.json lists EterLib/Dimm.h as a missing header. It is not: 40250 vendors the MIDL output of the Windows SDK <dimm.h> as EterLib/Dimm.h, and extension/src/port/common/shim/win32/Dimm.h already shims it (a mirror copy shadows the shim for EterLib/IME.h's quoted include and breaks the build on 'rpc.h'). Copied, found, and removed again."},"status_note":"2V0 entry state measured: of the slice's 212 headers 164 were already in the mirror, 48 were not (1 EterLib = the SDK shim above, 5 EterPythonLib = this round, 42 UserInterface = 2V0-d, all behind UserInterface/PythonApplication.h). Of the 10 units, 2 are ported (ScriptLib/PythonLauncher.cpp, UserInterface/PythonPackModule.cpp) and 8 are not.","tests":["cmake --build build --target port_header_gate -> the 6 new gate translation units compile (each header alone, twice, behind EterPythonLib/StdAfx.h)","ctest --test-dir build -> 27/27 passed"],"not_done":"EterPythonLib/*.cpp(2V0-b);wndMgr/grp/grpImage/grpText 模块(2V0-c);42 个 UserInterface 头 + PythonApplicationModule.cpp(2V0-d)","commit":"2V0-a"}
{"time":"2026-09-23T11:40:00Z","event":"port_round","unit":"PORT-PLAN 批次 2V0-a: the EterPythonLib window-system headers enter the mirror","ported":["EterPythonLib/StdAfx.h","EterPythonLib/PythonGraphic.h","EterPythonLib/PythonWindow.h","EterPythonLib/PythonWindowManager.h","EterPythonLib/PythonSlotWindow.h","EterPythonLib/PythonGridSlotWindow.h"],"adapted":[],"deleted":[],"divergent":[],"needs_live":[],"staging":{"scope":"headers only; no .cpp unit and therefore no port-map entry — declarations, nothing to call. The EterPythonLib .cpp units are 2V0-b.","mechanical":"port_copy.py copy, 0 of 6 with manual edits: every one compiles as a mechanical CP949->UTF-8 / CRLF->LF / include-case copy.","stdafx":"EterPythonLib/StdAfx.h had to come first: port_header_gate compiles each header behind its library's StdAfx.h, as 40250 does, and without it these five see neither <Python.h>, the STL, nor CSingleton.","slice_list_correction":"audit/slices/2V0.json lists EterLib/Dimm.h as a missing header. It is not: 40250 vendors the MIDL output of the Windows SDK <dimm.h> as EterLib/Dimm.h, and extension/src/port/common/shim/win32/Dimm.h already shims it (a mirror copy shadows the shim for EterLib/IME.h's quoted include and breaks the build on 'rpc.h'). Copied, found, and removed again."},"status_note":"2V0 entry state measured: of the slice's 212 headers 164 were already in the mirror, 48 were not (1 EterLib = the SDK shim above, 5 EterPythonLib = this round, 42 UserInterface = 2V0-d, all behind UserInterface/PythonApplication.h). Of the 10 units, 2 are ported (ScriptLib/PythonLauncher.cpp, UserInterface/PythonPackModule.cpp) and 8 are not.","tests":["cmake --build build --target port_header_gate -> the 6 new gate translation units compile (each header alone, twice, behind EterPythonLib/StdAfx.h)","ctest --test-dir build -> 27/27 passed"],"not_done":"EterPythonLib/*.cpp(2V0-b);wndMgr/grp/grpImage/grpText 模块(2V0-c);42 个 UserInterface 头 + PythonApplicationModule.cpp(2V0-d)","commit":"2V0-a"}
{"time":"2026-09-23T02:17:52Z","event":"port_round","unit":"PORT-PLAN 批次 2V0-b: window tree completion and 64-bit LZO boundary repair","ported":["EterPythonLib/PythonWindow.cpp (211 functions)","EterPythonLib/PythonWindowManager.cpp (76)","EterPythonLib/PythonSlotWindow.cpp (80)","EterPythonLib/PythonGridSlotWindow.cpp (14)","EterLib/ReferenceObject.cpp (9)","EterLib/Resource.cpp (18)","EterLib/ResourceManager.cpp (25)"],"adapted":["EterBase/lzo.cpp: CLZObject::Compress and CLZObject::Decompress use native-width lzo_uint at the liblzo API while retaining 32-bit pack-header lengths"],"divergent":[],"needs_live":[],"status_note":"The seven units in b4c9d6ce are exact mechanical copies of 40250 (0 manual edits); their 433 functions are recorded in port-map. The original port.window_tree test had four expectations contrary to 40250: DeactivateWindow restores the previous active window and SetTop changes update order; corrected the expectations. A fresh 64-bit build exposed stack corruption in the older LZO caller because Win32 UINT (4 bytes) was passed as native lzo_uint* (8 bytes); fixed the boundary. The normal app path still does not load the UI shell; module registration and rendering remain 2V0-c through 2V0-f.","tests":["port_copy.py diff on seven units: 0 manual edits","ctest -R port.window_tree: pass","ctest -R port.eterpack: pass, including added LZO compress/decompress round trip and full pack inventory","ctest -R port.python_launcher: pass","ctest --test-dir build --output-on-failure -j6: 28/28 pass","port_map.py check: 0 errors"],"not_done":"2V0-c through 2V0-f; normal app startup and visible interactive Logo/Popup are the whole 2V0 acceptance gate, not the 2V0-b substep.","commit":"2V0-b-completion"}
{"time":"2026-09-23T02:17:52Z","event":"port_round","unit":"PORT-PLAN 批次 2V0-b: window tree completion and 64-bit LZO boundary repair","ported":["EterPythonLib/PythonWindow.cpp (211 functions)","EterPythonLib/PythonWindowManager.cpp (76)","EterPythonLib/PythonSlotWindow.cpp (80)","EterPythonLib/PythonGridSlotWindow.cpp (14)","EterLib/ReferenceObject.cpp (9)","EterLib/Resource.cpp (18)","EterLib/ResourceManager.cpp (25)"],"adapted":["EterBase/lzo.cpp: CLZObject::Compress and CLZObject::Decompress use native-width lzo_uint at the liblzo API while retaining 32-bit pack-header lengths"],"divergent":[],"needs_live":[],"status_note":"The seven units in b4c9d6ce are exact mechanical copies of 40250 (0 manual edits); their 433 functions are recorded in port-map. The original port.window_tree test had four expectations contrary to 40250: DeactivateWindow restores the previous active window and SetTop changes update order; corrected the expectations. A fresh 64-bit build exposed stack corruption in the older LZO caller because Win32 UINT (4 bytes) was passed as native lzo_uint* (8 bytes); fixed the boundary. The normal app path still does not load the UI shell; module registration and rendering remain 2V0-c through 2V0-f.","tests":["port_copy.py diff on seven units: 0 manual edits","ctest -R port.window_tree: pass","ctest -R port.eterpack: pass, including added LZO compress/decompress round trip and full pack inventory","ctest -R port.python_launcher: pass","ctest --test-dir build --output-on-failure -j6: 28/28 pass","port_map.py check: 0 errors"],"not_done":"2V0-c through 2V0-f; normal app startup and visible interactive Logo/Popup are the whole 2V0 acceptance gate, not the 2V0-b substep.","commit":"2V0-b-completion"}
{"time":"2026-09-23T02:57:22Z","event":"port_round","unit":"PORT-PLAN 2V0-c/d and beginning of 2V0-e","ported":["EterPythonLib/PythonWindowManagerModule.cpp","EterPythonLib/PythonGraphicModule.cpp","EterPythonLib/PythonGraphicImageModule.cpp","EterPythonLib/PythonGraphicTextModule.cpp","EterPythonLib/PythonGraphicThingModule.cpp","UserInterface/PythonApplicationModule.cpp","ScriptLib/PythonDebugModule.cpp","42 UserInterface dependency headers"],"adapted":["Python pointer handles via PyLong_FromVoidPtr/PyLong_AsVoidPtr (native pointer width)","Win32 FindFirstFile/FindNextFile shim for app file enumeration","Godot PythonBoot registers dbg, grp, grpImage, grpText, wndMgr and app and propagates dbg.LogBox failures"],"divergent":["CPythonApplication platform lifecycle and graphics methods remain MT_PLATFORM_STUB; no visible Logo/Popup yet","DevIL image and DirectShow logo backends remain MT_PLATFORM_STUB"],"tests":["cmake --build build -> pass","ctest --test-dir build --output-on-failure -j6 -> 29/29 passed, 1 skipped","godot --headless --path project --script python_host_test.gd -> system.py reaches constInfo.py import net and reports ImportError through RunMainScript","port_map.py check -> 0 errors"],"not_done":"2V0-e native gameplay module stubs and prototype.RunApp; 2V0-f Godot UI renderer/input/Logo/Popup runtime acceptance","status_note":"The app binding imports, but its CPythonApplication adapter is only a link surface. The 2V0 acceptance gate is not yet met."}
{"time":"2026-09-23T02:57:22Z","event":"port_round","unit":"PORT-PLAN 2V0-c/d and beginning of 2V0-e","ported":["EterPythonLib/PythonWindowManagerModule.cpp","EterPythonLib/PythonGraphicModule.cpp","EterPythonLib/PythonGraphicImageModule.cpp","EterPythonLib/PythonGraphicTextModule.cpp","EterPythonLib/PythonGraphicThingModule.cpp","UserInterface/PythonApplicationModule.cpp","ScriptLib/PythonDebugModule.cpp","42 UserInterface dependency headers"],"adapted":["Python pointer handles via PyLong_FromVoidPtr/PyLong_AsVoidPtr (native pointer width)","Win32 FindFirstFile/FindNextFile shim for app file enumeration","Godot PythonBoot registers dbg, grp, grpImage, grpText, wndMgr and app and propagates dbg.LogBox failures"],"divergent":["CPythonApplication platform lifecycle and graphics methods remain MT_PLATFORM_STUB; no visible Logo/Popup yet","DevIL image and DirectShow logo backends remain MT_PLATFORM_STUB"],"tests":["cmake --build build -> pass","ctest --test-dir build --output-on-failure -j6 -> 29/29 passed, 1 skipped","godot --headless --path project --script python_host_test.gd -> system.py reaches constInfo.py import net and reports ImportError through RunMainScript","port_map.py check -> 0 errors"],"not_done":"2V0-e native gameplay module stubs and prototype.RunApp; 2V0-f Godot UI renderer/input/Logo/Popup runtime acceptance","status_note":"The app binding imports, but its CPythonApplication adapter is only a link surface. The 2V0 acceptance gate is not yet met."}
{"time":"2026-09-23T03:04:18Z","event":"port_round","unit":"PORT-PLAN 2V0-e: native gameplay import stubs through prototype.RunApp","ported":[],"adapted":["27 native module import surfaces generated from 40250 UserInterface export names; functions log module.method and return a placeholder zero","LocaleService default en/1252 from supplied Client/locale.cfg; ForceSetLocale stores requested path","CPythonApplication::Create platform stub raises CREATE_DEVICE so prototype.RunApp handles failure as original Python code expects"],"divergent":["Gameplay module methods and constants are placeholders, not ports; their calls do not implement gameplay","The app platform adapter does not create a device, so RunApp exits before Logo/Popup"],"tests":["godot --headless --path project --script python_host_test.gd -> PASS: system.py reaches prototype.RunApp, catches CREATE_DEVICE, and net/player/item are marked __port_stub__","ctest --test-dir build --output-on-failure -j6 -> 29/29 passed, one skipped","port_map.py check -> 0 errors"],"not_done":"2V0-f: real Godot UI adapter, visible interactive Logo/Popup, input/focus/clipping/text/image tests"}
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.