Build the gear container hierarchy: route each gear item into the container
named by its containerId, or into the virtual "On Body" list when its
containerId is empty or names no known container.
allGear is expected to include the containers themselves (as in the sheet),
so a top-level container appears both as a ContainerNode and in
onBodyItems — matching the existing render behavior.
Build the gear container hierarchy: route each gear item into the container named by its
containerId, or into the virtual "On Body" list when itscontainerIdis empty or names no known container.allGearis expected to include the containers themselves (as in the sheet), so a top-level container appears both as a ContainerNode and inonBodyItems— matching the existing render behavior.