Basis produces block-compressed textures. Depending on block size - you end up with artifacts larger or smaller in size. At the very least - I suggest you have margins around your UV patches, otherwise these artifacts will bleed through the edges. Such as in your case, I believe.
By the way, you could remove some guess-work on our part by providing the texture image and the model.
Thank you guys!
Turned out Basis has two types of compression one focused on quality – UASTC, and another on file size, which is default, ETC1S.
The problem occurs only with ETC1S. Its ok with basis-UASTC.
The issue is, UASTC is almost 10 times bigger than ETC1S, and there is nothing in between them to balance this tearing =(.
So for now, i will think its just basis-specific encoding problem, like @Usnul just said.
I cant share this exact model, but uv and texture looks somewhat like this, and tearing happens on the edges of those patches:
To get full benefit (and quality) from ETC1S you may have to author your UV maps and textures with some consideration for issues like those @Usnul mentions. UV seams probably need to minimized, padded, and located somewhere inconspicuous — and this model appears to have lots of them.
Another option might be to increase the resolution of the texture a bit before compressing with ETC1S, as an “in between” as you mention.
Thank you @donmccurdy!
So, the screenshot was made with 1024px texture. With 2048 (3 times bigger file size than 1024) textures the edges are hardly seen. I didnt expect such a drastic change.
Also bleeding texture helps a little bit. Also it’s color dependant, like the same quality of texture looks much worse if its red, for example.
just to post the final solution: bleeding textures saved the day for basis compression in the end.
It was either bleeding or doubling texture size(1k->2k).