|
23 | 23 | "summary": "Skeleton-tier loaders/perf compile + probe; the PEโD3D11โMetal pipeline is proven end-to-end with a self-authored own1 D3D11 PE (r12, pixel-readback verified) = validated_manjeom first_own1_authored_d3d11_pe_to_metal_frame (infrastructure milestone). NO commercial game frame evidenced yet (real game = full Win32/D3D11 surface + real assets + real PE)." |
24 | 24 | }, |
25 | 25 | { |
26 | | - "name": "๐ง blocking-frontiers โ validated_manjeom>0 ๊ฒฝ๋ก (fleet-lab SSOT)", |
27 | | - "summary": "validated_manjeom=0(์ค ๊ฒ์ ํ๋ ์ ๋ฏธ์ฆ๋ช
) ๋ํ์ ๋ช
๋ช
๋ ์ฌ๋ค๋ฆฌ = native E-series (docs/CLOSURE_ROADMAP.md ยง5). fleet-lab F-NSWINDOW-E5 ๊ฐ ์ถ์ . ๊ฐ ๋ผ์ด๋ measured ๊ฒฐ๊ณผ๋ฅผ ์ฌ๊ธฐ update-in-place ๋ฐ์ โ ์ฐจ์ธ์
research ๊ฐ ํฉ์ด์ง ๋ฉ๋ชจ๋ฆฌ ๋์ ํ ๊ณณ์์ ํ์ ์ ๋ณธ๋ค.", |
| 26 | + "name": "๐ง frontiers โ E5 ์ธํ๋ผ โ
proven / ์์
๊ฒ์ โฌ open", |
| 27 | + "summary": "validated_manjeom ์ฌ๋ค๋ฆฌ(docs/CLOSURE_ROADMAP.md ยง5)์ ํ์ฌ์ํ SSOT. E5 ์ธํ๋ผ ํ์ดํ๋ผ์ธ(PEโi386 ์ธํฐํ๋ฆฌํฐโIAT autobindโD3D11โMetalโreadback)์ r10โr12๋ก ์ฆ๋ช
์๋ฃ(์์ own1 PE ๊ธฐ์ค). ์์
๊ฒ์ ํ๋ ์์ ๋ฏธ์ฆ๋ช
(open). ๋ผ์ด๋๋ณ ์ธก์ ์ด๋ ฅ์ CHANGELOG+git+memory(project_gamebox_e3_frontier).", |
28 | 28 | "children": [ |
29 | 29 | { |
30 | 30 | "name": "F-NSWINDOW-E5 โ E1โ
E2โ
E3โ
E4โ
(IAT name-autobind) E5โ
(r12: PEโD3D11โMetal ์ธํ๋ผ ๋ง์ผ์คํค)", |
31 | 31 | "summary": "validated_manjeom ์ฌ๋ค๋ฆฌ(docs/CLOSURE_ROADMAP.md ยง5). E1 PE-parse+mmap doneยทE2 i386 ๋์ฝ๋ doneยทE3 i386 ์ธํฐํ๋ฆฌํฐ done(์ค game-binary EXECUTE)ยทE4 kernel32 IAT name-autobind done(ํฉ์ฑ prologue CRTโuser-entry handoffยทinsns=60ยทK32 13ยทIAT name-autobind)ยทE5 r10-r12 ์๋ฃ: r10 ํค๋๋ฆฌ์ค Metal ์คํ์คํฌ๋ฆฐ ๋ ๋+readback PASSยทr11 D3D11โMetal ๋ธ๋ฆฌ์ง ๋ค์ดํฐ๋ธ PASSยทr12 PEโD3D11โMetal end-to-end PASS(insns=11 imports=7 px_clear=0x0000FFFF px_triangle=0xFF0000FF nonuniform=1). validated_manjeom=first_own1_authored_d3d11_pe_to_metal_frame(์ธํ๋ผ ๋ง์ผ์คํคยท์์
๊ฒ์ ์๋). ๋ค์: ์์
๊ฒ์ ๋ฐฉํฅ โ Win32 API ์ํผ์ค ํ์ฅยทopcode ์ปค๋ฒ๋ฆฌ์งยทvtable [reg+offset] ๊ฐ์ callยท์ค ๊ฒ์ PE IAT ์ถ์ ." |
32 | 32 | }, |
33 | 33 | { |
34 | | - "name": "E4 r5 measured (2026-06-26ยท#19/24/25/26 merged) โ 18๋ช
๋ น ์คํยทkernel32 5 import ๋ฐ์ธ๋ฉ", |
35 | | - "summary": "native/i386_cpu.c ์ธํฐํ๋ฆฌํฐ๊ฐ ์ค __scrt_common_main prologue 18๋ช
๋ น ์คํ. import-stub registry 5์ํธ๋ฆฌ ๋ฐ์ธ๋ฉ(GetCurrentThreadIdยทGetCurrentProcessIdยทGetTickCountยทGetSystemTimeAsFileTime[๋ฒํผ์ฐ๊ธฐ shimยทLPFILETIME 8B mem_write]ยทQueryPerformanceCounter). ๋์ฝ๋ group-1 imm+mov r/m imm+byte mov+test+and/or+shift(0xC1/D1/D3) ์ปค๋ฒ(C+i386_decode.hexa RUNEQ byte-eq). EFLAGS(CF/PF/AF/ZF/SF/OF) ๋ชจ๋ธ. ์ธก์ : insns 1(r2)โ9(r3)โ11(r4)โ**18(r5)**ยทhalt@0x5392A1=unbound IAT slot 0x538014. Blacksmith CI ๊ฒ์ดํธ(i386_cpu_test PASSยทci.yml native step). own1: ๋ก๋๊ฐ ์๊ธฐ import ๋ฐ์ธ๋ฉ=๋ก๋ฉ(๋ฐ์ดํจ์ค ์๋)ยทkernel32=OS APIยทWine/QEMU 0. โ ๏ธ validated_manjeom ์ฌ์ ํ 0(๋ก๋ ์ง์ฒยทํ๋ ์ ์๋ยทE5๊ฐ ํ๋ ์)." |
| 34 | + "name": "E5 ์ธํ๋ผ ํ์ดํ๋ผ์ธ (proven ยท CI ๊ฒ์ฆ) โ PEโinterpโautobindโD3D11โMetalโreadback", |
| 35 | + "summary": "๋ ์ด์ด: โ ์์ own1 i386 PE(d3d11.dll importยทnative/fixtures) โ โก native/i386_cpu.c i386 ์ธํฐํ๋ฆฌํฐ(decodeโexecuteยทEFLAGSยทbyte-eq ํธ์ native/i386_decode.hexa RUNEQ) โ โข IAT name-based autobind(native/pe_parse.c import_dir + IMAGE_IMPORT_BY_NAME strcmp โ shim ๋ ์ง์คํธ๋ฆฌยท๋ฏธ๋งค์นญ I386_HALT_UNBOUND_IMPORT) โ โฃ native/d3d11_metal_bridge.m(D3D11-COM-ํ์ vtable โ MTLDeviceยท์คํ์คํฌ๋ฆฐ 64ร64 BGRA8ยท์ธ๋ผ์ธ MSL PSO) โ โค Apple Metal ํค๋๋ฆฌ์ค ๋ ๋ โ โฅ [MTLTexture getBytes:] readback. ์ธก์ (native/e5_end_to_end_test.c): __E5__ PASS pe_executed=1 frame_rendered=1 px_clear=0x0000FFFF px_triangle=0xFF0000FF nonuniform=1 insns=11 imports=7. validated_manjeom=first_own1_authored_d3d11_pe_to_metal_frame(์ธํ๋ผ ๋ง์ผ์คํคยท์์
๊ฒ์ ์๋). own1: Wine/DXVK/d3d11.dll 0ยทDRM 0ยท๊ฒ์์ ์
0. CI=github-hosted macos-15(PUBLIC repo ๋ฌด๋ฃ)." |
36 | 36 | }, |
37 | 37 | { |
38 | | - "name": "E4 r7โr9 measured (2026-06-26ยท#29/#30/#31 merged) โ 60๋ช
๋ นยทuser-entry handoffยทIAT name-autobindยทCMPXCHG โ
", |
39 | | - "summary": "native/i386_cpu.c ์ธํฐํ๋ฆฌํฐ๊ฐ ํฉ์ฑ __scrt_common_main prologue๋ฅผ r7 ๋ฒฝ(unbound IAT @0x539318, insns=44) ๋๋จธ๋ก ์ ์ง โ CRT init ์ข
์ = `call WinMain` CRTโuser-entry handoff(i386_cpu_t.user_entry_va + I386_HALT_USER_ENTRY). ๋์ฝ๋: 0F AF/69/6B IMULยท0F A2 CPUIDยท0F 31 RDTSC(r7) + 0F A3/AB/B3/BB BT/BTS/BTR/BTC(r8) โ C + i386_decode.hexa RUNEQ byte-eq. import: security cookie ์ฐ์ + GetCommandLineW(0x53802C)ยทSetUnhandledExceptionFilter(0x538030) ๋ฐ์ธ๋ฉ, K32 11โ13. ์ธก์ : insns 44(r7)โ60(r8)ยทhalt@0x539400=user_entry(call). Blacksmith CI ๊ฒ์ดํธ(i386_cpu_test 25 checks PASSยท-Wall -Wextra -std=c11). real-PE ๊ฒฝ๋ก i386_cpu_load_pe ๊ตฌ์กฐ์ ๋ฐฐ์ ์๋ฃ(์น์
+entry ๋งคํ)ยท๋ฏธ์คํ(IAT name-autobind ํ์). โ ๏ธ validated_manjeom ์ฌ์ ํ 0(ํฉ์ฑ user-entryยท์ค ํ๋ ์ ์๋). **r9(#31)**: IAT **name-based autobind** ๊ตฌํ โ ์ค PE์ IAT๋ฅผ ํฉ์ฑ VA๊ฐ ์๋๋ผ import ์ด๋ฆ์ผ๋ก native shim์ ๋ฐ์ธ๋ฉ(pe_parse import_dir + IMAGE_IMPORT_BY_NAME walk + strcmp), ๋ฏธ๋งค์นญโI386_HALT_UNBOUND_IMPORT+์ด๋ฆ๊ธฐ๋ก. CMPXCHG 0F B0/B1 ๋์ฝ๋+executor(RUNEQ). Run E: autobind total=3 bound=3 unbound=0ยทmini-run GetCurrentThreadId ์ฌ๋กฏํต๊ณผ(eax=0x1A2B). **์ค PE๊ฐ ์ฒซ import ๋๋จธ ์คํ ๊ฐ๋ฅ = real-PE ๊ฒฝ๋ก ๋ฐฐ์ ์ง์ **. ๋ค์ r10 ํ์ = DXโMetal ๋ธ๋ฆฌ์ง(ํค๋๋ฆฌ์ค Metal ์คํ์คํฌ๋ฆฐ readback smoke ๋จผ์ CI ๊ฒ์ฆ)." |
40 | | - }, |
41 | | - { |
42 | | - "name": "E5 r10 measured (2026-06-26ยท#32) โ ํค๋๋ฆฌ์ค Metal ์คํ์คํฌ๋ฆฐ ๋ ๋+readback ๋ก์ปฌ PASS (์๋ธ์คํธ๋ ์ดํธ ์ฆ๋ช
)", |
43 | | - "summary": "native/metal_offscreen_smoke.m (ObjC+Metal+Foundation): 64ร64 MTLPixelFormatBGRA8Unorm ์คํ์คํฌ๋ฆฐ ํ
์ค์ฒยท์ธ๋ผ์ธ MSL(newLibraryWithSource:)ยทblue ํด๋ฆฌ์ด+red ์ผ๊ฐํ 1 ๋๋ก์ฐยทwaitUntilCompletedยทgetBytes readbackยทํฝ์
์ด์์
(px_clear=0x0000FFFFยทpx_triangle=0xFF0000FFยทnonuniform=1). ๋ก์ปฌ M4 ๊ฒฐ๊ณผ: __METAL_SMOKE__ PASS device=Apple M4. CI(blacksmith-6vcpu-macos-15ยท์ค Apple-SiliconยทGPU) ๊ฒฐ๊ณผ: ํ์ธ ์์ (warn-only step). own1: ์์ Apple MetalยทWine 0ยท๊ฒ์ ์ ์
0. ์๋ธ์คํธ๋ ์ดํธ ์ฆ๋ช
โ ๊ฒ์ ํ๋ ์ ์๋ยทvalidated_manjeom=0. break-walls+verify-done: \"๋์คํ๋ ์ด ๋ถํ์ยทMetal ํค๋๋ฆฌ์ค ๋ ๋ ๊ฐ๋ฅ\" ์ด์์
์ ์คํยทCI-๊ฒ์ดํธ ์ฌ์ค๋ก ์ ํ. r11 ํ์ : D3D11 device/swapchain ์
ฐ์ โ Metal ์คํ์คํฌ๋ฆฐ ๊ฒฝ๋ก ๋ฐฐ์ ." |
44 | | - }, |
45 | | - { |
46 | | - "name": "E5 r11 measured (2026-06-26) โ D3D11โMetal ๋ธ๋ฆฌ์ง ๋ค์ดํฐ๋ธ ์ฆ๋ช
(๊ตฌํ๋จยท๋ฏธ๋ฐฐ์ )", |
47 | | - "summary": "native/d3d11_metal_bridge.{h,m} (Cํค๋+ObjC+Metal+Foundation): D3D11-์ธํฐํ์ด์ค-ํ์ COM ์ค๋ธ์ ํธ(ID3D11DeviceยทID3D11DeviceContextยทIDXGISwapChainยทID3D11RenderTargetViewยทID3D11Texture2D) + ์ปดํฉํธ vtable(๊ตฌํ ๋ฉ์๋๋ง; IUnknown ์คํ
[0-2] ํฌํจ). gamebox_D3D11CreateDeviceAndSwapChain โ MTLDevice+์คํ์คํฌ๋ฆฐ 64ร64 BGRA8 backBuffer+์ธ๋ผ์ธ MSL PSO. ClearRenderTargetView=loadAction:Clear ๋
๋ฆฝ ํจ์ค; Draw=loadAction:Load+์ผ๊ฐํ; Present=no-op(ํค๋๋ฆฌ์ค). gamebox_d3d11_readback=[MTLTexture getBytes:]. native/d3d11_metal_bridge_test.c(์์ C): vtable ํฌ์ธํฐ ๊ฒฝ๋ก๋ก CreateDeviceAndSwapChainโGetBufferโCreateRenderTargetViewโOMSetRenderTargetsโClearRenderTargetView(blue)โDraw(3,0)โPresentโreadbackโํฝ์
์ด์์
. ๋ก์ปฌ M4 ๊ฒฐ๊ณผ(๋น๋ cleanยท-Wall -Wextra ๊ฒฝ๊ณ ์์): __D3D11_BRIDGE__ PASS px_clear=0x0000FFFF px_triangle=0xFF0000FF nonuniform=1. CI warn-only ์คํ
์ถ๊ฐ(r10 ํจํด). own1: Wine 0ยทDXVK 0ยทd3d11.dll ์์ค 0ยทDRM 0. ๊ตฌํ๋จยท๋ฏธ๋ฐฐ์ dead-until-wired โ ์ธํฐํ๋ฆฌํฐ๋ฅผ ํตํ PE ๊ตฌ๋์ r12. validated_manjeom=0(๋ค์ดํฐ๋ธ ํ
์คํธยท๊ฒ์ ํ๋ ์ ์๋). ๋ค์ r12: ์ต์ D3D11 ํ
์คํธ PE(own1 ์์ i386 PE) + ์ธํฐํ๋ฆฌํฐ IAT autobind ๋ฐฐ์ โ ์ด ๋ธ๋ฆฌ์ง shim โ Metal ์คํ์คํฌ๋ฆฐ โ readback = validated_manjeom>0 ๊ฒ์ดํธ." |
48 | | - }, |
49 | | - { |
50 | | - "name": "E5 r12 measured (2026-06-26) โ ์ฒซ own1 D3D11 PE โ Metal ํ๋ ์ (์ธํ๋ผ ๋ง์ผ์คํค) โ
", |
51 | | - "summary": "native/e5_end_to_end_test.c: ์์ i386 PE32(9๋ช
๋ นยท49๋ฐ์ดํธยทd3d11.dll 7 import) โ i386 ์ธํฐํ๋ฆฌํฐ IAT autobind(by nameยทown ์ํฌํธ ๋ก๋ฉ) โ ๋ธ๋ฆฌ์ง shim layer(7 C ๋ํผ) โ gamebox D3D11โMetal ๋ธ๋ฆฌ์ง(d3d11_metal_bridge.m) โ Apple Metal ํค๋๋ฆฌ์ค ์คํ์คํฌ๋ฆฐ ๋ ๋(64ร64 BGRA8) โ ํฝ์
readback โ ์ด์์
. ๋ก์ปฌ M4 ์ค์ธก: __E5__ PASS pe_executed=1 frame_rendered=1 px_clear=0x0000FFFF px_triangle=0xFF0000FF nonuniform=1 insns=11 imports=7. own1: Wine 0ยทDXVK 0ยทd3d11.dll 0ยทDRM 0ยท๊ฒ์ ์ ์
0. ์ ์ง ํ๊ฐ: validated_manjeom=first_own1_authored_d3d11_pe_to_metal_frame (์ธํ๋ผ ๋ง์ผ์คํค). ์์
๊ฒ์ ์๋ โ ์ค ๊ฒ์์ ์ ์ฒด Win32/D3D11 API ์ํผ์คยท์ค ์ ์
ยท์ค PE ํ์. ๋ค์: Win32 API ์ํผ์ค ํ์ฅยทopcode ์ปค๋ฒ๋ฆฌ์งยทvtable [reg+offset] ๊ฐ์ callยท์ค ๊ฒ์ PE IAT ์ถ์ ." |
52 | | - }, |
53 | | - { |
54 | | - "name": "๐งฑ E5 ๊ฒ์ดํธ ์ฌ๋ถ๋ฅ (2026-06-26 ์ค์ธก โ substrate/ํฌ์ ํ๋ก ํฐ์ด, ํ๋์จ์ด ์ฒ์ฅ ์๋)", |
55 | | - "summary": "validated_manjeom>0(์ค ํ๋ ์) ๋๋ฌ ๊ฒ์ดํธ๋ฅผ ์ค์ธก ์ฌ๋ถ๋ฅ. โ real i386 D3D PE โ ์ต์ D3D11 ํ
์คํธ PE ์์ ๊ฐ๋ฅ(own1 ํด๋ฆฐยท๊ผญ AAA ์๋). โก D3DMetal SDK โ 'CI ๋ถ์ฌ'๋ ํ๋ฆผ: `brew tap apple/apple && brew install game-porting-toolkit`๋ก Blacksmith macos-15(์ค Apple SiliconยทGPU)์ ์ค์น ๊ฐ๋ฅ(ํ๋์จ์ด ๋ฌด๊ด). โข ๋์คํ๋ ์ด โ ๋ถํ์: Metal ํค๋๋ฆฌ์ค(์คํ์คํฌ๋ฆฐ MTLTextureโgetBytes readback)๋ก ํ๋ฉด ์์ด ํ๋ ์ ์ฆ๋ช
๊ฐ๋ฅ(M4/Metal4 ํ์ธ). โ ์ง์ง ๋ฒฝ = ์์ง๋์ด๋ง ๊ฑฐ๋ฆฌ: lib/loader/dx_d3d11.hexa ๋ฑ DXโMetal ๋ธ๋ฆฌ์ง๋ MTL* ์ด๋ฆ๋ง ์ ํ ํ
๋ ๋ฉํธ๋ฆฌ ์ค์บํด๋(์ค Metal ํธ์ถ 0๊ฑด). ๋ค์ ์ฌ๋ค๋ฆฌ(์์จ๊ฐ๋ฅ, ์ค-GPU CI ์): real-PE IAT name-autobind โ ๋์ opcode ์ปค๋ฒ โ D3D11 device shim โ ์ค MTLDevice/์คํ์คํฌ๋ฆฐ โ readback. ์ด์ 'real-asset user-only ๊ฒ์ดํธ' ๋ถ๋ฅ๋ verify ์ ํ ๊ฒ์ผ๋ฅธ ๋ฒฝ(break-walls ์๋ฐ)์ด๋ผ ์ ์ ." |
| 38 | + "name": "โฌ OPEN โ ์์
๊ฒ์ ํ๋ ์ (๋ฏธ์ฆ๋ช
)", |
| 39 | + "summary": "์ธํ๋ผ๋ ์์ PE๋ก ์ฆ๋ช
๋์ผ๋ ์์
๊ฒ์(๋์๋ธ๋ก/๋ฆฌ๋์ง ๋ฑ)์ ๋ฏธ์ฆ๋ช
. ํ์: ์ ์ฒด Win32/D3D11 API ์ํผ์คยทvtable [reg+offset] ๊ฐ์ callยท๋์ opcode ์ปค๋ฒยท์ค ๊ฒ์ PE IAT ์ถ์ ยท์ค ์ ์
. own1 ์ ์ง(no Wine/DRM/Warden/anti-cheat bypass)." |
56 | 40 | } |
57 | 41 | ] |
58 | 42 | }, |
|
0 commit comments