원경 보정 후 최종 검증과 모델 채택 기록 갱신

This commit is contained in:
NINI
2026-10-09 02:32:12 +09:00
parent 3346eb559b
commit 620c73cbd2
10 changed files with 1078 additions and 217 deletions
+525 -85
View File
@@ -66,11 +66,11 @@
}
],
"unity": {
"productSourceCommit": "83182e7f3e86926bf130817d401a331829401fac",
"productSourceCommit": "3346eb559bdfba24332feb4d9be4b7104520233e",
"applyScript": {
"path": "Assets/MagnetismHeroes/Editor/VisualUpgradeAssets.cs",
"bytes": 17527,
"sha256": "8996b23a4da448562c34bd681529414e87fcaa809fc62c563d135f8c61dc2569",
"bytes": 19379,
"sha256": "640765adea45fa4cb18954f4c157480ed2b22f28839282943f8b3175e159c885",
"guid": "40789cbe0397f8745bff78d14a544113",
"metaSha256": "f017c6e684dd15cd8d1a3682eea8ff6f1b0e4ab75f04087c092484cd19a97821"
},
@@ -255,7 +255,7 @@
"verification": {
"finalCompletion": {
"path": "artifacts/verification/VisualUpgrade/FinalProduct/completion.json",
"sha256": "587b92a7f4f63986bfa32af647bc184745b5b100deeed2b0ca4b7818ac309414"
"sha256": "dd898f331a31fb49545e9c3ee2d1c5b52adca97d907f5cff1b0c21b1e6d429fd"
},
"editorCaptureDirectory": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture",
"previousGameReview": {
@@ -268,154 +268,226 @@
{
"metadata": {
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world1-soft-shadow.json",
"sha256": "3b09516098a73d3fb76c7992feaf0123b206472458dacb718f4f21aeef58a1e0"
"sha256": "68ec9ed734cbd5919f30f708a4062d01084b7d54872f23ac7b3a904150e2af12"
},
"image": {
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world1-soft-shadow.png",
"sha256": "3cbe3c75bc6e864a2abf4a4275ca2aafb6f8ad61db8a09a4b7568053ea2e3902"
"sha256": "abced35a2047a504dce2d0322cc31f87f68ed88bb9d530c4bf658970d65d166b"
},
"sourceCommit": "83182e7f3e86926bf130817d401a331829401fac",
"utc": "2026-10-08T15:25:03.7926755Z",
"sourceCommit": "3346eb559bdfba24332feb4d9be4b7104520233e",
"utc": "2026-10-08T16:57:42.2101736Z",
"width": 1280,
"height": 720,
"balls": 1,
"groups": 1,
"equipmentAssemblies": 1,
"boardOrigin": "Actual Main daylight with soft shadows",
"scope": "실제 Main PlayMode 렌더링의 모의 viewport이다. Android 화면이 아니며 합성 상태는 정상 진행 증거가 아니다."
"scope": "실제 Main PlayMode 렌더링의 모의 viewport이다. Android 화면이 아니며 합성 상태는 정상 진행 증거가 아니다.",
"resourceMetrics": {
"meshInstances": 50,
"triangles": 91970,
"sharedMaterials": 27,
"textureMemory": 86683169,
"allocatedMemory": 460169970,
"editorCameraRenderMilliseconds": 1.1468000411987305,
"fieldOfView": 62.0
}
},
{
"metadata": {
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world11-soft-shadow.json",
"sha256": "43ec85a330d87af485051023ccb75752e1699ac7a9f02da3968577217c6957b3"
"sha256": "7480b58de0a332c30da016739d1c4a6d939f0886e999ae78f935df240667e6e8"
},
"image": {
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world11-soft-shadow.png",
"sha256": "6c1433aa7ddb80f7f08f6477e6254023a8b57ce18168b7a018a65f815fcb722c"
"sha256": "d3a656195a308feb9e6296b9425a1057c790d4391a92315c611600ee71fa9826"
},
"sourceCommit": "83182e7f3e86926bf130817d401a331829401fac",
"utc": "2026-10-08T15:25:04.0908702Z",
"sourceCommit": "3346eb559bdfba24332feb4d9be4b7104520233e",
"utc": "2026-10-08T16:57:42.3114855Z",
"width": 1280,
"height": 720,
"balls": 3,
"groups": 1,
"equipmentAssemblies": 1,
"boardOrigin": "Actual Main daylight with soft shadows",
"scope": "실제 Main PlayMode 렌더링의 모의 viewport이다. Android 화면이 아니며 합성 상태는 정상 진행 증거가 아니다."
"scope": "실제 Main PlayMode 렌더링의 모의 viewport이다. Android 화면이 아니며 합성 상태는 정상 진행 증거가 아니다.",
"resourceMetrics": {
"meshInstances": 52,
"triangles": 104900,
"sharedMaterials": 28,
"textureMemory": 86683169,
"allocatedMemory": 460286942,
"editorCameraRenderMilliseconds": 1.1657999753952026,
"fieldOfView": 62.0
}
},
{
"metadata": {
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world21-soft-shadow.json",
"sha256": "b3f0c277da8218d26854e42f92b64a8d4a82cf5329992cea4c8adf8da470deb1"
"sha256": "6a15bcc8a72db2d26e1c800aed8f38da4237413d7c133813a87109483cbedda7"
},
"image": {
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world21-soft-shadow.png",
"sha256": "a3688b2458fd8551f9b847a78b4f348e70dd7296d85be2437805aee6b8c1314d"
"sha256": "126d329c7de8619711568f7fd79bcabc4b19b8d2ee75a5c5cd9b77bae4710c5d"
},
"sourceCommit": "83182e7f3e86926bf130817d401a331829401fac",
"utc": "2026-10-08T15:25:04.1905928Z",
"sourceCommit": "3346eb559bdfba24332feb4d9be4b7104520233e",
"utc": "2026-10-08T16:57:42.4126258Z",
"width": 1280,
"height": 720,
"balls": 6,
"groups": 2,
"equipmentAssemblies": 2,
"boardOrigin": "Actual Main daylight with soft shadows",
"scope": "실제 Main PlayMode 렌더링의 모의 viewport이다. Android 화면이 아니며 합성 상태는 정상 진행 증거가 아니다."
"scope": "실제 Main PlayMode 렌더링의 모의 viewport이다. Android 화면이 아니며 합성 상태는 정상 진행 증거가 아니다.",
"resourceMetrics": {
"meshInstances": 78,
"triangles": 112532,
"sharedMaterials": 23,
"textureMemory": 86683169,
"allocatedMemory": 460479941,
"editorCameraRenderMilliseconds": 1.020400047302246,
"fieldOfView": 62.0
}
},
{
"metadata": {
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world11-two-plus-three-phone-default.json",
"sha256": "dfdbae399d6dc0671edca533807342cea44ed20d227cc74332eba133e6ca1355"
"sha256": "8baa85ef8454ab47d37dc051ce3b1642f1d38dd3704623b02e29094eb8683119"
},
"image": {
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world11-two-plus-three-phone-default.png",
"sha256": "610a1fd1a25f03a50757a17c7f6f01d463a8b430971aa3d882c2d88fe213ba22"
"sha256": "574652616f8cd0d3ac0d0be469e4c0f1b8b129a3266f93ccc8c9fc8d3cee9a1d"
},
"sourceCommit": "83182e7f3e86926bf130817d401a331829401fac",
"utc": "2026-10-08T15:25:05.8152052Z",
"sourceCommit": "3346eb559bdfba24332feb4d9be4b7104520233e",
"utc": "2026-10-08T16:57:45.3385822Z",
"width": 2400,
"height": 1080,
"balls": 5,
"groups": 2,
"equipmentAssemblies": 2,
"boardOrigin": "Validated five-ball 2+3 free-play store fixture; actual Main app/session",
"scope": "실제 Main PlayMode 렌더링의 모의 viewport이다. Android 화면이 아니며 합성 상태는 정상 진행 증거가 아니다."
"scope": "실제 Main PlayMode 렌더링의 모의 viewport이다. Android 화면이 아니며 합성 상태는 정상 진행 증거가 아니다.",
"resourceMetrics": {
"meshInstances": 77,
"triangles": 124524,
"sharedMaterials": 28,
"textureMemory": 118420769,
"allocatedMemory": 466851911,
"editorCameraRenderMilliseconds": 0.9291999936103821,
"fieldOfView": 62.0
}
},
{
"metadata": {
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world11-merged-five-phone-default.json",
"sha256": "cca93732bef1a2fb86622411295c4f2a638bd1ed2c96c2ef96ece26d1ee3e95b"
"sha256": "9ff48f6ec5ca6ee7dd09732ef4a5a9e7ae393f6220ed429d7e1dcc67d38929ca"
},
"image": {
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world11-merged-five-phone-default.png",
"sha256": "6c03e9c1d814cc88c28254e5357d98f3c50bde22f2e824da3475c43cf40a3c56"
"sha256": "b42e30691f84e76e9f12503e133ea2f4946fa83995e5131ddb022c20727b85eb"
},
"sourceCommit": "83182e7f3e86926bf130817d401a331829401fac",
"utc": "2026-10-08T15:25:06.1027531Z",
"sourceCommit": "3346eb559bdfba24332feb4d9be4b7104520233e",
"utc": "2026-10-08T16:57:45.6171820Z",
"width": 2400,
"height": 1080,
"balls": 5,
"groups": 1,
"equipmentAssemblies": 1,
"boardOrigin": "Actual app/session 2+3 merge from labeled boundary fixture",
"scope": "실제 Main PlayMode 렌더링의 모의 viewport이다. Android 화면이 아니며 합성 상태는 정상 진행 증거가 아니다."
"scope": "실제 Main PlayMode 렌더링의 모의 viewport이다. Android 화면이 아니며 합성 상태는 정상 진행 증거가 아니다.",
"resourceMetrics": {
"meshInstances": 54,
"triangles": 112836,
"sharedMaterials": 28,
"textureMemory": 118420769,
"allocatedMemory": 466829060,
"editorCameraRenderMilliseconds": 1.1601999998092651,
"fieldOfView": 62.0
}
},
{
"metadata": {
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world11-disconnected-split-two-three-tablet-orbitzoom.json",
"sha256": "e27b260c70273f1ec68c43bc1aac16e666dc4c494253df0055703610dd908ecd"
"sha256": "3abc8fae3b71dc5fa14bcf319d57436a0522fd9c4291e94cfef8dd29c1706ef1"
},
"image": {
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world11-disconnected-split-two-three-tablet-orbitzoom.png",
"sha256": "dea0046052f1400a0fd1e2e870b4546d01859c9463178867084c9fe21cd4c173"
"sha256": "1c6c9317e183a30ac7647a54d21881df25b12b974ea857b3b44afebc14a9f6d6"
},
"sourceCommit": "83182e7f3e86926bf130817d401a331829401fac",
"utc": "2026-10-08T15:25:06.5677124Z",
"sourceCommit": "3346eb559bdfba24332feb4d9be4b7104520233e",
"utc": "2026-10-08T16:57:46.0651945Z",
"width": 1600,
"height": 1000,
"balls": 5,
"groups": 2,
"equipmentAssemblies": 2,
"boardOrigin": "Actual app/session split of disconnected five-group endpoints",
"scope": "실제 Main PlayMode 렌더링의 모의 viewport이다. Android 화면이 아니며 합성 상태는 정상 진행 증거가 아니다."
"scope": "실제 Main PlayMode 렌더링의 모의 viewport이다. Android 화면이 아니며 합성 상태는 정상 진행 증거가 아니다.",
"resourceMetrics": {
"meshInstances": 77,
"triangles": 124524,
"sharedMaterials": 28,
"textureMemory": 99572769,
"allocatedMemory": 463953034,
"editorCameraRenderMilliseconds": 1.1318000555038452,
"fieldOfView": 62.0
}
},
{
"metadata": {
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world1-ten-single-groups-phone-default.json",
"sha256": "66521c24e42b09e02212409819e35ef30f9c01e39c7fc212722a9ad817413911"
"sha256": "28bf53b56db30cf861e115aee1e6f03ab3d59725a0e4ea8748a71fd8cad3d011"
},
"image": {
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world1-ten-single-groups-phone-default.png",
"sha256": "8f0a22475b6013c58ff5bd9addd285f3927eb94e48aa081f2046eb8c1e276c52"
"sha256": "2072f115be6faef2a02de3ad62a2634f9bdd5c605abe4b454bd74b2ec017cf06"
},
"sourceCommit": "83182e7f3e86926bf130817d401a331829401fac",
"utc": "2026-10-08T15:25:08.5003167Z",
"sourceCommit": "3346eb559bdfba24332feb4d9be4b7104520233e",
"utc": "2026-10-08T16:57:47.9677285Z",
"width": 2400,
"height": 1080,
"balls": 10,
"groups": 10,
"equipmentAssemblies": 10,
"boardOrigin": "Validated synthetic Core FreePlay render fixture; session UI remains underlying stage 1",
"scope": "실제 Main PlayMode 렌더링의 모의 viewport이다. Android 화면이 아니며 합성 상태는 정상 진행 증거가 아니다."
"scope": "실제 Main PlayMode 렌더링의 모의 viewport이다. Android 화면이 아니며 합성 상태는 정상 진행 증거가 아니다.",
"resourceMetrics": {
"meshInstances": 266,
"triangles": 232874,
"sharedMaterials": 27,
"textureMemory": 118420769,
"allocatedMemory": 467703162,
"editorCameraRenderMilliseconds": 2.098900079727173,
"fieldOfView": 62.0
}
},
{
"metadata": {
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world1-ten-one-group-tablet-default.json",
"sha256": "54c6f106ead00b1ede9bebdf182b78cbeb66007c50b53583a9d0847c27fa3bf5"
"sha256": "305960074b579817f17aa4a44e0a2ef58c90bae56e12913d7b85acabb689170a"
},
"image": {
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world1-ten-one-group-tablet-default.png",
"sha256": "3959e9679a5418b96d2b63d1de0479c2b537934dd3e7c5e71357c9f343d8ea54"
"sha256": "5b1b4883e19f1af9f28d9b00521260ad8aed8e5ae5571db510f08a6765b0e166"
},
"sourceCommit": "83182e7f3e86926bf130817d401a331829401fac",
"utc": "2026-10-08T15:25:08.8364150Z",
"sourceCommit": "3346eb559bdfba24332feb4d9be4b7104520233e",
"utc": "2026-10-08T16:57:48.2929966Z",
"width": 1600,
"height": 1000,
"balls": 10,
"groups": 1,
"equipmentAssemblies": 1,
"boardOrigin": "Validated synthetic Core FreePlay render fixture; session UI remains underlying stage 1",
"scope": "실제 Main PlayMode 렌더링의 모의 viewport이다. Android 화면이 아니며 합성 상태는 정상 진행 증거가 아니다."
"scope": "실제 Main PlayMode 렌더링의 모의 viewport이다. Android 화면이 아니며 합성 상태는 정상 진행 증거가 아니다.",
"resourceMetrics": {
"meshInstances": 59,
"triangles": 127684,
"sharedMaterials": 27,
"textureMemory": 99572769,
"allocatedMemory": 463947314,
"editorCameraRenderMilliseconds": 1.3295999765396118,
"fieldOfView": 62.0
}
}
],
"modelRoundtripEvidence": {
@@ -424,10 +496,10 @@
},
"finalEvidenceAudit": {
"path": "artifacts/verification/VisualUpgrade/FinalProduct/documentation-final-evidence-audit.json",
"sha256": "778be655b03b0e159dfdc981be368802b39e2c25cc34e54d24761cba0dd3701e"
"sha256": "14e62264a22f360f9afda94e1c8660507cda3b27c30d6f9916607889c2819e08"
},
"actualFinalResults": {
"productSourceCommit": "83182e7f3e86926bf130817d401a331829401fac",
"productSourceCommit": "3346eb559bdfba24332feb4d9be4b7104520233e",
"phaseExitCodes": {
"EditMode": 0,
"PlayMode": 0,
@@ -436,7 +508,7 @@
},
"editorTests": {
"EditMode": 103,
"PlayMode": 52
"PlayMode": 53
},
"androidChecks": 226,
"children": [
@@ -444,40 +516,41 @@
"suite": "Fresh30",
"checks": 151,
"exitCode": 0,
"sourceCommit": "83182e7f3e86926bf130817d401a331829401fac",
"apkSha256": "bee8e80e03c4205edebf616a18940d58654e9115fdc91ee0a80f47dea91559ea",
"sourceCommit": "3346eb559bdfba24332feb4d9be4b7104520233e",
"apkSha256": "da533f235a9869e5a68f4a244af9a89e34a8e6fb9e7c7f2f57d830939507b829",
"scope": "Fresh 30-stage sequential actual touch progression, no save writes or completion fixtures; separate boundary suites are labelled separately"
},
{
"suite": "FinalBoundary",
"checks": 37,
"exitCode": 0,
"sourceCommit": "83182e7f3e86926bf130817d401a331829401fac",
"apkSha256": "bee8e80e03c4205edebf616a18940d58654e9115fdc91ee0a80f47dea91559ea",
"sourceCommit": "3346eb559bdfba24332feb4d9be4b7104520233e",
"apkSha256": "da533f235a9869e5a68f4a244af9a89e34a8e6fb9e7c7f2f57d830939507b829",
"scope": "Separate native boundaries after real30 completion; deliberate corrupt-file tests labelled, no fabricated completion or board injection"
},
{
"suite": "RapidBoundary",
"checks": 39,
"exitCode": 0,
"sourceCommit": "83182e7f3e86926bf130817d401a331829401fac",
"apkSha256": "bee8e80e03c4205edebf616a18940d58654e9115fdc91ee0a80f47dea91559ea",
"sourceCommit": "3346eb559bdfba24332feb4d9be4b7104520233e",
"apkSha256": "da533f235a9869e5a68f4a244af9a89e34a8e6fb9e7c7f2f57d830939507b829",
"scope": "Separate QA planar collected10 replay20 fixture; real30 source record preserved. Actual offline native11 taps and complete numeric PCM; not fresh progression evidence."
},
{
"suite": "ContentBoundary",
"checks": 69,
"exitCode": 0,
"sourceCommit": "83182e7f3e86926bf130817d401a331829401fac",
"apkSha256": "bee8e80e03c4205edebf616a18940d58654e9115fdc91ee0a80f47dea91559ea",
"sourceCommit": "3346eb559bdfba24332feb4d9be4b7104520233e",
"apkSha256": "da533f235a9869e5a68f4a244af9a89e34a8e6fb9e7c7f2f57d830939507b829",
"scope": "별도 명시 경계 검사. 정상 30단계 진행 수에 합산하지 않는다."
}
],
"smokeStartedUtc": "2026-10-08T15:31:53.7694461Z",
"smokeFinishedUtc": "2026-10-08T15:47:20.6303343Z",
"smokeStartedUtc": "2026-10-08T17:04:22.9959710Z",
"smokeFinishedUtc": "2026-10-08T17:19:58.4677196Z",
"completedUtc": "2026-10-08T17:19:58.7340281Z",
"androidReport": {
"path": "artifacts/verification/Final/android-final-evidence.json",
"sha256": "070b33c70925eabebf33c66dfd08daa902ddffaa6591e052c765d7884e22ba8b"
"sha256": "18ec499dd9d30cd0a00df16012e8e8021e0cbf77a97089611a3954ed5c00aa7b"
},
"freshAll30SuccessAndIdsChecked": true,
"freshSavePushCommandCount": 0,
@@ -485,34 +558,36 @@
{
"phase": "AndroidSmoke",
"command": "pwsh -NoProfile -File tools/verify.ps1 -Phase AndroidSmoke -Milestone Final",
"startedUtc": "2026-10-08T15:26:38.5225191Z",
"finishedUtc": "2026-10-08T15:30:38.1167761Z",
"startedUtc": "2026-10-08T16:58:49.3785491Z",
"finishedUtc": "2026-10-08T17:00:52.0393312Z",
"exitCode": 1,
"status": "failed",
"sourceCommit": "83182e7f3e86926bf130817d401a331829401fac",
"sourceCommit": "3346eb559bdfba24332feb4d9be4b7104520233e",
"sourceDirty": false,
"sourceDirtyEnd": null,
"outerLog": "artifacts/verification/VisualUpgrade/FinalProduct/FailedAndroidAttempt1/androidsmoke-outer.log",
"evidence": "artifacts/verification/VisualUpgrade/FinalProduct/FailedAndroidAttempt1/Final/androidsmoke-evidence.json",
"originalEvidencePath": "C:\\git\\MagnetismHeroes\\artifacts\\verification\\Final\\androidsmoke-evidence.json",
"originalOuterLogPath": "C:\\git\\MagnetismHeroes\\artifacts\\verification\\VisualUpgrade\\FinalProduct\\androidsmoke-outer.log"
"outerLog": "C:\\git\\MagnetismHeroes\\artifacts\\verification\\VisualUpgrade\\HorizonFailedSmokeAttempt1\\artifacts\\verification\\VisualUpgrade\\FinalProduct\\androidsmoke-outer.log",
"evidence": "C:\\git\\MagnetismHeroes\\artifacts\\verification\\VisualUpgrade\\HorizonFailedSmokeAttempt1\\artifacts\\verification\\Final\\androidsmoke-evidence.json",
"evidenceOriginalPath": "C:\\git\\MagnetismHeroes\\artifacts\\verification\\Final\\androidsmoke-evidence.json",
"outerLogOriginalPath": "C:\\git\\MagnetismHeroes\\artifacts\\verification\\VisualUpgrade\\FinalProduct\\androidsmoke-outer.log"
}
]
],
"firstThreePhasesRerun": false,
"productRawFilesPreserved": 732
},
"apkProvenance": {
"apk": {
"path": "artifacts/android/MagnetismHeroes.apk",
"sha256": "bee8e80e03c4205edebf616a18940d58654e9115fdc91ee0a80f47dea91559ea",
"sha256": "da533f235a9869e5a68f4a244af9a89e34a8e6fb9e7c7f2f57d830939507b829",
"bytes": 57215937
},
"installedApk": {
"path": "artifacts/verification/Final/Fresh30/installed-base.apk",
"sha256": "bee8e80e03c4205edebf616a18940d58654e9115fdc91ee0a80f47dea91559ea"
"sha256": "da533f235a9869e5a68f4a244af9a89e34a8e6fb9e7c7f2f57d830939507b829"
},
"actualClipCount": 44,
"voicePayload": {
"path": "artifacts/verification/Final/VoicePayload/apk-voice-payload.json",
"sha256": "e89d1987d515ab958cc411f299297ccbea9c1a4f4b62c7886d6d7bc17be2a620"
"sha256": "a3c1fc9e0ef0170b3fcb60170ae4ca5b9ec640b644fd1f2b00fea591bdc28650"
},
"notices": [
{
@@ -534,49 +609,414 @@
"stage": 1,
"image": {
"path": "artifacts/verification/Final/Fresh30/stage-1-enter.png",
"sha256": "6eee00ef4b430cb0ad9c697ca24d5ac4fe8de3630f14488e74fe78c25c87a301"
"sha256": "24a1fee6f57ed238976dde803184895fbe4900e3ed218fc3064c9743ef9c7e63"
},
"captureCommands": {
"path": "artifacts/verification/Final/Fresh30/stage-1-enter-commands.json",
"sha256": "465c74bd14cb7cef440efd1e9007adb5f0626b4824fdd780cf8c637a0d6c07f5"
"sha256": "331258895e501db85925861d7b2211c42896b58c1169fcb24b748f832c8feaba"
},
"observedUtc": "2026-10-08T15:32:22.2063877Z",
"sourceCommit": "83182e7f3e86926bf130817d401a331829401fac",
"installedApkSha256": "bee8e80e03c4205edebf616a18940d58654e9115fdc91ee0a80f47dea91559ea",
"observedUtc": "2026-10-08T17:04:51.8507959Z",
"sourceCommit": "3346eb559bdfba24332feb4d9be4b7104520233e",
"installedApkSha256": "da533f235a9869e5a68f4a244af9a89e34a8e6fb9e7c7f2f57d830939507b829",
"scope": "실제 Android API37 AVD 2400×1080 화면. 정상 30단계 실제 입력의 한 시점이며 모든 얼굴의 동시 가시성을 보장하지 않는다."
},
{
"stage": 11,
"image": {
"path": "artifacts/verification/Final/Fresh30/stage-10-next.png",
"sha256": "4e64e2ed5706d4571ac43fad55616a457caea934c596a12d437195b13903e905"
"sha256": "a17e8540e959fcad55fcde48ccee3654999647e59f7e245839e3872108776fc9"
},
"captureCommands": {
"path": "artifacts/verification/Final/Fresh30/stage-10-next-commands.json",
"sha256": "b447368b273e8213a3644a1c4afb201597ba884c623d443190d18bbcfb686af5"
"sha256": "b9794ef9c33aab6b7f6379458701b3a89d075fce688517b222cfaf2ba79ff2a5"
},
"observedUtc": "2026-10-08T15:34:51.7253665Z",
"sourceCommit": "83182e7f3e86926bf130817d401a331829401fac",
"installedApkSha256": "bee8e80e03c4205edebf616a18940d58654e9115fdc91ee0a80f47dea91559ea",
"observedUtc": "2026-10-08T17:07:23.9081359Z",
"sourceCommit": "3346eb559bdfba24332feb4d9be4b7104520233e",
"installedApkSha256": "da533f235a9869e5a68f4a244af9a89e34a8e6fb9e7c7f2f57d830939507b829",
"scope": "실제 Android API37 AVD 2400×1080 화면. 정상 30단계 실제 입력의 한 시점이며 모든 얼굴의 동시 가시성을 보장하지 않는다."
},
{
"stage": 21,
"image": {
"path": "artifacts/verification/Final/Fresh30/stage-20-next.png",
"sha256": "030ca33f9f11da310c2ead3a78b61306eee195a162cec1b8f32c5fda009328ef"
"sha256": "79cf0d0bef7671ebc92c2d1cf1f9b557633f7832425b6fc01809944ea8b0b3b3"
},
"captureCommands": {
"path": "artifacts/verification/Final/Fresh30/stage-20-next-commands.json",
"sha256": "4d21313b8c846e97effc65c1bddc94de87c7ab454d94512b2b8f0e56f41b4255"
"sha256": "762d84fdeb5cc822f24be5256cb30a26501516dfd73f4a32d1182283cf910528"
},
"observedUtc": "2026-10-08T15:39:44.5484050Z",
"sourceCommit": "83182e7f3e86926bf130817d401a331829401fac",
"installedApkSha256": "bee8e80e03c4205edebf616a18940d58654e9115fdc91ee0a80f47dea91559ea",
"observedUtc": "2026-10-08T17:12:18.2030067Z",
"sourceCommit": "3346eb559bdfba24332feb4d9be4b7104520233e",
"installedApkSha256": "da533f235a9869e5a68f4a244af9a89e34a8e6fb9e7c7f2f57d830939507b829",
"scope": "실제 Android API37 AVD 2400×1080 화면. 정상 30단계 실제 입력의 한 시점이며 모든 얼굴의 동시 가시성을 보장하지 않는다."
}
],
"newFinalProductUserApproval": "별도 최종 사용자 승인 대기이며 모델 승인과 구분한다."
"newFinalProductUserApproval": "별도 최종 사용자 승인 대기이며 모델 승인과 구분한다.",
"editorCaptureCount": 119,
"editorResourceMeasurements": [
{
"theme": "Garden",
"balls": 10,
"groups": 1,
"equipmentAssemblies": 1,
"captureCount": 4,
"metrics": {
"meshInstances": {
"min": 59,
"max": 59
},
"triangles": {
"min": 127684,
"max": 127684
},
"sharedMaterials": {
"min": 27,
"max": 27
},
"textureMemory": {
"min": 99572769,
"max": 118420769
},
"allocatedMemory": {
"min": 463947314,
"max": 466923575
},
"editorCameraRenderMilliseconds": {
"min": 1.0715999603271484,
"max": 1.3295999765396118
}
},
"captures": [
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world1-ten-one-group-phone-default.json",
"sha256": "6d70d89d9fbc4cf1aab09c528b26d05e7b32f4f5f3f72b9e5ae3772cd7f7d427"
},
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world1-ten-one-group-phone-orbitzoom.json",
"sha256": "158540fdd6f861ba4c77a02b5ddc3c380b57e261c80fa21d86a8a103e8596c69"
},
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world1-ten-one-group-tablet-default.json",
"sha256": "305960074b579817f17aa4a44e0a2ef58c90bae56e12913d7b85acabb689170a"
},
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world1-ten-one-group-tablet-orbitzoom.json",
"sha256": "5b2ee1a0781273ffa00ac07d21af32df4c410e01c81b48d282edcd3f70a7b8e2"
}
]
},
{
"theme": "Garden",
"balls": 10,
"groups": 10,
"equipmentAssemblies": 10,
"captureCount": 4,
"metrics": {
"meshInstances": {
"min": 266,
"max": 266
},
"triangles": {
"min": 232874,
"max": 232874
},
"sharedMaterials": {
"min": 27,
"max": 27
},
"textureMemory": {
"min": 99572769,
"max": 118420769
},
"allocatedMemory": {
"min": 464729023,
"max": 467705860
},
"editorCameraRenderMilliseconds": {
"min": 1.0825999975204468,
"max": 2.098900079727173
}
},
"captures": [
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world1-ten-single-groups-phone-default.json",
"sha256": "28bf53b56db30cf861e115aee1e6f03ab3d59725a0e4ea8748a71fd8cad3d011"
},
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world1-ten-single-groups-phone-orbitzoom.json",
"sha256": "0ac5ad59d78ed82acaf212a574c668fd579f4583a3e9a6df24675768808ef867"
},
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world1-ten-single-groups-tablet-default.json",
"sha256": "164d0ea6b3bc8051f05fd32794128dd37efecb8792a6e7fc57d3c995ae97629e"
},
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world1-ten-single-groups-tablet-orbitzoom.json",
"sha256": "0f1ffda5331a68223a33deccf94d946e9f38116667d696fa362e16de64f7c7e1"
}
]
},
{
"theme": "Cloud",
"balls": 10,
"groups": 1,
"equipmentAssemblies": 1,
"captureCount": 4,
"metrics": {
"meshInstances": {
"min": 59,
"max": 59
},
"triangles": {
"min": 132678,
"max": 132678
},
"sharedMaterials": {
"min": 28,
"max": 28
},
"textureMemory": {
"min": 99572769,
"max": 118420769
},
"allocatedMemory": {
"min": 464024251,
"max": 467000560
},
"editorCameraRenderMilliseconds": {
"min": 0.9860000014305115,
"max": 1.3367999792099
}
},
"captures": [
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world11-ten-one-group-phone-default.json",
"sha256": "84933bc2e667cb4f301e4dbd318b6b1a87733f41776402fafe562b6609d023bb"
},
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world11-ten-one-group-phone-orbitzoom.json",
"sha256": "8862fa8b8f8b705ed487016eff867f7eecbfc04d3fb0c0a4b3375bdf034a482c"
},
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world11-ten-one-group-tablet-default.json",
"sha256": "70b5abf41586fc9ca5dce7727b0fb311fdae7c210e46894104e63fe81505c75a"
},
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world11-ten-one-group-tablet-orbitzoom.json",
"sha256": "e8fa86a3a066e0d4c98b9b4a183dff0eaff97c5876f397b9906078a3c5043570"
}
]
},
{
"theme": "Cloud",
"balls": 10,
"groups": 10,
"equipmentAssemblies": 10,
"captureCount": 4,
"metrics": {
"meshInstances": {
"min": 266,
"max": 266
},
"triangles": {
"min": 237868,
"max": 237868
},
"sharedMaterials": {
"min": 28,
"max": 28
},
"textureMemory": {
"min": 99572769,
"max": 118420769
},
"allocatedMemory": {
"min": 464923569,
"max": 467899912
},
"editorCameraRenderMilliseconds": {
"min": 1.167099952697754,
"max": 1.2316999435424805
}
},
"captures": [
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world11-ten-single-groups-phone-default.json",
"sha256": "5f6009a4bb941297aefd1ee1cf19392a3c402053903ff88e564137f27620e02b"
},
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world11-ten-single-groups-phone-orbitzoom.json",
"sha256": "a95c1cc7398392d033f601fc44358908b1ea284e7accfa1aab30726c54874b00"
},
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world11-ten-single-groups-tablet-default.json",
"sha256": "1df140d8544a772014844eb30709b140161307ff415a811580ec91b0eb06b5ab"
},
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world11-ten-single-groups-tablet-orbitzoom.json",
"sha256": "240d03e44df9ac90593bd3426efe71b2d88bf9acaad7b5827e2c20acd159272b"
}
]
},
{
"theme": "Workshop",
"balls": 10,
"groups": 1,
"equipmentAssemblies": 1,
"captureCount": 4,
"metrics": {
"meshInstances": {
"min": 59,
"max": 59
},
"triangles": {
"min": 116718,
"max": 116718
},
"sharedMaterials": {
"min": 23,
"max": 23
},
"textureMemory": {
"min": 99572769,
"max": 118420769
},
"allocatedMemory": {
"min": 464029688,
"max": 467005957
},
"editorCameraRenderMilliseconds": {
"min": 1.0276999473571777,
"max": 1.3801000118255615
}
},
"captures": [
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world21-ten-one-group-phone-default.json",
"sha256": "79ea5335bc5994c96c39684cb5348b3dc5e1a5beb3bc7dc25051cc34f7e56ff2"
},
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world21-ten-one-group-phone-orbitzoom.json",
"sha256": "993a189c0d55d784651ccc3307518afda4b9f7c1ba16af5973562038d37bcc1a"
},
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world21-ten-one-group-tablet-default.json",
"sha256": "524e973c387d0c045c756964e8514f3f83863c5d2833917e6e6db07686396fad"
},
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world21-ten-one-group-tablet-orbitzoom.json",
"sha256": "7c1a25bf41784b9d629201cbb83f582546fb2d470be382fb386be553af8bdd89"
}
]
},
{
"theme": "Workshop",
"balls": 10,
"groups": 10,
"equipmentAssemblies": 10,
"captureCount": 4,
"metrics": {
"meshInstances": {
"min": 266,
"max": 266
},
"triangles": {
"min": 221908,
"max": 221908
},
"sharedMaterials": {
"min": 23,
"max": 23
},
"textureMemory": {
"min": 99572769,
"max": 118420769
},
"allocatedMemory": {
"min": 464961384,
"max": 467942131
},
"editorCameraRenderMilliseconds": {
"min": 1.2496000528335571,
"max": 1.4726999998092651
}
},
"captures": [
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world21-ten-single-groups-phone-default.json",
"sha256": "db7b08da12c389326ea10de4c85ab784f33de73532c6fababcb18dced60168be"
},
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world21-ten-single-groups-phone-orbitzoom.json",
"sha256": "035b8464064c3a6bcff2d6ddb44a5e83ac9cf6ce69e4f39db1792b385cbb2a24"
},
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world21-ten-single-groups-tablet-default.json",
"sha256": "412293e68377787fae33333cd7db6af8a3f9bf7764f0eab509046df98d907a00"
},
{
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/world21-ten-single-groups-tablet-orbitzoom.json",
"sha256": "834963a98cce4483bb9b5236968178ce52417e3e1c12d2227dec0d0927b5f161"
}
]
}
],
"editorResourceScope": "active hierarchy 상주 MeshFilter 인덱스 합계에는 Renderer가 꺼진 원래 바닥도 포함한다. GPU 제출 삼각형 수가 아니다. 전체 Editor-loaded texture 메모리/치수와 Camera.Render CPU wall time이며 Android FPS·GPU·실기기 비용으로 환산하지 않는다.",
"editorLoadedTextures": {
"path": "artifacts/verification/VisualUpgrade/FinalProduct/EditorCapture/editor-loaded-textures.txt",
"sha256": "d60f414fbb4753a288291d3efd8bf0de6e0d454fd6436bf2604d6ce584c31a54"
},
"horizonFix": {
"commands.json": {
"path": "artifacts/verification/VisualUpgrade/HorizonFix/commands.json",
"sha256": "30aa2370d563444fb5354fd7aad6e4c996baa2d2bbfd5c67499931a314deea5e"
},
"result.json": {
"path": "artifacts/verification/VisualUpgrade/HorizonFix/result.json",
"sha256": "d3b70ae81c29b15582fe77b0c9c6636432c62f68606d39faff1da8d48da2f7a4"
},
"preservation.json": {
"path": "artifacts/verification/VisualUpgrade/HorizonFix/preservation.json",
"sha256": "cbab404eef5524a053cfca09be50a579f6bae858cfab78dc3dfdc6e2501ddb34"
},
"geometryProofScope": "중앙 24m 복도 표본의 366→6→세 풍경 각각 0 및 실제 같은 카메라 화면 대조이며 전체 외곽·모든 픽셀·모든 시점을 보장하지 않는다.",
"farHorizonPositionsChanged": 120,
"previousRadius": 35,
"currentRadius": 27,
"approvedGeometryMaterialsUnchanged": true
},
"previousFinalProduct": {
"manifest": {
"path": "artifacts/verification/VisualUpgrade/BeforeHorizonFix/manifest.json",
"sha256": "e717944ae93ca5ff5744c64968e66449bd3680022a301fa73e2b34df82bd6950"
},
"productSourceCommit": "83182e7f3e86926bf130817d401a331829401fac",
"fileCount": 2311,
"previousAdoptionGitRecord": {
"commit": "3346eb559bdfba24332feb4d9be4b7104520233e",
"repositoryRelativePath": "SourceAssets/Models/Heroes/active-adoption.json",
"canonicalBlobSha256": "46d569d80a51e60c6d46460e215fce5246d6deec05de00f644e17d74c5056c88"
},
"scope": "원경 보정 전 성공 검증·APK·갤러리의 고정 이력이며 새 결과가 아니다."
},
"failedAttemptArchive": {
"manifest": {
"path": "artifacts/verification/VisualUpgrade/HorizonFailedSmokeAttempt1/manifest.json",
"sha256": "e1a94d7e0480bdafe551a017ef7b6f696f9cd12c301d2cfc84e67e6731246592"
},
"evidence": {
"path": "artifacts/verification/VisualUpgrade/HorizonFailedSmokeAttempt1/artifacts/verification/Final/androidsmoke-evidence.json",
"sha256": "08cba6e1754b552d8089c2092f14708fe3c413ae8b69b7ff0b4e8189883dca13"
},
"outerLog": {
"path": "artifacts/verification/VisualUpgrade/HorizonFailedSmokeAttempt1/artifacts/verification/VisualUpgrade/FinalProduct/androidsmoke-outer.log",
"sha256": "919133a40d047d00471f0414ed83c1141260f77c564d59dc1c27c0c06a8ede2d"
},
"fileCount": 1257,
"status": "failed",
"exitCode": 1,
"observedFailure": "Fresh30 stage5 ADB shell wm size의 localhost:5037 연결 timeout 10060. 이후 같은 query 종료 0 확인 후 Smoke만 재실행했다. AVD 충돌·게임 판정 실패로 단정하지 않는다."
}
},
"preservation": "기존 13 FBX·원본·출처, 기존 GUID, 30 비시각 정의·초기 구 위치·ID·수량, 음성 44개·얼굴 6표정·폰트·UI·Mixer·Core·저장을 유지한다.",
"fileHashScope": "실제 최종 빌드 저장소 파일 바이트이며 Git 체크아웃의 줄바꿈 차이와 구분한다.",