export const makeInternalState = () => { let drawnPrecomposedPixels = 0; let precomposedTextures = 0; let waitForReadyTime = 0; let addSampleTime = 0; let createFrameTime = 0; const helperCanvasState = { current: null, }; return { getDrawn3dPixels: () => drawnPrecomposedPixels, getPrecomposedTiles: () => precomposedTextures, addPrecompose: ({ canvasWidth, canvasHeight, }) => { drawnPrecomposedPixels += canvasWidth * canvasHeight; precomposedTextures++; }, helperCanvasState, cleanup: () => { if (helperCanvasState.current) { helperCanvasState.current.cleanup(); } }, getWaitForReadyTime: () => waitForReadyTime, addWaitForReadyTime: (time) => { waitForReadyTime += time; }, getAddSampleTime: () => addSampleTime, addAddSampleTime: (time) => { addSampleTime += time; }, getCreateFrameTime: () => createFrameTime, addCreateFrameTime: (time) => { createFrameTime += time; }, }; };