Interactivity: todos #80
Labels
component
Features or graph components
discussion
Discuss!
enhancement
New feature or request
mark
Base marks
Stuff that is still on the list for interactivity:
Some 'zooming' functionality. In Vega, 'zooming' is just done by changing the scaling of the coordinate system, and cropping everything that is supposed to be outside of your 'viewport' out with a clipPath. For our library, maybe we should have a separate
zoom
prop rather than doing everything with thescale-x
andscale-y
. Thiszoom
prop can just receive a magnifying factor, or maybe just another domain specification to zoom to. I think we might also need to do cropping, but for a big part we can use our spatial index to just not draw stuff that is outside of the viewport.Better support for polar coordinates. We can now just use our regular rectangular selection tools to make selections in polar coordinate systems, but it would be cool to have some selection tools that are specifically designed for polar coordinates, like a rectangle tool that moves clockwise through the coordinate system. This would also involve the currently not working
$$inverseTransform
for polar coordinates, which I haven't figured out how to do yet.Line
/MultiLine
/other lines: improve collision detection. First, I think we should definitely store the line segments as separate items in the spatial index, that would immensely improve the performance. Second, I am not sure if the current method for collision detection is good. Maybe it would be faster to just treat lines a very thin polygons and store them like that instead.For all marks, right now, a mark will be included in the selection if its centroid is inside of the drawn selection rectangle/polygon. I am not sure if this makes sense? Maybe for lines you would want to include all lines that intersect the selection shape? And maybe in some cases you would also want this for polygons?
Move
addToSpatialIndex
logic to watcher that is only triggered when necessary, instead of updating the spatial index on every render and using our own weird caching system.Add interactivity for
Label
s?Drag events, maybe with
.sync
?Refactor the code a bit, to make it more readable?
Any other requests for interactivity features?
The text was updated successfully, but these errors were encountered: