I would like to have a texture list that worked similar to how the materials list does. For convenience, I'll arbitrarily define some terms:
- file: image.jpg
- texture: a file path, with a set of tile, etc, parameters
- map: a slot in a component, i.e. Reflectance 0 in a BSDF
I'll just use these, so the rest can make sense. Starting with an empty BSDF, you click its Refl0 map button; one of two things happens: a) you select an existing texture from the list, or b) you create a new one, by selecting a file. In the latter case, a new texture is added to the texture list. The Refl0 map is then linked to the chosen/created texture. All well and good: maps are linked to textures in a list, and you can modify textures from a central location.
However, you do not want to have 2300 textures in your list, one for each variation of tile x for a given file. Therefore, you need the ability to override texture parameters on a per-map basis. This implies that the texture-editing UI is operating, at any given time, within the context of a texture definition, or of a specific map. To edit a texture definition, you select it from the texture list. To override, in a specific map, parameter values defined in its linked texture, you click the map's button. When editing at the map level, you can switch over to editing the texture definition instead, if you like. Also, when editing at the map level, it is implied that individual parameters would provide a way of being 'unset', allowing them to once again inherit values defined in the linked texture definition.
Not sure if I'm painting a clear picture of what I'm thinking, in terms of putting the abstract idea of texture instancing into more concrete, Maxwell-centric terms.