@@ -1724,6 +1724,7 @@ Plotly.relayout = function relayout(gd, astr, val) {
17241724 if ( flags . dolayoutstyle ) seq . push ( subroutines . layoutStyles ) ;
17251725 if ( flags . doticks ) seq . push ( subroutines . doTicksRelayout ) ;
17261726 if ( flags . domodebar ) seq . push ( subroutines . doModeBar ) ;
1727+ if ( flags . docamera ) seq . push ( subroutines . doCamera ) ;
17271728 }
17281729
17291730 Queue . add ( gd ,
@@ -1771,6 +1772,7 @@ function _relayout(gd, aobj) {
17711772 doplot : false ,
17721773 docalc : false ,
17731774 domodebar : false ,
1775+ docamera : false ,
17741776 layoutReplot : false
17751777 } ;
17761778
@@ -1967,7 +1969,10 @@ function _relayout(gd, aobj) {
19671969 var pp1 = String ( p . parts [ 1 ] || '' ) ;
19681970 // check whether we can short-circuit a full redraw
19691971 // 3d or geo at this point just needs to redraw.
1970- if ( p . parts [ 0 ] . indexOf ( 'scene' ) === 0 ) flags . doplot = true ;
1972+ if ( p . parts [ 0 ] . indexOf ( 'scene' ) === 0 ) {
1973+ if ( p . parts [ 1 ] === 'camera' ) flags . docamera = true ;
1974+ else flags . doplot = true ;
1975+ }
19711976 else if ( p . parts [ 0 ] . indexOf ( 'geo' ) === 0 ) flags . doplot = true ;
19721977 else if ( p . parts [ 0 ] . indexOf ( 'ternary' ) === 0 ) flags . doplot = true ;
19731978 else if ( ai === 'paper_bgcolor' ) flags . doplot = true ;
@@ -2119,6 +2124,7 @@ Plotly.update = function update(gd, traceUpdate, layoutUpdate, traces) {
21192124 if ( relayoutFlags . dolayoutstyle ) seq . push ( subroutines . layoutStyles ) ;
21202125 if ( relayoutFlags . doticks ) seq . push ( subroutines . doTicksRelayout ) ;
21212126 if ( relayoutFlags . domodebar ) seq . push ( subroutines . doModeBar ) ;
2127+ if ( relayoutFlags . doCamera ) seq . push ( subroutines . doCamera ) ;
21222128 }
21232129
21242130 Queue . add ( gd ,
0 commit comments