Utility Belt runtime checks
PASS: native world loaded
PASS: native player is ready for inventory interaction
PASS: server state initialized
PASS: native item exists: OdinsBelt
PASS: item enters player inventory: OdinsBelt
PASS: belt inventory icon decodes at full resolution
PASS: belt icon has visible opaque coverage beyond the lantern
PASS: belt is a normal equippable utility item
PASS: native inventory cell displays the belt icon
PASS: E opens the belt menu without auto-equipping
PASS: opening does not move or equip the belt
PASS: normal equip succeeds
PASS: server recognizes native equipment hash
PASS: equipped belt stays in ordinary inventory and creates no duplicate
PASS: native item exists: Wishbone
PASS: item enters player inventory: Wishbone
PASS: transfer requested: Wishbone
PASS: server accepts transfer: Wishbone
PASS: belt item frees normal inventory space: Wishbone
PASS: item metadata survives transfer: Wishbone
PASS: native item exists: Demister
PASS: item enters player inventory: Demister
PASS: transfer requested: Demister
PASS: server accepts transfer: Demister
PASS: belt item frees normal inventory space: Demister
PASS: item metadata survives transfer: Demister
PASS: native item exists: BeltStrength
PASS: item enters player inventory: BeltStrength
PASS: transfer requested: BeltStrength
PASS: server accepts transfer: BeltStrength
PASS: belt item frees normal inventory space: BeltStrength
PASS: item metadata survives transfer: BeltStrength
PASS: native item exists: Lantern
PASS: item enters player inventory: Lantern
PASS: transfer requested: Lantern
PASS: server accepts transfer: Lantern
PASS: belt item frees normal inventory space: Lantern
PASS: item metadata survives transfer: Lantern
PASS: native item exists: CryptKey
PASS: item enters player inventory: CryptKey
PASS: transfer requested: CryptKey
PASS: server accepts transfer: CryptKey
PASS: belt item frees normal inventory space: CryptKey
PASS: item metadata survives transfer: CryptKey
PASS: arrival animation has finished before drag interaction
PASS: belt slot starts native drag cursor
PASS: picking up a preview leaves the real item in the belt
PASS: belt drag survives native inventory refresh
PASS: dropping preview outside cancels without duplication
PASS: dragging out withdraws through server receipt
PASS: withdrawal lands in the selected native inventory cell
PASS: drag withdrawal delivers exactly one item
PASS: native item exists: Resin
PASS: item enters player inventory: Resin
PASS: invalid utility drop keeps item in inventory and slot unchanged
PASS: dragging into utility slot stores item through server
PASS: drag deposit removes the native inventory item
PASS: successful deposit clears native drag cursor
Drag cancellation flags: dead=False cutscene=False teleport=False use=False inventory=False
Drag cancellation trace:   at RuntimeTests.TraceDragCleared (ItemDrop+ItemData item) [0x00000] in <0c6283147e9a4979b77065b8a87bee44>:0 
  at RuntimeTests.TraceBeltClosed () [0x00000] in <0c6283147e9a4979b77065b8a87bee44>:0 
  at UtilityBelt.BeltUI.DMD<UtilityBelt.BeltUI::Close> () [0x00000] in <2750dda8d611403998138f09f19be682>:0 
  at RuntimeTests+<Run011>d__17.MoveNext () [0x00000] in <0c6283147e9a4979b77065b8a87bee44>:0 
  at RuntimeTests+<Guard>d__13.MoveNext () [0x00000] in <0c6283147e9a4979b77065b8a87bee44>:0 
  at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) [0x00000] in <ae1a76aaedb941e4918d03433c7d36d1>:0 
PASS: closing menu cancels key preview without withdrawing it
PASS: belt retains native Megingjord skin bound to player bones
Waist diagnostics: world=(386.7455, 54.0253, -127.4506) player=(386.7118, 52.9080, -127.4668) baked=(-0.0002, 0.0003, 0.0118) scale=(95.0001, 95.0001, 95.0001) shared=(0.0000, 0.0001, 0.0125) renderer=(386.7118, 52.9080, -127.4668) hip=(386.7200, 53.7468, -127.4548)
PASS: native belt anchor is at body waist height
PASS: attachments are anchored at the fitted native belt centre
PASS: native utility works: Wishbone
PASS: native utility works: Demister
PASS: native utility works: BeltStrength
PERF click Wishbone=2.47ms
PASS: button turns off Wishbone
PASS: toggle reuses visible model: Wishbone
PASS: button restores Wishbone
PERF click Demister=2.14ms
PASS: button turns off Demister
PASS: toggle reuses visible model: Demister
PASS: button restores Demister
PERF click BeltStrength=2.05ms
PASS: button turns off BeltStrength
PASS: toggle reuses visible model: BeltStrength
PASS: button restores BeltStrength
PERF click Lantern=1.95ms
PASS: button turns off Lantern
PASS: toggle reuses visible model: Lantern
PASS: button restores Lantern
PASS: keys remain active independently of utility buttons
PASS: no extra inventory button is created
Native belt renderers in icon: 1
PASS: belt front remains aligned during hip motion -40
PASS: keyring remains in front of waist during hip motion -40
PASS: belt front remains aligned during hip motion 0
PASS: keyring remains in front of waist during hip motion 0
PASS: belt front remains aligned during hip motion 40
PASS: keyring remains in front of waist during hip motion 40
PASS: unequipping closes belt menu immediately
PASS: native unequip synchronizes
PASS: unequipping extinguishes lantern
PASS: unequipping keeps physical belt available for E interaction
PASS: belt can be re-equipped normally
PASS: re-equipping synchronizes
PASS: lightweight journal mirrors server-approved contents
PASS: native tombstone keeps physical belt when retention is enabled
PASS: native tombstone restores original quest-item flag
PASS: native tombstone preserves stored utilities
PASS: belt drops through native inventory physics
PASS: dropped belt has native rigidbody and network ownership
PASS: dropped belt has a visible 3D mesh rather than an icon billboard
PASS: dropped belt can be picked up through native interaction
COMPLETE: 99 checks passed
