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: menu contains ten utility and ten native key cells
PASS: cells contain no item-name labels
PASS: key add and page buttons are absent
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: physical belt record ready for Wishbone
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: physical belt record ready for Demister
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: physical belt record ready for BeltStrength
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: physical belt record ready for Lantern
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: physical belt record ready for CryptKey
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 trinket prefab available
PASS: native item exists: TrinketBlackDamageHealth
PASS: item enters player inventory: TrinketBlackDamageHealth
PASS: trinkets are rejected as belt utilities and cannot activate
PASS: rejected trinket stays in inventory
PASS: previously saved trinket survives loading for safe withdrawal
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 <7ddd56b642ac4433b0a7184caedb5bd9>:0 
  at RuntimeTests.TraceBeltClosed () [0x00000] in <7ddd56b642ac4433b0a7184caedb5bd9>:0 
  at UtilityBelt.BeltUI.DMD<UtilityBelt.BeltUI::Close> () [0x00000] in <11f34a55e082452b983bd750a724635a>:0 
  at RuntimeTests+<Run011>d__17.MoveNext () [0x00000] in <7ddd56b642ac4433b0a7184caedb5bd9>:0 
  at RuntimeTests+<Guard>d__13.MoveNext () [0x00000] in <7ddd56b642ac4433b0a7184caedb5bd9>: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: original raven artwork is mapped to detailed solid relief
PASS: belt reuses Sailing Progression band geometry
PASS: belt surface and inventory icon use the same supplied reference image
PASS: belt retains native Megingjord skin bound to player bones
Waist diagnostics: world=(-6.4877, 37.2538, -2.7785) player=(-6.4564, 36.1360, -2.7928) baked=(-0.0002, 0.0003, 0.0118) scale=(95.0000, 95.0001, 95.0001) shared=(0.0000, 0.0001, 0.0125) renderer=(-6.4564, 36.1360, -2.7928) hip=(-6.4658, 36.9748, -2.7944)
PASS: native belt anchor is at body waist height
PASS: attachments are anchored at the fitted native belt centre
Wisp diagnostics: instance=demister_ball(Clone); renderers=demister_ball:True:False,flames:True:False,flames_local:True:False,flare:True:False,embers:True:False,distortiion:True:False,energy:True:False,energy (1):True:False,sparcs_front:True:False
PASS: native flying wisp remains visible with belt attachments disabled
PASS: full key hint fits in its text area
PASS: native utility works: Wishbone
PASS: native utility works: Demister
PASS: native utility works: BeltStrength
PASS: physical belt record ready for Wishbone
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: first Wishbone off request accepted
PASS: server toggles first arbitrary utility slot
PASS: slot ten keeps the same effect active without stacking
PASS: slot ten activation request accepted
PASS: slot ten can be switched off
PASS: all disabled copies stop the effect
PASS: first Wishbone restored
PASS: slot ten withdraws normally
PASS: legacy key saves preserve contents with ten visible slots
PASS: overflow key moves into a freed key cell
PERF click Wishbone=5.80ms
PASS: button turns off Wishbone
PASS: toggle reuses visible model: Wishbone
PASS: button restores Wishbone
PERF click Demister=4.18ms
PASS: button turns off Demister
PASS: toggle reuses visible model: Demister
PASS: button restores Demister
PERF click BeltStrength=4.91ms
PASS: button turns off BeltStrength
PASS: toggle reuses visible model: BeltStrength
PASS: button restores BeltStrength
PERF click Lantern=3.75ms
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: raven front stays unobstructed during hip motion -40
PASS: belt front remains aligned during hip motion 0
PASS: raven front stays unobstructed during hip motion 0
PASS: belt front remains aligned during hip motion 40
PASS: raven front stays unobstructed 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: native item exists: OdinsBelt
PASS: item enters player inventory: OdinsBelt
PASS: two physical belts have different identities
PASS: second unequipped belt has independent empty contents
PASS: native item exists: Wishbone
PASS: item enters player inventory: Wishbone
PASS: unequipped second belt accepts a utility
PASS: unequipped utility deposit is approved
PASS: native cursor holds internal move preview
PASS: internal drag sends rearrange request
PASS: utility moves inside the belt
PASS: internal move leaves only one copy
PASS: opening first belt restores its own contents
PASS: success spam removed
PASS: dragging onto an occupied compatible slot swaps items
PASS: swap can be reversed without duplicates
PASS: belt drops through native inventory physics
PASS: dropped belt has native rigidbody and network ownership
PASS: dropped belt preserves visible native sparkle particles
PASS: dropped belt has a visible 3D mesh rather than an icon billboard
PASS: dropped belt remains in the world beyond automatic pickup delay
PASS: dropped physical item retains its identity and contents
PASS: world ZDO stores the filled belt contents
PASS: dropped belt can be picked up through native interaction
PASS: picked-up belt reopens with all its original utilities
PASS: other belt stays independent after drop and pickup
COMPLETE: 157 checks passed
