Currently the live sockets data each item has from getProfile.itemComponents.sockets.data is a challenge to deal with as you need to get the itemDefinition on each plug and reusable plug. So if you only want to check say a weapon mod has been applied, or if a custom emblem is being used you need to iterate through everything, get its definition and check if it is what you want. For example in Ishtar I show an indicator on the gear icon if a mod is applied. At least 30% of the cpu time needed to build the inventory each refresh is spent here due to this issue. It is also really difficult to look at the data as it is so abstract. Is this a weapon perk, masterwork, ornament, etc?
If you look at the screenshot attached it shows some real data. Would it be possible that where it shows plugHash and plugItemHash you have an extra field showing the uiPlugLabel? We could instantly identify which plug we want and relevant reusablePlugs. The other side to this is that currently the sockets don't have a uiPlugLabel. Could they? Which is also kind of what #535 is getting at. The plugCategoryIdentifier is too specific. I don't want to know the exact catalyst that can be inserted, just a more generic 'masterwork.catalyst' uiPlugLabel. It would be useful to know within the mods itemCategory which is the socket for different things such as weapon/armor mods, ornaments, shaders, masterworks, custom emblems, etc. It would also make this data that is very abstract and potentially so many different things more human readable.
Currently the live sockets data each item has from getProfile.itemComponents.sockets.data is a challenge to deal with as you need to get the itemDefinition on each plug and reusable plug. So if you only want to check say a weapon mod has been applied, or if a custom emblem is being used you need to iterate through everything, get its definition and check if it is what you want. For example in Ishtar I show an indicator on the gear icon if a mod is applied. At least 30% of the cpu time needed to build the inventory each refresh is spent here due to this issue. It is also really difficult to look at the data as it is so abstract. Is this a weapon perk, masterwork, ornament, etc?
If you look at the screenshot attached it shows some real data. Would it be possible that where it shows plugHash and plugItemHash you have an extra field showing the uiPlugLabel? We could instantly identify which plug we want and relevant reusablePlugs. The other side to this is that currently the sockets don't have a uiPlugLabel. Could they? Which is also kind of what #535 is getting at. The plugCategoryIdentifier is too specific. I don't want to know the exact catalyst that can be inserted, just a more generic 'masterwork.catalyst' uiPlugLabel. It would be useful to know within the mods itemCategory which is the socket for different things such as weapon/armor mods, ornaments, shaders, masterworks, custom emblems, etc. It would also make this data that is very abstract and potentially so many different things more human readable.