html terminal
| -rw-r--r-- | Cargo.toml | 3 | ||||
| -rw-r--r-- | html-src/masm-bindings.js | 2 | ||||
| -rw-r--r-- | html-src/masm.wasm | bin | 484154 -> 677618 bytes | |||
| -rw-r--r-- | html-src/viewer.html | 19 | ||||
| -rw-r--r-- | rust-toolchain.toml | 2 |
5 files changed, 6 insertions, 20 deletions
@@ -57,6 +57,3 @@ lto = "thin" [profile.dev.package.mindus] opt-level = 3 - -[patch.crates-io] -serenity = { git = "https://github.com/bend-n/serenity", branch = "opt" } diff --git a/html-src/masm-bindings.js b/html-src/masm-bindings.js index 55ec591..d53f472 100644 --- a/html-src/masm-bindings.js +++ b/html-src/masm-bindings.js @@ -1 +1 @@ -let wasm;let cachedUint8Memory0=null;function getUint8Memory0(){if(cachedUint8Memory0===null||cachedUint8Memory0.byteLength===0){cachedUint8Memory0=new Uint8Array(wasm.memory.buffer)}return cachedUint8Memory0}let WASM_VECTOR_LEN=0;function passArray8ToWasm0(arg,malloc){const ptr=malloc(arg.length*1,1)>>>0;getUint8Memory0().set(arg,ptr/1);WASM_VECTOR_LEN=arg.length;return ptr}let cachedInt32Memory0=null;function getInt32Memory0(){if(cachedInt32Memory0===null||cachedInt32Memory0.byteLength===0){cachedInt32Memory0=new Int32Array(wasm.memory.buffer)}return cachedInt32Memory0}function getArrayU8FromWasm0(ptr,len){ptr=ptr>>>0;return getUint8Memory0().subarray(ptr/1,ptr/1+len)}export function render(v){try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passArray8ToWasm0(v,wasm.__wbindgen_export_0);const len0=WASM_VECTOR_LEN;wasm.render(retptr,ptr0,len0);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];var v2=getArrayU8FromWasm0(r0,r1).slice();wasm.__wbindgen_export_1(r0,r1*1,1);return v2}finally{wasm.__wbindgen_add_to_stack_pointer(16)}}async function __wbg_load(module,imports){if(typeof Response==="function"&&module instanceof Response){if(typeof WebAssembly.instantiateStreaming==="function"){try{return await WebAssembly.instantiateStreaming(module,imports)}catch(e){if(module.headers.get("Content-Type")!="application/wasm"){console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e)}else{throw e}}}const bytes=await module.arrayBuffer();return await WebAssembly.instantiate(bytes,imports)}else{const instance=await WebAssembly.instantiate(module,imports);if(instance instanceof WebAssembly.Instance){return{instance:instance,module:module}}else{return instance}}}function __wbg_get_imports(){const imports={};imports.wbg={};return imports}function __wbg_init_memory(imports,maybe_memory){}function __wbg_finalize_init(instance,module){wasm=instance.exports;__wbg_init.__wbindgen_wasm_module=module;cachedInt32Memory0=null;cachedUint8Memory0=null;return wasm}function initSync(module){if(wasm!==undefined)return wasm;const imports=__wbg_get_imports();__wbg_init_memory(imports);if(!(module instanceof WebAssembly.Module)){module=new WebAssembly.Module(module)}const instance=new WebAssembly.Instance(module,imports);return __wbg_finalize_init(instance,module)}async function __wbg_init(input){if(wasm!==undefined)return wasm;if(typeof input==="undefined"){input=new URL("masm_bg.wasm",import.meta.url)}const imports=__wbg_get_imports();if(typeof input==="string"||typeof Request==="function"&&input instanceof Request||typeof URL==="function"&&input instanceof URL){input=fetch(input)}__wbg_init_memory(imports);const{instance,module}=await __wbg_load(await input,imports);return __wbg_finalize_init(instance,module)}export{initSync};export default __wbg_init; +let wasm;let cachedUint8Memory0=null;function getUint8Memory0(){if(cachedUint8Memory0===null||cachedUint8Memory0.byteLength===0){cachedUint8Memory0=new Uint8Array(wasm.memory.buffer)}return cachedUint8Memory0}let WASM_VECTOR_LEN=0;function passArray8ToWasm0(arg,malloc){const ptr=malloc(arg.length*1,1)>>>0;getUint8Memory0().set(arg,ptr/1);WASM_VECTOR_LEN=arg.length;return ptr}let cachedInt32Memory0=null;function getInt32Memory0(){if(cachedInt32Memory0===null||cachedInt32Memory0.byteLength===0){cachedInt32Memory0=new Int32Array(wasm.memory.buffer)}return cachedInt32Memory0}function getArrayU8FromWasm0(ptr,len){ptr=ptr>>>0;return getUint8Memory0().subarray(ptr/1,ptr/1+len)}export function render_map_(v){try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passArray8ToWasm0(v,wasm.__wbindgen_export_0);const len0=WASM_VECTOR_LEN;wasm.render_map_(retptr,ptr0,len0);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];var v2=getArrayU8FromWasm0(r0,r1).slice();wasm.__wbindgen_export_1(r0,r1*1,1);return v2}finally{wasm.__wbindgen_add_to_stack_pointer(16)}}export function render_schem_(v){try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passArray8ToWasm0(v,wasm.__wbindgen_export_0);const len0=WASM_VECTOR_LEN;wasm.render_schem_(retptr,ptr0,len0);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];var v2=getArrayU8FromWasm0(r0,r1).slice();wasm.__wbindgen_export_1(r0,r1*1,1);return v2}finally{wasm.__wbindgen_add_to_stack_pointer(16)}}async function __wbg_load(module,imports){if(typeof Response==="function"&&module instanceof Response){if(typeof WebAssembly.instantiateStreaming==="function"){try{return await WebAssembly.instantiateStreaming(module,imports)}catch(e){if(module.headers.get("Content-Type")!="application/wasm"){console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e)}else{throw e}}}const bytes=await module.arrayBuffer();return await WebAssembly.instantiate(bytes,imports)}else{const instance=await WebAssembly.instantiate(module,imports);if(instance instanceof WebAssembly.Instance){return{instance:instance,module:module}}else{return instance}}}function __wbg_get_imports(){const imports={};imports.wbg={};return imports}function __wbg_init_memory(imports,maybe_memory){}function __wbg_finalize_init(instance,module){wasm=instance.exports;__wbg_init.__wbindgen_wasm_module=module;cachedInt32Memory0=null;cachedUint8Memory0=null;return wasm}function initSync(module){if(wasm!==undefined)return wasm;const imports=__wbg_get_imports();__wbg_init_memory(imports);if(!(module instanceof WebAssembly.Module)){module=new WebAssembly.Module(module)}const instance=new WebAssembly.Instance(module,imports);return __wbg_finalize_init(instance,module)}async function __wbg_init(input){if(wasm!==undefined)return wasm;if(typeof input==="undefined"){input=new URL("masm_bg.wasm",import.meta.url)}const imports=__wbg_get_imports();if(typeof input==="string"||typeof Request==="function"&&input instanceof Request||typeof URL==="function"&&input instanceof URL){input=fetch(input)}__wbg_init_memory(imports);const{instance,module}=await __wbg_load(await input,imports);return __wbg_finalize_init(instance,module)}export{initSync};export default __wbg_init;export function render_map(x){return URL.createObjectURL(new Blob([render_map_(new Uint8Array(x))]))}export function render_schem(x){return URL.createObjectURL(new Blob([render_schem_(new Uint8Array(x))]))} diff --git a/html-src/masm.wasm b/html-src/masm.wasm Binary files differindex f317a0e..c49978a 100644 --- a/html-src/masm.wasm +++ b/html-src/masm.wasm diff --git a/html-src/viewer.html b/html-src/viewer.html index f0eab4e..b0db8ae 100644 --- a/html-src/viewer.html +++ b/html-src/viewer.html @@ -49,25 +49,14 @@ <img id="picture" draggable="false"> <script src="https://unpkg.com/@panzoom/[email protected]/dist/panzoom.min.js"></script> <script type="module"> - let begin = [] - let end = [0, 0] - let press = false - import init, { render } from "/masm.js"; - async function base(buffer) { - const base64url = await new Promise(r => { - const reader = new FileReader() - reader.onload = () => r(reader.result) - reader.readAsDataURL(new Blob([buffer])) - }); - return base64url.slice(base64url.indexOf(',') + 1) - } + "use strict" + import init, { render_map } from "/masm.js"; window.load = () => { fetch("/savefile").then(function (content) { content.arrayBuffer().then(function (buf) { let pic = document.getElementById('picture'); - let imgbuf = render(new Uint8Array(buf)); + pic.src = render_map(buf); console.log("render done"); - pic.src = URL.createObjectURL(new Blob([imgbuf])) if (window.zooming) return; window.zooming = true; let panzoom = Panzoom(pic, { maxScale: 7, cursor: "grab", noBind: true }); @@ -90,4 +79,4 @@ </script> </body> -</html>
\ No newline at end of file +</html> diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 5d56faf..e5d982c 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "nightly" +channel = "nightly-2024-06-20" |