module ProceduralShape