Replies: 3 comments 7 replies
-
Yeah, this might be really helpful. One reason I didn't do this was that I wasn't sure what all of the low-level transforms do. e.g. The other thing is that VegaFusion works in a batch mode on top of the column-oriented Arrow format (rather than streaming rows like the Vega Dataflow does), so I wasn't sure if all of these operators would apply in that context. What do you think? |
Beta Was this translation helpful? Give feedback.
-
Here are a couple more thoughts on what would make it easier for VegaFusion to switch to working at the DataFlow graph level. Some of these may already exist and I'm just not familiar with where to look.
|
Beta Was this translation helpful? Give feedback.
-
Here's a future optimization usecase I've been thinking about. I'd like to eventually add selective server-side rendering support to VegaFusion. By "selective" I mean I'd like to find a way to render some marks on the server and some on the client. The motivating example is the large scatter plot where it would be nice to pre-render the symbol mark on the server, but allow the client to still render the axis rules and text. The way I'm currently picturing doing this is to add custom transforms to VegaFusion that generate images from mark specifications. There are details to work out, but a By planning at the Vega-specification level, I can imagine a planning transformation that would automatically replace a symbol mark with an image mark on the client and a |
Beta Was this translation helpful? Give feedback.
-
Vega visualization specs compile to the Vega dataflow spec, which then gets instantiated by the Vega runtime. I believe that the lower-level dataflow makes it easier to do complete optimizations. For example, Vega specs have axes and legends as separate components but in the dataflow, they get compiled to marks. By using the dataflow, Vega Fusion could unlock more optimizations.
Beta Was this translation helpful? Give feedback.
All reactions