Reconstructed Girard panel (2018)

A student in my design methods course in spring 2018 carried around a beat-up SIGG water bottle decorated with this design (these are small images of the bottle I found on a Japanese retailer’s website):

I was convinced I could reconstruct the design with code, but first I wanted to figure out where it came from. I used the very obvious Herman Miller logo as my first clue and worked from there; I tell the whole story in this Twitter thread. Long story short: the design is Alexander Girard’s, from the ‘Circle Section A’ environmental panel he made for Robert Propst’s Action Office—the first modular, reconfigurable office design system. (The photo below showing Girard at work with the panel in the background to his left was taken by Charles Eames, dated 1972 and reproduced in Architect’s online story on the 2017 Designer's Universe exhibit of Girard’s work at Cranbrook.)
Girard’s design is an example of Wang tiling—a method of filling surfaces using tiles that can only fit together in certain orentations. Simply tiling a random set of the possible shapes in the system of combined curves and straight strokes, alternating between using the print color as positive and negative space like Girard did, creates small barb-like shapes that aren’t present in his design: 
So I had to test all combinations of all the tiles pairwise and horizontally/vertically, to figure out which tiles could touch which tiles in which orientations without creating those shapes, and then include those exceptions in the procedure for placing tiles as a series of tests of each random choice.
The code I wrote can generate valid fields of arbitrary dimensions.
Static images and animations made in Python using DrawBot.