limit recursive call depth

This commit is contained in:
Stewart Allen 2023-01-18 21:43:36 -05:00
commit 5bfd6b523f

View file

@ -382,6 +382,7 @@ kiri.load(() => {
let renderSpeed = 0; let renderSpeed = 0;
let skipMove = null; let skipMove = null;
let toolUpdate; let toolUpdate;
let depth = 0;
// send latest tool position and progress bar // send latest tool position and progress bar
function renderUpdate(send) { function renderUpdate(send) {
@ -488,8 +489,8 @@ kiri.load(() => {
deformMesh(pos, send); deformMesh(pos, send);
toolUpdate = { mesh_move: { id, pos }}; toolUpdate = { mesh_move: { id, pos }};
// pause renderer at specified offsets // pause renderer at specified offsets
if (renderSpeed && renderDist >= renderSpeed) { if ((renderSpeed && renderDist >= renderSpeed) || (depth > 600)) {
renderDist = 0; renderDist = depth = 0;
renderUpdate(send); renderUpdate(send);
setTimeout(() => { setTimeout(() => {
renderMoves(id, moves, send, index); renderMoves(id, moves, send, index);
@ -497,6 +498,7 @@ kiri.load(() => {
return; return;
} }
} }
depth++;
renderPath(send); renderPath(send);
} }