The diffuse color has to be accessible by the JS API (which is no problem with an RGB node).

The UV map is bigger than the texture. Parts of the map reach out of the texture image.

Later on the image texture will be replaced by a canvas texture.

This is the UV map:Consider the "logo" text inside a small square image. The map part representing the upper face of the cube is bigger than the image itself.

…and this was my first attempt to "cut out" the decal from a defined diffuse color:

It looked OK at first glance:but look at those bleeds when the face is in a flat angle from the view direction:It even bleeds into adjacent faces.That kind of looks like a mipmapping problem…

Now, this is the current approach:

It looks OK, but the "less than" threshold is found by try and error, and it cuts aways too much from the decal itself. I'm afraid that for workflow reasons we can't have the UV map less or equal in size than the texture. The texture itself is POT; An external Tool will place customer decals inside a fixed 1024x1024 PNG.