hey, I want to extend the data2viz dsl but that's ...
# data2viz
b
hey, I want to extend the data2viz dsl but that's not possible due to hardcoded renderable types https://github.com/data2viz/data2viz/blob/aad3ce13c12d472d208ad5261d367a390b5d4076/viz/src/jfxMain/kotlin/io/data2viz/viz/JfxGroupRenderer.kt#L51
Copy code
if (node.visible)
			when (node) {
				is CircleNode       -> node.render(gc)
				is RectNode         -> node.render(gc)
				is GroupNode        -> node.render(gc)
				is PathNode     	-> node.render(gc)
				is TextNode         -> node.render(gc)
				is LineNode         -> node.render(gc)
				else            -> error("Unknow type ${node::class}")
			}
what do you think about making a
Renderable
interface which every node type would implement?
Copy code
class RectNode(rect: Rect = RectGeom()) : Node(),
        Rect by rect,
        HasFill,
        HasStroke,
        Renderable {
    override fun render(gc: GraphicsContext) {...}
}
or alternatively make a
RectRenderable
interface