Skip to content

Commit ae4f1e7

Browse files
committed
Editor: pre-built default spinning cube loads instantly on page open
1 parent 02410fd commit ae4f1e7

4 files changed

Lines changed: 35 additions & 1 deletion

File tree

editor/default_sketch.data

282 KB
Binary file not shown.

editor/default_sketch.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

editor/default_sketch.wasm

166 KB
Binary file not shown.

editor/index.html

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,40 @@
174174
});
175175
editor.setValue(DEFAULT);
176176
editor.setSize('100%', '100%');
177-
window.addEventListener('load', () => { setTimeout(runSketch, 500); });
177+
178+
// Load pre-built default sketch immediately -- no compile needed
179+
async function loadDefaultSketch() {
180+
const area = document.getElementById('preview-area');
181+
const placeholder = document.getElementById('preview-placeholder');
182+
if (placeholder) placeholder.style.display = 'none';
183+
184+
const canvas = document.createElement('canvas');
185+
canvas.id = 'canvas';
186+
canvas.setAttribute('tabindex', '-1');
187+
area.appendChild(canvas);
188+
189+
const [wasmResp, dataResp] = await Promise.all([
190+
fetch('default_sketch.wasm'),
191+
fetch('default_sketch.data'),
192+
]);
193+
const wasmBinary = new Uint8Array(await wasmResp.arrayBuffer());
194+
const dataBytes = new Uint8Array(await dataResp.arrayBuffer());
195+
196+
window.Module = {
197+
canvas: canvas,
198+
wasmBinary: wasmBinary,
199+
onRuntimeInitialized: function() { setStatus('Running', 'ok'); },
200+
getPreloadedPackage: function(name, size) { return dataBytes.buffer; },
201+
print: t => console.log('[sketch]', t),
202+
printErr: t => console.warn('[sketch]', t),
203+
};
204+
205+
const script = document.createElement('script');
206+
script.src = 'default_sketch.js';
207+
document.head.appendChild(script);
208+
}
209+
210+
window.addEventListener('load', loadDefaultSketch);
178211

179212

180213

0 commit comments

Comments
 (0)