python3 -m pip install -r requirements.txtRun the interface:
python3 gui.pyA sample config that has a colored donut on a transparent background
# Prevent transparents from overlapping during redraws
Clear()
# Draw background
SetColorMode(GridColorMode(["#ffffff00"]))
SetDrawMode(SquaresDrawMode(1))
Draw()
# Set the color mode
SetColorMode(
RandAlphaColorMode(
PolygonColorMode(
[
[
"#ffffff00",
# Small circle
[["0.7","0.5"],["0.6902113032590307","0.5618033988749895"],["0.6618033988749895","0.6175570504584946"],["0.6175570504584946","0.6618033988749895"],["0.5618033988749895","0.6902113032590307"],["0.5","0.7"],["0.4381966011250105","0.6902113032590307"],["0.3824429495415054","0.6618033988749895"],["0.3381966011250105","0.6175570504584946"],["0.3097886967409693","0.5618033988749895"],["0.3","0.5"],["0.3097886967409693","0.43819660112501047"],["0.3381966011250105","0.3824429495415054"],["0.3824429495415054","0.3381966011250105"],["0.43819660112501047","0.3097886967409693"],["0.49999999999999994","0.3"],["0.5618033988749894","0.30978869674096926"],["0.6175570504584946","0.3381966011250105"],["0.6618033988749895","0.3824429495415053"],["0.6902113032590307","0.43819660112501047"]]
],
[
# Normal distribute colors, because randomization is pretty
NormalColorMode(
# Arc around the center
ArcColorMode(
# Subset of provided colors, 10 colors, wrapping around
getSubcolors(
# Only use the first 4 colors
subset(
# Shuffle the array of colors
shuffle(
# Pick a color set
[
"#eaac43", "#ea4c65", "#1a2431","#57a37d","#cace9d","#527157",
"#ff0000","#ffa500","#ffff00","#008000","#0000ff","#4b0082","#ee82ee",
"#02d7f2","#f2e900","#007aff","#ff1111","#000000",
"#ffbe0b","#fb5607","#ff006e","#8338ec","#3a86ff"
]
),
0, 3
),
7,
true
)
),
mult(random(), "0.1"),
mult(random(), "0.1")
),
# Circle
[['0.95', '0.5'], ['0.9279754323328191', '0.6390576474687264'], ['0.8640576474687264', '0.764503363531613'], ['0.764503363531613', '0.8640576474687264'], ['0.6390576474687264', '0.9279754323328191'], ['0.5', '0.95'], ['0.3609423525312737', '0.9279754323328191'], ['0.23549663646838714', '0.8640576474687264'], ['0.13594235253127368', '0.764503363531613'], ['0.0720245676671809', '0.6390576474687264'], ['0.04999999999999999', '0.5'], ['0.0720245676671809', '0.3609423525312735'], ['0.13594235253127362', '0.23549663646838714'], ['0.23549663646838703', '0.13594235253127368'], ['0.3609423525312736', '0.0720245676671809'], ['0.49999999999999994', '0.04999999999999999'], ['0.6390576474687263', '0.07202456766718085'], ['0.7645033635316127', '0.13594235253127357'], ['0.8640576474687263', '0.23549663646838698'], ['0.9279754323328191', '0.36094235253127355']]
]
]
)
)
)
SetDrawMode(CirclesDrawMode())
Draw()