diff --git a/src/kiri/stacks.js b/src/kiri/stacks.js index 11756360..9bebee90 100644 --- a/src/kiri/stacks.js +++ b/src/kiri/stacks.js @@ -10,10 +10,10 @@ emissive = 0x101010, metalness = 0, roughness = 0.3, - newMat = createPhongMaterial, - freeMem = true; + newMat = createPhongMaterial; let stacks = {}, + freeMem = true, tallest = 0, min = 0, max = 0, @@ -26,6 +26,11 @@ UI = API.ui; } + function setFreeMem(bool) { + freeMem = bool; + return this; + } + function clear() { if (!API) { init(); @@ -278,7 +283,8 @@ remove, getStack, getRange, - setRange + setRange, + setFreeMem }; })(); diff --git a/src/mode/cam/client.js b/src/mode/cam/client.js index e05904b7..b0ed1a09 100644 --- a/src/mode/cam/client.js +++ b/src/mode/cam/client.js @@ -398,7 +398,7 @@ const {x, y, z} = stock; if (x && y && z && !STACKS.getStack('bounds')) { const render = new KIRI.Render().setLayer('bounds', { face: 0xaaaaaa, line: 0xaaaaaa }); - const stack = STACKS.create('bounds', SPACE.platform.world); + const stack = STACKS.setFreeMem(false).create('bounds', SPACE.platform.world); stack.add(render.addPolys([ newPolygon().centerRectangle({x:csox, y:csoy, z:0}, x, y), newPolygon().centerRectangle({x:csox, y:csoy, z}, x, y) @@ -411,6 +411,7 @@ newPoint(csox - hx, csoy - hy, 0), newPoint(csox - hx, csoy - hy, sz), newPoint(csox - hx, csoy + hy, 0), newPoint(csox - hx, csoy + hy, sz), ], { thin: true })); + STACKS.setFreeMem(true); } API.platform.update_top_z(delta);