Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
33 lines
3.2 KiB
JSON
33 lines
3.2 KiB
JSON
{
|
|
"complete": true,
|
|
"approved": true,
|
|
"concrete_blockers": [],
|
|
"read_only_review": true,
|
|
"manifest_sha256": "ad0824a453f10d2856fa6afc3e86ec27ec455b55028ed33fc72297cd0986c124",
|
|
"patch_sha256": "fff4e6cdf72b13dcd82cfb819ae3edf9abdb709c7b9b1bfd7b6b43a8b93c53c2",
|
|
"files": {
|
|
"addons/core/Scripts/Game/ERR/00_Core/ERR_InventoryHitZoneCompat.c": "23c34f901311dce63a79aafe83c11e2fc25bd3fddb0cde38bd313eb90878ca90",
|
|
"tests/test_inventory_hitzone_compat.py": "bffa64c645a4282a1ed1ce244a9a2de37f20a70c60e8ff5b1544b7289c12c877"
|
|
},
|
|
"logs": {
|
|
"red.log": "e9a0eedbc9d6a52ffc49a66a378194d949744b2c1a225b8b8d16b084475b83d5",
|
|
"green.log": "2d1e9eee33bf9f7b837eabba67b5b4928882f00de9007188c08349653339ed4e"
|
|
},
|
|
"sdk_sources": {
|
|
"/tmp/erri-vanilla-stock/scripts/Game/HitZone/SCR_HitZone.c": "d622f0e7ee5727a2430aa10e78bf37c623a12b229bfcef098e0c385451adb612",
|
|
"/tmp/erri-vanilla-stock/scripts/Game/HitZone/SCR_CharacterHitZone.c": "b2be31418129fa536c55bebef21ccc9b8ac409d1ce8b3ecb11df0787b33ba47e",
|
|
"/tmp/erri-vanilla-stock/scripts/Game/UI/Inventory/SCR_InventoryHitZonePointUI.c": "0ffc7359e76a6de03669dc2e631682ec9b107048d829794ab61512dbdb209b02",
|
|
"/tmp/erri-vanilla-stock/scripts/Game/UI/Inventory/SCR_InventoryMenuUI.c": "717649eaa9a0f39c093e2526c56a17b08d7e63d913d12f41a889497d0d514099"
|
|
},
|
|
"previous_review_source_matches": true,
|
|
"callback_contract": "SDK SCR_HitZone invokes damage-state listeners with this only. Adapter accepts one SCR_HitZone and calls native UpdateHitZoneState(hz,true), preserving original direct initializer arguments and native superclass initialization.",
|
|
"duplicate_blood_assessment": "No blood/group duplicate registration path: SCR_CharacterBloodHitZone extends SCR_RegeneratingHitZone directly (line429), whereas SCR_CharacterHitZone separately extends SCR_RegeneratingHitZone (line170). The native group registration loop casts to SCR_CharacterHitZone, excluding blood. Separate blood binding and same cast therefore match actual native registration sources. No concrete leftover native subscription demonstrated.",
|
|
"lifecycle": "Replacement removes the original two-argument callback for each retained source; adapter bindings are deduplicated and removed before reinitialization, on detach, and on destruction. Captured mode identity and retained-source membership reject callbacks after clear or mission replacement. Nonmission initialization keeps native behavior.",
|
|
"test_review": "Read exact full actual-method adapter harness and retained compiled baseline runtime-failure/proposal pass logs; no tests rerun. Covers explicit bool forwarding, original false initialization flag, source replacement, shared widget ownership, blood/group casting, reinit, detach/destructor and captured late callbacks.",
|
|
"limits": [
|
|
"The native initializer, ScriptInvoker registration/removal/dispatch and UI are doubled; no engine execution or rendered inventory proof.",
|
|
"The test double deduplicates Insert and removes all matching callbacks. Arbitrary duplicate native registrations/removal semantics are not independently proven by this harness; actual blood inheritance resolves the specific suspected duplicate path.",
|
|
"No claim to fix separate tourniquet, damage-effect or other native inventory listener cleanup."
|
|
]
|
|
}
|