Let's get rid of 'type' stuff in ResourceLoaderImageModule.
'images' => array( [image type] => array( <-- this guy right here [file path string], [file path string] => array( 'name' => [image name string, defaults to file name], 'variants' => [array of variant name strings, variants available for this image], ), ) ),
It was badly copied from OOjs UI, where it served a purpose (mapped to directory structure), in a way that doesn't serve a purpose at all (since we require full paths). People just always put 'icon' there. It is not useful and was never needed, and I half-assed the implementation since I suspected that it won't be useful. Right now the same thing is causing us problems in OOjs UI too, because the rigid mapping to directory structures turned out to be inconvenient when we introduced icon packs.