Selecting geometry from a mesh

I have object where I can select differente geometries onClick and add decal to them. The object has differente geometries on itsself to add decals, and I need whole object displayed with selected geometry.
To use decal I need element but I can pass only geometry there, instead of a whole object. On the other side if I use primitive I can set the whole object but then I cant use geometry to add decal.
I cant just set whole object to be geometry because I have hardcoded areas where user can interact.
What would be the best solution to overcome this problem?

with primitive do you mean <primitive object={...}> ?. in that case yes you have a single object from the outside but it’s a group with dozens of meshes inside.

decals only work with a single geometry. you could merge the object in blender and use a single texture. or something like calling mergeGeometries in threejs.

otherwise you need a shader based decal, like this

Yes, I mean primitive.
This is the video of how it should look like.
Here
The whole object is diplsayed, but it behaves as if it has seams from blender. My object is collection of geometries so I can display whole object with or one geomrty with . I want to display whole object and set active geomtry based on the click.

Just convert nodes into array of objects and map through it. Wrap it with group and it will stay normally but it will have all geometries from nodes.