To investigate I'll have to create some definitions.

Let us define self-similarity in a strict sense as:

*self-similarity:**shape A is composed of a finite number of smaller copies of shape A*

I'll then define cross-similarity as:

*cross-similarity*:*distinct shapes A,B,C,.. are composed of a finite number of smaller copies of each shape A,B,C,..*

A special case I'll label as:

*co-similarity*:*distinct shapes A,B,C,.. are composed of one smaller copy of each shape A,B,C,..*

So unlike self-similarity, co-similar shapes mutually nest inside each other. The simplest non-trivial special case is for two shapes A,B. Let's label them twin-fractals.

**twin-fractals:***shape A is composed of a small copy of shape A and shape B*

*shape B is composed of a small copy of shape A and shape B*

*i.e.*

*A = aT1A + bT2B*

*B = cT3A + dT4B for some scalars 0 < a,b,c,d < 1 and Euclidean transforms*

*Ti*

*twin-gnomons*, these are twin fractals where shape A and shape B have the same relative scale when composing.

**twin-gnomons:***shape A and shape B compose to a larger copy of shape A*

*shape A and shape B compose to a larger copy of shape B*

*i.e.*

*A = aT1A + aT2B*

*B = cT3A + cT4B for scalars 0*

*< a,c < 1*

We can find these using an Iterated Function System or limit-sets approach. Here are some examples. The white is shape A, yellow and pink are shape B in its two locations:

A special case of twin-gnomons I'll call

*twin-tiles*, these are twin-gnomons where the same scale is used for composing shapes A and B:

**twin-tiles:***shape A and shape B compose to a larger copy of shape A*

*shape A and shape B compose to a larger copy of shape B, with the same enlargement factor*

*i.e.*

*A = aT1A + aT2B*

*B = aT3A + aT4B for scalar*

*0 < a < 1*

*Here are equivalent twin tiles:*

A feature of the twin tiles is that one can grow larger and larger versions of shape A and B by composing in the two ways, so it exhibits co-similarity.

I'm uncertain whether any of these can be made dense, but I am certain that they can be made to be connected. I think the best results come when the composition is just touching without overlap. This is close in the top image of the set above, but the yellow shape B doesn't quite touch at the bottom and the pink shape B overlaps a little. If I tweak the transforms we get something that is more connected:

I think this is an interesting area to explore. White and yellow are mutually similar, rather than self-similar shapes.

As I mentioned, these are very similar to the researched are of self tiling tile sets or setisets for short. These tile sets have any number of tiles, but they are restricted to just dense tiles. Their work presents a solution for the two tile case but it requires reflection so the shapes aren't symmetric through a similarity transform.