[[fetch]]
files = ["./main.py"]
from pyodide.ffi import create_proxy
from main import *
from js import localStorage
def run(*args):
draw()
p5.requestAnimationFrame(create_proxy(run))
p5.keyPressed = create_proxy(keyPressed)
p5.keyReleased = create_proxy(keyReleased)
p5.mousePressed = create_proxy(mousePressed)
p5.mouseReleased = create_proxy(mouseReleased)
def save_code():
text = js.document.getElementsByClassName("cm-content")[0].innerText
localStorage.setItem("code", text)
def load_code():
if localStorage.getItem("code"):
code_text = localStorage.getItem("code")
js.document.getElementsByClassName("cm-content")[0].innerText = code_text
def reload_sketch():
setup() # re-run setup
# (re-)position the code element to the right of canvas:
code_element = Element("code").element
p5_element = Element("defaultCanvas0").element
code_element.style.left = str(p5_element.clientWidth + 20) + 'px'
code_element.style.width = f'calc(100% - {p5_element.clientWidth + 30}px)'
reload_sketch()
run()