Closed
Description
Some rules that were good ideas before but become crucial with Plotly.react
so that we recognize a non-change correctly:
- Never create new arrays in the
supplyDefaults
step - for example reshaping 1D to 2D arrays. That should be done in acalc
step and NOT pushed back into_fullData
. - Don't modify attributes after finishing
supplyDefaults
, unless you're going to push the results back to the input (data
/layout
) as well, likeautorange
/range
. - When you're stashing things on
_full*
, always make_private
attributes.
Most of the instances of this are taken care of in #2341, but a few are open:
-
tick0
,dtick
-> default filled in late (After SD) - also for tickmode=array, not needed at all -
camera
doesn’t push back into_fullLlayout
after drag, onlylayout
? - tests for
scatter3d
with uneven or missing x/y/z - tests for
surface
with uneven, missing, or ragged x/y/z -
autocolorscale
: first time it gets set on, second time off - is that intentional? cauto sometimes shows a similar effect… seegl3d_scatter-color-mono-and-palette
resolved in: Don't mutate colorscale, cmin/cmax and zmin/zmax into user traces #3341 -
contourcarpet
:zmin
/zmax
get filled in (aftersupplyDefaults
) but they aren't actually attributes ofcontourcarpet
. They should be! -
autorange: 'reversed'
should get replaced inlayout
once it has been acted on. There's a polar mock where this doesn't happen until the second draw.
Metadata
Metadata
Assignees
Labels
No labels