Hi @thejessewinton …
My first thought was to adapt this @prisoner849 work:
https://codepen.io/prisoner849/full/oNopjyb
to a flat surface.
PS: Other example: