diff --git a/README.md b/README.md index 5322e74..009680f 100644 --- a/README.md +++ b/README.md @@ -67,4 +67,5 @@ In the future, development is planned for the following parts of the engine: - 0.3.3: Fixed a critical issue with network chunk synchronization. - 0.5.0: Removed all voxel-related code from the engine. Implemented new voxel data structures with ray marched graphics. - 0.6.0: Major improvements to ray marcher performance. In addition, added back world editing, LODs, and some multiplayer functionality. -- 0.7.0: Added path-traced indirect lighting, including ambient occlusion and emissive voxels. \ No newline at end of file +- 0.7.0: Added path-traced indirect lighting, including ambient occlusion and emissive voxels. +- 0.7.1: Upgraded winit to fix bug with mouse input on web. \ No newline at end of file diff --git a/index.html b/index.html index 494f6f3..bef69f7 100644 --- a/index.html +++ b/index.html @@ -1,8 +1,8 @@ - - + +
@@ -51,6 +51,6 @@ }; - + \ No newline at end of file diff --git a/web-78ad387475d3b3ed.js b/web-1b9437e1ec3ce582.js similarity index 96% rename from web-78ad387475d3b3ed.js rename to web-1b9437e1ec3ce582.js index f89cd7f..85a058c 100644 --- a/web-78ad387475d3b3ed.js +++ b/web-1b9437e1ec3ce582.js @@ -22,15 +22,6 @@ function takeObject(idx) { return ret; } -function addHeapObject(obj) { - if (heap_next === heap.length) heap.push(heap.length + 1); - const idx = heap_next; - heap_next = heap[idx]; - - heap[idx] = obj; - return idx; -} - const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; @@ -49,6 +40,15 @@ function getStringFromWasm0(ptr, len) { return cachedTextDecoder.decode(getUint8Memory0().slice(ptr, ptr + len)); } +function addHeapObject(obj) { + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; + + heap[idx] = obj; + return idx; +} + let WASM_VECTOR_LEN = 0; const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); @@ -219,15 +219,15 @@ function makeMutClosure(arg0, arg1, dtor, f) { return real; } function __wbg_adapter_36(arg0, arg1, arg2) { - wasm._ZN136__LT_dyn_u20_core__ops__function__FnMut_LT__LP_A_C__RP__GT__u2b_Output_u20__u3d__u20_R_u20_as_u20_wasm_bindgen__closure__WasmClosure_GT_8describe6invoke17h048a54257c2fc1edE(arg0, arg1, addHeapObject(arg2)); + wasm._ZN136__LT_dyn_u20_core__ops__function__FnMut_LT__LP_A_C__RP__GT__u2b_Output_u20__u3d__u20_R_u20_as_u20_wasm_bindgen__closure__WasmClosure_GT_8describe6invoke17h0efe5632a2251b4dE(arg0, arg1, addHeapObject(arg2)); } -function __wbg_adapter_41(arg0, arg1) { - wasm._ZN132__LT_dyn_u20_core__ops__function__FnMut_LT__LP__RP__GT__u2b_Output_u20__u3d__u20_R_u20_as_u20_wasm_bindgen__closure__WasmClosure_GT_8describe6invoke17h7c880b438f4ae1ffE(arg0, arg1); +function __wbg_adapter_43(arg0, arg1) { + wasm._ZN132__LT_dyn_u20_core__ops__function__FnMut_LT__LP__RP__GT__u2b_Output_u20__u3d__u20_R_u20_as_u20_wasm_bindgen__closure__WasmClosure_GT_8describe6invoke17h0500baf4cc99d26aE(arg0, arg1); } -function __wbg_adapter_50(arg0, arg1, arg2, arg3) { - wasm._ZN137__LT_dyn_u20_core__ops__function__FnMut_LT__LP_A_C_B_RP__GT__u2b_Output_u20__u3d__u20_R_u20_as_u20_wasm_bindgen__closure__WasmClosure_GT_8describe6invoke17h7fffdc8b8eba3559E(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3)); +function __wbg_adapter_46(arg0, arg1, arg2, arg3) { + wasm._ZN137__LT_dyn_u20_core__ops__function__FnMut_LT__LP_A_C_B_RP__GT__u2b_Output_u20__u3d__u20_R_u20_as_u20_wasm_bindgen__closure__WasmClosure_GT_8describe6invoke17hb7cf57683fad513dE(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3)); } let stack_pointer = 128; @@ -308,11 +308,11 @@ async function __wbg_load(module, imports) { function __wbg_get_imports() { const imports = {}; imports.wbg = {}; - imports.wbg.__wbg_offsetX_1a40c03298c0d8b6 = function(arg0) { + imports.wbg.__wbg_offsetX_d08eda91526f22a2 = function(arg0) { const ret = getObject(arg0).offsetX; return ret; }; - imports.wbg.__wbg_offsetY_f75e8c25b9d9b679 = function(arg0) { + imports.wbg.__wbg_offsetY_3c895bb1534dfbf4 = function(arg0) { const ret = getObject(arg0).offsetY; return ret; }; @@ -327,16 +327,8 @@ function __wbg_get_imports() { const ret = getObject(arg0)[arg1 >>> 0]; return addHeapObject(ret); }; - imports.wbg.__wbindgen_object_clone_ref = function(arg0) { - const ret = getObject(arg0); - return addHeapObject(ret); - }; - imports.wbg.__wbg_Window_e02b220209b5dddf = function(arg0) { - const ret = getObject(arg0).Window; - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_is_undefined = function(arg0) { - const ret = getObject(arg0) === undefined; + imports.wbg.__wbg_matches_e14ed9ff8291cf24 = function(arg0) { + const ret = getObject(arg0).matches; return ret; }; imports.wbg.__wbg_exitPointerLock_b62fe3c7830470e4 = function(arg0) { @@ -345,10 +337,6 @@ function __wbg_get_imports() { imports.wbg.__wbg_requestPointerLock_78b2a4a24cb69366 = function(arg0) { getObject(arg0).requestPointerLock(); }; - imports.wbg.__wbg_matches_e14ed9ff8291cf24 = function(arg0) { - const ret = getObject(arg0).matches; - return ret; - }; imports.wbg.__wbg_removeEventListener_92cb9b3943463338 = function() { return handleError(function (arg0, arg1, arg2, arg3) { getObject(arg0).removeEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3)); }, arguments) }; @@ -383,6 +371,9 @@ function __wbg_get_imports() { imports.wbg.__wbg_close_a5883ed21dc3d115 = function(arg0) { getObject(arg0).close(); }; + imports.wbg.__wbg_setonmessage_93bdba94dcd46c04 = function(arg0, arg1) { + getObject(arg0).onmessage = getObject(arg1); + }; imports.wbg.__wbg_cancelIdleCallback_3a36cf77475b492b = function(arg0, arg1) { getObject(arg0).cancelIdleCallback(arg1 >>> 0); }; @@ -467,9 +458,6 @@ function __wbg_get_imports() { const ret = getObject(arg0).repeat; return ret; }; - imports.wbg.__wbg_focus_39d4b8ba8ff9df14 = function() { return handleError(function (arg0) { - getObject(arg0).focus(); - }, arguments) }; imports.wbg.__wbg_pointerType_0f2f0383406aa7fa = function(arg0, arg1) { const ret = getObject(arg1).pointerType; const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); @@ -485,6 +473,9 @@ function __wbg_get_imports() { const ret = getObject(arg0).button; return ret; }; + imports.wbg.__wbg_focus_39d4b8ba8ff9df14 = function() { return handleError(function (arg0) { + getObject(arg0).focus(); + }, arguments) }; imports.wbg.__wbg_setPointerCapture_0fdaad7a916c8486 = function() { return handleError(function (arg0, arg1) { getObject(arg0).setPointerCapture(arg1); }, arguments) }; @@ -492,6 +483,10 @@ function __wbg_get_imports() { const ret = getObject(arg0).buttons; return ret; }; + imports.wbg.__wbindgen_object_clone_ref = function(arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); + }; imports.wbg.__wbg_instanceof_Window_f401953a2cf86220 = function(arg0) { let result; try { @@ -552,13 +547,25 @@ function __wbg_get_imports() { const ret = getObject(arg0).getComputedStyle(getObject(arg1)); return isLikeNone(ret) ? 0 : addHeapObject(ret); }, arguments) }; - imports.wbg.__wbg_requestFullscreen_13a009316825fef6 = function(arg0) { + imports.wbg.__wbg_requestFullscreen_a851d70cb190396a = function(arg0) { const ret = getObject(arg0).requestFullscreen; return addHeapObject(ret); }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = getObject(arg0) === undefined; + return ret; + }; imports.wbg.__wbg_addEventListener_53b787075bd5e003 = function() { return handleError(function (arg0, arg1, arg2, arg3) { getObject(arg0).addEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3)); }, arguments) }; + imports.wbg.__wbg_activeElement_fa7feca08f5028c0 = function(arg0) { + const ret = getObject(arg0).activeElement; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + imports.wbg.__wbg_is_010fdc0f4ab96916 = function(arg0, arg1) { + const ret = Object.is(getObject(arg0), getObject(arg1)); + return ret; + }; imports.wbg.__wbg_matchMedia_66bb21e3ef19270c = function() { return handleError(function (arg0, arg1, arg2) { const ret = getObject(arg0).matchMedia(getStringFromWasm0(arg1, arg2)); return isLikeNone(ret) ? 0 : addHeapObject(ret); @@ -862,7 +869,7 @@ function __wbg_get_imports() { const a = state0.a; state0.a = 0; try { - return __wbg_adapter_50(a, state0.b, arg0, arg1); + return __wbg_adapter_46(a, state0.b, arg0, arg1); } finally { state0.a = a; } @@ -1668,11 +1675,15 @@ function __wbg_get_imports() { imports.wbg.__wbg_executeBundles_367d166dd1f39304 = function(arg0, arg1) { getObject(arg0).executeBundles(getObject(arg1)); }; - imports.wbg.__wbg_scheduler_02aa24c0b74fcfb7 = function(arg0) { + imports.wbg.__wbg_Window_cc0273a5da2c36dc = function(arg0) { + const ret = getObject(arg0).Window; + return addHeapObject(ret); + }; + imports.wbg.__wbg_scheduler_6932606c19435996 = function(arg0) { const ret = getObject(arg0).scheduler; return addHeapObject(ret); }; - imports.wbg.__wbg_scheduler_61774a2444d0ce2e = function(arg0) { + imports.wbg.__wbg_scheduler_8082c844a9cfc0df = function(arg0) { const ret = getObject(arg0).scheduler; return addHeapObject(ret); }; @@ -1684,7 +1695,7 @@ function __wbg_get_imports() { const ret = getObject(arg0).signal; return addHeapObject(ret); }; - imports.wbg.__wbg_postTask_4e722e6a80abae9a = function(arg0, arg1, arg2) { + imports.wbg.__wbg_postTask_4674878f9a603824 = function(arg0, arg1, arg2) { const ret = getObject(arg0).postTask(getObject(arg1), getObject(arg2)); return addHeapObject(ret); }; @@ -1692,7 +1703,7 @@ function __wbg_get_imports() { const ret = getObject(arg0).catch(getObject(arg1)); return addHeapObject(ret); }; - imports.wbg.__wbg_requestIdleCallback_1243cb4b58ee8ca7 = function(arg0) { + imports.wbg.__wbg_requestIdleCallback_081ddac93612a53e = function(arg0) { const ret = getObject(arg0).requestIdleCallback; return addHeapObject(ret); }; @@ -1743,7 +1754,7 @@ function __wbg_get_imports() { imports.wbg.__wbg_unobserve_55c93518cad6ac06 = function(arg0, arg1) { getObject(arg0).unobserve(getObject(arg1)); }; - imports.wbg.__wbg_prototype_4e8f64d8dd3393c0 = function() { + imports.wbg.__wbg_prototype_8e5075a5dd95f801 = function() { const ret = ResizeObserverEntry.prototype; return addHeapObject(ret); }; @@ -1751,10 +1762,10 @@ function __wbg_get_imports() { const ret = Object.getOwnPropertyDescriptor(getObject(arg0), getObject(arg1)); return addHeapObject(ret); }; - imports.wbg.__wbg_webkitRequestFullscreen_3f1548df7396d5f9 = function(arg0) { + imports.wbg.__wbg_webkitRequestFullscreen_8abcfecec7127495 = function(arg0) { getObject(arg0).webkitRequestFullscreen(); }; - imports.wbg.__wbg_requestFullscreen_79b91c79e2a9ab57 = function(arg0) { + imports.wbg.__wbg_requestFullscreen_f4349fb8a7429cf9 = function(arg0) { const ret = getObject(arg0).requestFullscreen(); return addHeapObject(ret); }; @@ -1777,10 +1788,14 @@ function __wbg_get_imports() { const ret = getObject(arg0).deltaMode; return ret; }; - imports.wbg.__wbg_onpointerrawupdate_65fb780b11b070a8 = function(arg0) { + imports.wbg.__wbg_onpointerrawupdate_e087759b4021ec00 = function(arg0) { const ret = getObject(arg0).onpointerrawupdate; return addHeapObject(ret); }; + imports.wbg.__wbg_getCoalescedEvents_4665669d237be577 = function(arg0) { + const ret = getObject(arg0).getCoalescedEvents; + return addHeapObject(ret); + }; imports.wbg.__wbg_movementX_b800a0cacd14d9bf = function(arg0) { const ret = getObject(arg0).movementX; return ret; @@ -1793,10 +1808,6 @@ function __wbg_get_imports() { const ret = getObject(arg0).getCoalescedEvents(); return addHeapObject(ret); }; - imports.wbg.__wbg_getCoalescedEvents_e27fd19b54288e7b = function(arg0) { - const ret = getObject(arg0).getCoalescedEvents; - return addHeapObject(ret); - }; imports.wbg.__wbg_persisted_cbb7e3c657029516 = function(arg0) { const ret = getObject(arg0).persisted; return ret; @@ -1805,7 +1816,7 @@ function __wbg_get_imports() { const ret = getObject(arg0).requestAnimationFrame(getObject(arg1)); return ret; }, arguments) }; - imports.wbg.__wbg_webkitFullscreenElement_f0f7421a21d37b35 = function(arg0) { + imports.wbg.__wbg_webkitFullscreenElement_533c5f32e2ac8d0c = function(arg0) { const ret = getObject(arg0).webkitFullscreenElement; return isLikeNone(ret) ? 0 : addHeapObject(ret); }; @@ -1813,11 +1824,7 @@ function __wbg_get_imports() { const ret = getObject(arg0).fullscreenElement; return isLikeNone(ret) ? 0 : addHeapObject(ret); }; - imports.wbg.__wbg_is_010fdc0f4ab96916 = function(arg0, arg1) { - const ret = Object.is(getObject(arg0), getObject(arg1)); - return ret; - }; - imports.wbg.__wbg_webkitExitFullscreen_4196138a912700d5 = function(arg0) { + imports.wbg.__wbg_webkitExitFullscreen_225988f6e8c97b63 = function(arg0) { getObject(arg0).webkitExitFullscreen(); }; imports.wbg.__wbg_exitFullscreen_5679ad2b002921bd = function(arg0) { @@ -1841,16 +1848,12 @@ function __wbg_get_imports() { getInt32Memory0()[arg0 / 4 + 1] = len1; getInt32Memory0()[arg0 / 4 + 0] = ptr1; }; - imports.wbg.__wbindgen_closure_wrapper390 = function(arg0, arg1, arg2) { - const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_36); - return addHeapObject(ret); - }; imports.wbg.__wbindgen_closure_wrapper392 = function(arg0, arg1, arg2) { const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_36); return addHeapObject(ret); }; imports.wbg.__wbindgen_closure_wrapper394 = function(arg0, arg1, arg2) { - const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_41); + const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_36); return addHeapObject(ret); }; imports.wbg.__wbindgen_closure_wrapper396 = function(arg0, arg1, arg2) { @@ -1858,66 +1861,70 @@ function __wbg_get_imports() { return addHeapObject(ret); }; imports.wbg.__wbindgen_closure_wrapper398 = function(arg0, arg1, arg2) { - const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_36); + const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_43); return addHeapObject(ret); }; imports.wbg.__wbindgen_closure_wrapper400 = function(arg0, arg1, arg2) { - const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_36); + const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_46); return addHeapObject(ret); }; imports.wbg.__wbindgen_closure_wrapper402 = function(arg0, arg1, arg2) { - const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_50); + const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_36); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_closure_wrapper650 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_43); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper658 = function(arg0, arg1, arg2) { - const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_41); + imports.wbg.__wbindgen_closure_wrapper657 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_43); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper666 = function(arg0, arg1, arg2) { - const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_41); + imports.wbg.__wbindgen_closure_wrapper659 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_36); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper668 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper660 = function(arg0, arg1, arg2) { const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_36); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper2866 = function(arg0, arg1, arg2) { - const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_41); + imports.wbg.__wbindgen_closure_wrapper2852 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_43); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper2928 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper2918 = function(arg0, arg1, arg2) { const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_36); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper2930 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper2920 = function(arg0, arg1, arg2) { const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_36); return addHeapObject(ret); }; imports.wbg.__wbindgen_closure_wrapper3891 = function(arg0, arg1, arg2) { - const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_41); + const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_43); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper4574 = function(arg0, arg1, arg2) { - const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_41); + imports.wbg.__wbindgen_closure_wrapper4573 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_43); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper5468 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper5467 = function(arg0, arg1, arg2) { const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_36); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper5487 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper5486 = function(arg0, arg1, arg2) { const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_36); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper5510 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper5509 = function(arg0, arg1, arg2) { const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_73); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper6500 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper6498 = function(arg0, arg1, arg2) { const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_36); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper6985 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper6981 = function(arg0, arg1, arg2) { const ret = makeMutClosure(arg0, arg1, 4, __wbg_adapter_36); return addHeapObject(ret); }; @@ -1962,7 +1969,7 @@ async function __wbg_init(input, maybe_memory) { if (wasm !== undefined) return wasm; if (typeof input === 'undefined') { - input = new URL('web-78ad387475d3b3ed_bg.wasm', import.meta.url); + input = new URL('web-1b9437e1ec3ce582_bg.wasm', import.meta.url); } const imports = __wbg_get_imports(); diff --git a/web-78ad387475d3b3ed_bg.wasm b/web-1b9437e1ec3ce582_bg.wasm similarity index 88% rename from web-78ad387475d3b3ed_bg.wasm rename to web-1b9437e1ec3ce582_bg.wasm index dc67e4b..bfa27f6 100644 Binary files a/web-78ad387475d3b3ed_bg.wasm and b/web-1b9437e1ec3ce582_bg.wasm differ