asdf
This commit is contained in:
parent
ed6976fe35
commit
d52faeff41
23
pkg/ludus.js
23
pkg/ludus.js
|
@ -1,4 +1,4 @@
|
|||
if (window) window.ludus = {run, kill, flush_stdout, stdout, p5, svg, flush_commands, commands, result, input, is_running, key_down, key_up, is_starting_up}
|
||||
if (window) window.ludus = {run, kill, flush_stdout, stdout, p5, svg, flush_commands, commands, result, flush_result, input, is_running, key_down, key_up, is_starting_up}
|
||||
|
||||
const worker_url = new URL("worker.js", import.meta.url)
|
||||
const worker = new Worker(worker_url, {type: "module"})
|
||||
|
@ -13,6 +13,18 @@ let ready = false
|
|||
let io_interval_id = null
|
||||
let keys_down = new Set();
|
||||
|
||||
function reset_ludus () {
|
||||
outbox = []
|
||||
ludus_console = ""
|
||||
ludus_commands = []
|
||||
ludus_result = null
|
||||
code = null
|
||||
running = false
|
||||
ready = false
|
||||
io_interval_id = null
|
||||
keys_down = new Set()
|
||||
}
|
||||
|
||||
worker.onmessage = handle_messages
|
||||
|
||||
async function handle_messages (e) {
|
||||
|
@ -44,8 +56,8 @@ async function handle_messages (e) {
|
|||
// TODO: do more than report these
|
||||
case "Console": {
|
||||
let new_lines = msg.data.join("\n");
|
||||
console.log("Main: ludus says => ", new_lines)
|
||||
ludus_console = ludus_console + new_lines
|
||||
console.log("Main: ludus says => ", new_lines)
|
||||
break
|
||||
}
|
||||
case "Commands": {
|
||||
|
@ -96,13 +108,8 @@ export function run (source) {
|
|||
if (running || ready) {
|
||||
return "TODO: handle this? should not be running"
|
||||
}
|
||||
running = true
|
||||
ready = false
|
||||
result = null
|
||||
keys_down = new Set()
|
||||
code = source
|
||||
worker.postMessage([{verb: "Run", data: source}])
|
||||
outbox = []
|
||||
reset_ludus()
|
||||
start_io_polling()
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user