You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
composite 2-pass drawing pre- & post- scale change
coord.plotData shall returns continuation if it wants to participate
the immediate action draws anything before the transition
the continuation will be run after the scale change
note there is nothing asynchronous here. instead we are using
continuations for the sake of capturing the joined selections that both
passes need.
2-pass is implemented but not specialized for the bar chart only
this commit also makes explicit that axis preparation and scale-setting
is different for render and redraw. render sets the scales twice,
probably to the same thing. this is because the scales must be valid
for the first pass, and they must *not* be set before a redraw, because
they must be consistent with the old view.
we'll see if this causes problems when clients (& maybe focus chart)
explicitly change the x domain. but if there are problems here, they are
probably not new. any enter selections on a too-soon scale change were
probably already screwed up.
implement 2-phase drawing for bar chart
but, as i guessed might happen, this does not work for cases where
the scale was updated by the client
copy/set/restore scales to make last available
we must let the user change the scale, so we will need to copy
after each draw. however, this push/pop stuff is probably wrong
(and 2-phase is probably wrong too).
will clean up later after i have a working poc.
apply barWidth to entering
this logic is just wrong
what more is there to say
the intent here was not to string-compare null
but it ended up skipping zeroes
this is still somewhat wrong because it *should* string-compare zeroes
but let's just deal with the obvious and move on
fetch data before restoring scales
... of course, the idea that the data should depend on the current
scale is infuriating in itself, but again, this branch is a poc
test left-to-right swipe
currently the middle is lost
make state explicit
it's a lot of parameters but it seems much more clear to pass them
in rather than assuming they will be set on the chart.
get rid of the very clever continuation trick i just put in. :-|
also stop caching barWidth and xUnitCount, which wouldn't work
anymore (since we have to look at the past and present at once).
this works but a lot of tests are failing
it's now possible to observe scale changing type
from linear to ordinal, for example
fun.
also track last right Y scale
and don't pass the left :)
this was not the way to process data better
we do want to call .data() less, but this didn't actually help
we do want to get data for the right range, this didn't do that either
this was only here to get data at the right scale-moment
but we're past that now
fade out + refinements for ordinal bar transitions
always fade out as we're fading in
ordinal bars should not move or size as they enter/exit, because
logically there is nowhere for them to come from / go to.
pull domainFilter out of prepareValues
too deep, too stateful
start transitioning from .data() to computeStacks
bar chart draw bounds enclosing old and new domain
to avoid the gap
technically we could remove what's outside the drawing area afterward
rotate through a few more spans
to display the off-edge bug #949
0 commit comments