@@ -29,29 +29,37 @@ const instantiate = async (url) => {
2929} ;
3030
3131const loadWasm = async ( ) => {
32- setStatus ( 'loading wasm… ' , CLS . ok ) ;
32+ setStatus ( 'Loading WASM... ' , CLS . ok ) ;
3333 try {
3434 const [ { instance } , t ] = await time ( ( ) => Promise . any ( WASM_SOURCES . map ( instantiate ) ) ) ;
3535 wasm = instance . exports ;
3636 btn . disabled = false ;
37- setStatus ( `ready (${ t } ${ DEV ? ' · dev ' : '' } )` ) ;
37+ setStatus ( `Ready (${ t } ${ DEV ? ' · Dev ' : '' } )` ) ;
3838 } catch ( err ) {
39- setStatus ( 'load failed' , CLS . err ) ;
40- term . textContent = `Could not load wasm .\n\n${ err . errors . map ( e => e . message ) . join ( ' | ' ) } ` ;
39+ setStatus ( 'Load failed' , CLS . err ) ;
40+ term . textContent = `Could not load WASM .\n\n${ err . errors . map ( e => e . message ) . join ( ' | ' ) } ` ;
4141 }
4242} ;
4343
4444const runCode = async ( ) => {
4545 if ( ! wasm ) return ;
4646 const srcBytes = new TextEncoder ( ) . encode ( ed . value ) ;
47- if ( srcBytes . length > SZ ) return void ( term . textContent = `error: source exceeds ${ SZ } bytes` ) ;
47+ if ( srcBytes . length > SZ ) return void ( term . textContent = `Error: Source exceeds ${ SZ } bytes` ) ;
48+
49+ setStatus ( 'Running...' , CLS . ok ) ;
50+ btn . disabled = true ;
51+
52+ await new Promise ( resolve => setTimeout ( resolve , 10 ) ) ;
53+
4854 const [ out , t ] = await time ( ( ) => {
4955 new Uint8Array ( wasm . memory . buffer ) . set ( srcBytes , wasm . src_ptr ( ) ) ;
5056 const len = wasm . run ( srcBytes . length ) ;
5157 return new TextDecoder ( ) . decode ( new Uint8Array ( wasm . memory . buffer , wasm . out_ptr ( ) , len ) ) ;
5258 } ) ;
59+
5360 term . textContent = out ;
54- setStatus ( `ready (${ t } )` ) ;
61+ setStatus ( `Ready (${ t } )` ) ;
62+ btn . disabled = false ;
5563} ;
5664
5765const sync = ( ) => {
0 commit comments