The way colors are handled by Graphic is kinda of wonky now, I'm thinking of making a base class GraphicAttribute which is indexable, this would allow intuitive fine grained color control. It would probably also fix the current wonkyness of ScatterGraphic.
example:
plot = Plot()
line_graphic = plot.line(data=<sine_wave>)
line_graphic.colors[50:100] = "red"
line_graphic.colors[100:] = (0, 1, 0, 1)
line_graphic.colors = "w"
...
This would basically call pygfx geometry/material colors.data and the update_range() for only the indices modified
@EricThomson @clewis7 thoughts?
@clewis7 this will get rid of all the current update_<graphic_attr> methods, but we can change that later. For interactivity we can just allow anything that is a GraphicAttribute instance to be a modifiable feature.
The way colors are handled by
Graphicis kinda of wonky now, I'm thinking of making a base classGraphicAttributewhich is indexable, this would allow intuitive fine grained color control. It would probably also fix the current wonkyness ofScatterGraphic.example:
This would basically call
pygfxgeometry/materialcolors.dataand theupdate_range()for only the indices modified@EricThomson @clewis7 thoughts?
@clewis7 this will get rid of all the current
update_<graphic_attr>methods, but we can change that later. For interactivity we can just allow anything that is aGraphicAttributeinstance to be a modifiable feature.