How to lift off mesh islands that overlap each other?

I created simplified mesh from my of my projects. It suppose to represent decal mesh that consist of many pieces that overlap each other in many cases.

What I’m trying to do is to elevate along side their respective normals those that would otherwise touch or intersect each other.

Mesh in the back is suppose to represent how it should look like. Some are elevated, some don’t have to be.

What makes this more difficult that it should be? For example, I intentionally mixed up index order of the mesh, to get this example closer to conditions of such decals created in my more complex scenes.

Maybe I was looking at solution to this all wrong the whole time, feel free to correct me!

lift off for intersecting faces.blend (1.2 MB)

My attempt

hover your mouse hover the overlapping decal meshes and press ALT + LMB.
a dropdown menu of all the meshes should appear:

also, you might want to consider purchasing decalMachin3

Thanks for the tip, but I forgot to mention, I need this to be handled by geometry nodes only.