@@ -12,7 +12,6 @@ const statsContainer = () => document.querySelector('.sidebar');
1212const loadProgressive = true ;
1313let observer = null ;
1414let preview = null ;
15- let firstRender = true ;
1615
1716export const app = ( window . app = createApp ( {
1817 setup ( ) {
@@ -113,12 +112,19 @@ export const app = (window.app = createApp({
113112 const prevDevMode = preview . devMode ;
114113 preview . clear ( ) ;
115114 preview . devMode = prevDevMode ;
116- if ( loadProgressive ) {
117- preview . parser . parseGCode ( gcode ) ;
118- // await preview.renderAnimated(Math.ceil(preview.layers.length / 60));
119- } else {
120- preview . processGCode ( gcode ) ;
121- }
115+ preview . parser . parseGCode ( gcode ) ;
116+
117+ render ( ) ;
118+ } ;
119+
120+ const render = async ( ) => {
121+ debounce ( async ( ) => {
122+ if ( loadProgressive ) {
123+ await preview . renderAnimated ( Math . ceil ( preview . layers . length / 60 ) ) ;
124+ } else {
125+ preview . render ( ) ;
126+ }
127+ } ) ;
122128 } ;
123129
124130 const loadDroppedFile = async ( file ) => {
@@ -131,7 +137,6 @@ export const app = (window.app = createApp({
131137 } ;
132138
133139 const selectPreset = async ( presetName ) => {
134- firstRender = true ;
135140 const canvas = document . querySelector ( 'canvas.preview' ) ;
136141 const preset = presets [ presetName ] ;
137142 fileName . value = preset . file . replace ( / ^ .* ?\/ / , '' ) ;
@@ -181,11 +186,7 @@ export const app = (window.app = createApp({
181186 preview . buildVolume = settings . value . drawBuildVolume ? settings . value . buildVolume : undefined ;
182187 preview . backgroundColor = settings . value . backgroundColor ;
183188
184- if ( ! firstRender ) {
185- preview . render ( ) ;
186- } else {
187- firstRender = false ;
188- }
189+ render ( ) ;
189190 } ) ;
190191
191192 watchEffect ( ( ) => {
@@ -204,9 +205,7 @@ export const app = (window.app = createApp({
204205 preview . topLayerColor = settings . value . highlightTopLayer ? settings . value . topLayerColor : undefined ;
205206 preview . lastSegmentColor = settings . value . highlightLastSegment ? settings . value . lastSegmentColor : undefined ;
206207
207- debounce ( ( ) => {
208- preview . renderAnimated ( Math . ceil ( preview . layers . length / 60 ) ) ;
209- } ) ;
208+ render ( ) ;
210209 } ) ;
211210 } ) ;
212211
0 commit comments