html terminal
update masm
bendn 2024-08-06
parent d5404ea · commit 791bbf5
-rw-r--r--Cargo.toml3
-rw-r--r--html-src/masm-bindings.js2
-rw-r--r--html-src/masm.wasmbin484154 -> 677618 bytes
-rw-r--r--html-src/viewer.html19
-rw-r--r--rust-toolchain.toml2
5 files changed, 6 insertions, 20 deletions
diff --git a/Cargo.toml b/Cargo.toml
index c8b346e..6d77cea 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -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
index f317a0e..c49978a 100644
--- a/html-src/masm.wasm
+++ b/html-src/masm.wasm
Binary files differ
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"