Pretty sure I've described my fondness for asynchronous loops elsewhere in this thread. Something about your description of common elements "slowly drifting out of phase" reminded me of Brian Eno's description of a piece he was executing with MIDI sequencing ~30 years ago:
He recorded a keyboard improvisation that lasted, say, 100 measures, into his sequencer. He then split the MIDI file by octaves into separate tracks, so that anything he'd played from C0-B0 was in one MIDI track and anything he'd played from C1-B1 was in another MIDI track etc. And then he truncated the length of each separate MIDI track by one measure each ...and then looped them all at their respective new endpoints.
So now the material in the lowest octave was the full 100-measure length of the original improvisation and when looped would playback as originally performed, but the material in the next highest octave would start looping after 99 bars, and the material in the second highest octave would start looping after 98 bars, etc.
So for the first ~90 bars the music is simply a literal snapshot of what he originally improvised...but then the material culled from different registers starts unravelling, spiraling away from itself as it disintegrates and creates nested loops that are completely asynchronous to -- and yet still directly related to -- their original intent. I love that idea!
Really enjoyed your piece too.