From 00d4277437f03f499e4fb683f2c3795851c195c8 Mon Sep 17 00:00:00 2001 From: Fabio Pliger Date: Sat, 9 Apr 2022 15:44:15 -0500 Subject: [PATCH] move examples from public to their own examples folder --- pyscriptjs/examples/bokeh.html | 4 +- .../bokeh_interactive.html | 4 +- pyscriptjs/examples/handtrack/say_hello.html | 122 ++++++++++++++++++ pyscriptjs/{public => examples}/index.html | 0 .../{public => examples}/mario/css/game.css | 0 .../{public => examples}/mario/js/bcoin.js | 0 .../{public => examples}/mario/js/block.js | 0 .../{public => examples}/mario/js/coin.js | 0 .../{public => examples}/mario/js/entity.js | 0 .../{public => examples}/mario/js/fireball.js | 0 .../mario/js/fireflower.js | 0 .../{public => examples}/mario/js/flag.js | 0 .../{public => examples}/mario/js/floor.js | 0 .../{public => examples}/mario/js/game.js | 0 .../{public => examples}/mario/js/goomba.js | 0 .../{public => examples}/mario/js/input.js | 0 .../{public => examples}/mario/js/koopa.js | 0 .../mario/js/levels/11.js | 0 .../mario/js/levels/11tunnel.js | 0 .../mario/js/levels/level.js | 0 .../{public => examples}/mario/js/mushroom.js | 0 .../{public => examples}/mario/js/outline.txt | 0 .../{public => examples}/mario/js/pipe.js | 0 .../{public => examples}/mario/js/player.js | 0 .../{public => examples}/mario/js/prop.js | 0 .../mario/js/resources.js | 0 .../{public => examples}/mario/js/rubble.js | 0 .../{public => examples}/mario/js/sprite.js | 0 .../{public => examples}/mario/js/star.js | 0 .../{public => examples}/mario/js/util.js | 0 .../mario/play_mario.html | 6 +- .../mario/sounds/aboveground_bgm.ogg | Bin .../mario/sounds/breakblock.wav | Bin .../mario/sounds/bump.wav | Bin .../mario/sounds/coin.wav | Bin .../mario/sounds/fireball.wav | Bin .../mario/sounds/flagpole.wav | Bin .../mario/sounds/itemAppear.wav | Bin .../mario/sounds/jump-small.wav | Bin .../mario/sounds/jump-super.wav | Bin .../mario/sounds/kick.wav | Bin .../mario/sounds/mariodie.wav | Bin .../mario/sounds/pipe.wav | Bin .../mario/sounds/powerup.wav | Bin .../mario/sounds/stage_clear.wav | Bin .../mario/sounds/stomp.wav | Bin .../mario/sounds/underground_bgm.ogg | Bin .../mario/sprites/1-1 reference.png | Bin .../mario/sprites/enemy.png | Bin .../mario/sprites/enemyr.png | Bin .../mario/sprites/items.png | Bin .../mario/sprites/player.png | Bin .../mario/sprites/playerl.png | Bin .../mario/sprites/tiles.png | Bin pyscriptjs/{public => examples}/panel.html | 4 +- .../{public => examples}/panel_kmeans.html | 4 +- pyscriptjs/{public => examples}/repl.html | 4 +- pyscriptjs/{public => examples}/repl2.html | 4 +- .../{public => examples}/simple_script.html | 4 +- .../{public => examples}/simple_script2.html | 4 +- pyscriptjs/examples/todo.html | 83 ++++++++++++ pyscriptjs/public/favicon.png | Bin 3127 -> 0 bytes 62 files changed, 224 insertions(+), 19 deletions(-) rename pyscriptjs/{public => examples}/bokeh_interactive.html (96%) create mode 100644 pyscriptjs/examples/handtrack/say_hello.html rename pyscriptjs/{public => examples}/index.html (100%) rename pyscriptjs/{public => examples}/mario/css/game.css (100%) rename pyscriptjs/{public => examples}/mario/js/bcoin.js (100%) rename pyscriptjs/{public => examples}/mario/js/block.js (100%) rename pyscriptjs/{public => examples}/mario/js/coin.js (100%) rename pyscriptjs/{public => examples}/mario/js/entity.js (100%) rename pyscriptjs/{public => examples}/mario/js/fireball.js (100%) rename pyscriptjs/{public => examples}/mario/js/fireflower.js (100%) rename pyscriptjs/{public => examples}/mario/js/flag.js (100%) rename pyscriptjs/{public => examples}/mario/js/floor.js (100%) rename pyscriptjs/{public => examples}/mario/js/game.js (100%) rename pyscriptjs/{public => examples}/mario/js/goomba.js (100%) rename pyscriptjs/{public => examples}/mario/js/input.js (100%) rename pyscriptjs/{public => examples}/mario/js/koopa.js (100%) rename pyscriptjs/{public => examples}/mario/js/levels/11.js (100%) rename pyscriptjs/{public => examples}/mario/js/levels/11tunnel.js (100%) rename pyscriptjs/{public => examples}/mario/js/levels/level.js (100%) rename pyscriptjs/{public => examples}/mario/js/mushroom.js (100%) rename pyscriptjs/{public => examples}/mario/js/outline.txt (100%) rename pyscriptjs/{public => examples}/mario/js/pipe.js (100%) rename pyscriptjs/{public => examples}/mario/js/player.js (100%) rename pyscriptjs/{public => examples}/mario/js/prop.js (100%) rename pyscriptjs/{public => examples}/mario/js/resources.js (100%) rename pyscriptjs/{public => examples}/mario/js/rubble.js (100%) rename pyscriptjs/{public => examples}/mario/js/sprite.js (100%) rename pyscriptjs/{public => examples}/mario/js/star.js (100%) rename pyscriptjs/{public => examples}/mario/js/util.js (100%) rename pyscriptjs/{public => examples}/mario/play_mario.html (96%) rename pyscriptjs/{public => examples}/mario/sounds/aboveground_bgm.ogg (100%) rename pyscriptjs/{public => examples}/mario/sounds/breakblock.wav (100%) rename pyscriptjs/{public => examples}/mario/sounds/bump.wav (100%) rename pyscriptjs/{public => examples}/mario/sounds/coin.wav (100%) rename pyscriptjs/{public => examples}/mario/sounds/fireball.wav (100%) rename pyscriptjs/{public => examples}/mario/sounds/flagpole.wav (100%) rename pyscriptjs/{public => examples}/mario/sounds/itemAppear.wav (100%) rename pyscriptjs/{public => examples}/mario/sounds/jump-small.wav (100%) rename pyscriptjs/{public => examples}/mario/sounds/jump-super.wav (100%) rename pyscriptjs/{public => examples}/mario/sounds/kick.wav (100%) rename pyscriptjs/{public => examples}/mario/sounds/mariodie.wav (100%) rename pyscriptjs/{public => examples}/mario/sounds/pipe.wav (100%) rename pyscriptjs/{public => examples}/mario/sounds/powerup.wav (100%) rename pyscriptjs/{public => examples}/mario/sounds/stage_clear.wav (100%) rename pyscriptjs/{public => examples}/mario/sounds/stomp.wav (100%) rename pyscriptjs/{public => examples}/mario/sounds/underground_bgm.ogg (100%) rename pyscriptjs/{public => examples}/mario/sprites/1-1 reference.png (100%) rename pyscriptjs/{public => examples}/mario/sprites/enemy.png (100%) rename pyscriptjs/{public => examples}/mario/sprites/enemyr.png (100%) rename pyscriptjs/{public => examples}/mario/sprites/items.png (100%) rename pyscriptjs/{public => examples}/mario/sprites/player.png (100%) rename pyscriptjs/{public => examples}/mario/sprites/playerl.png (100%) rename pyscriptjs/{public => examples}/mario/sprites/tiles.png (100%) rename pyscriptjs/{public => examples}/panel.html (91%) rename pyscriptjs/{public => examples}/panel_kmeans.html (98%) rename pyscriptjs/{public => examples}/repl.html (76%) rename pyscriptjs/{public => examples}/repl2.html (82%) rename pyscriptjs/{public => examples}/simple_script.html (80%) rename pyscriptjs/{public => examples}/simple_script2.html (90%) create mode 100644 pyscriptjs/examples/todo.html delete mode 100644 pyscriptjs/public/favicon.png diff --git a/pyscriptjs/examples/bokeh.html b/pyscriptjs/examples/bokeh.html index 0bd192f..1265580 100644 --- a/pyscriptjs/examples/bokeh.html +++ b/pyscriptjs/examples/bokeh.html @@ -10,9 +10,9 @@ - + - + diff --git a/pyscriptjs/public/bokeh_interactive.html b/pyscriptjs/examples/bokeh_interactive.html similarity index 96% rename from pyscriptjs/public/bokeh_interactive.html rename to pyscriptjs/examples/bokeh_interactive.html index 1cb1b8b..0d3ed33 100644 --- a/pyscriptjs/public/bokeh_interactive.html +++ b/pyscriptjs/examples/bokeh_interactive.html @@ -10,9 +10,9 @@ - + - + diff --git a/pyscriptjs/examples/handtrack/say_hello.html b/pyscriptjs/examples/handtrack/say_hello.html new file mode 100644 index 0000000..6883eba --- /dev/null +++ b/pyscriptjs/examples/handtrack/say_hello.html @@ -0,0 +1,122 @@ + + + + + + + Svelte app + + + + + + + + + +from js import handTrack, setTimeout, requestAnimationFrame +from pyodide import create_once_callable +import asyncio + +context = canvas.element.getContext("2d") + +isVideo = False +model = None + +modelParams = { + "flipHorizontal": True, # flip e.g for video + "maxNumBoxes": 20, # maximum number of boxes to detect + "iouThreshold": 0.5, # ioU threshold for non-max suppression + "scoreThreshold": 0.6, # confidence threshold for predictions. +} + +def toggle_video(evt): + global isVideo + if (not isVideo): + update_note.write("Starting video") + pyscript.run_until_complete(start_video()) + else: + update_note.write("Stopping video") + handTrack.stopVideo(video.element) + isVideo = False + update_note.write("Video stopped") + +async def start_video(): + global isVideo + update_note.write("Inside sstart video") + status = await handTrack.startVideo(video.element) + console.log("video started", status) + if status: + update_note.write("Video started. Now tracking") + isVideo = True + console.log( "Calling RUN DETECTION") + y = await run_detection() + else: + update_note.write( "Please enable video") + +def sync_run_detection(evt): + pyscript.run_until_complete(run_detection()) + +async def run_detection(): + console.log("in RUN DETECTION: "); + global model + global isVideo + + console.log("...1") + + predictions = await model.detect(video.element) + console.log("done...1") + console.log("Predictions: ", predictions); + model.renderPredictions(predictions, canvas.element, context, video.element); + console.log("is Video?", isVideo) + if (isVideo): + console.log("requestingAnimation!") + await requestAnimationFrame(create_once_callable(sync_run_detection)); + console.log("...2") + +def run_detection_image(img): + console.log("in RUN DETECTION IMAGE", predictions); + global model + def detect(predition): + console.log("Predictions: ", predictions); + model.renderPredictions(predictions, canvas, context, img); + console.log("...3") + model.detect(img).then(detect) + console.log("...4") + +def handle_model(lmodel): + global model + model = lmodel + update_note.write("Loaded Model!") + +async def start(): + console.log("creating x") + console.log("calling x") + model = await handTrack.load(modelParams)#.then(handle_model) + console.log("loaded model!") + console.log(model) + handle_model(model) + print(dir(x)) + print(x) + +pyscript.run_until_complete(start()) + +#}); + + + +
+ + +
loading model ..
+
+
+ + +
+ + diff --git a/pyscriptjs/public/index.html b/pyscriptjs/examples/index.html similarity index 100% rename from pyscriptjs/public/index.html rename to pyscriptjs/examples/index.html diff --git a/pyscriptjs/public/mario/css/game.css b/pyscriptjs/examples/mario/css/game.css similarity index 100% rename from pyscriptjs/public/mario/css/game.css rename to pyscriptjs/examples/mario/css/game.css diff --git a/pyscriptjs/public/mario/js/bcoin.js b/pyscriptjs/examples/mario/js/bcoin.js similarity index 100% rename from pyscriptjs/public/mario/js/bcoin.js rename to pyscriptjs/examples/mario/js/bcoin.js diff --git a/pyscriptjs/public/mario/js/block.js b/pyscriptjs/examples/mario/js/block.js similarity index 100% rename from pyscriptjs/public/mario/js/block.js rename to pyscriptjs/examples/mario/js/block.js diff --git a/pyscriptjs/public/mario/js/coin.js b/pyscriptjs/examples/mario/js/coin.js similarity index 100% rename from pyscriptjs/public/mario/js/coin.js rename to pyscriptjs/examples/mario/js/coin.js diff --git a/pyscriptjs/public/mario/js/entity.js b/pyscriptjs/examples/mario/js/entity.js similarity index 100% rename from pyscriptjs/public/mario/js/entity.js rename to pyscriptjs/examples/mario/js/entity.js diff --git a/pyscriptjs/public/mario/js/fireball.js b/pyscriptjs/examples/mario/js/fireball.js similarity index 100% rename from pyscriptjs/public/mario/js/fireball.js rename to pyscriptjs/examples/mario/js/fireball.js diff --git a/pyscriptjs/public/mario/js/fireflower.js b/pyscriptjs/examples/mario/js/fireflower.js similarity index 100% rename from pyscriptjs/public/mario/js/fireflower.js rename to pyscriptjs/examples/mario/js/fireflower.js diff --git a/pyscriptjs/public/mario/js/flag.js b/pyscriptjs/examples/mario/js/flag.js similarity index 100% rename from pyscriptjs/public/mario/js/flag.js rename to pyscriptjs/examples/mario/js/flag.js diff --git a/pyscriptjs/public/mario/js/floor.js b/pyscriptjs/examples/mario/js/floor.js similarity index 100% rename from pyscriptjs/public/mario/js/floor.js rename to pyscriptjs/examples/mario/js/floor.js diff --git a/pyscriptjs/public/mario/js/game.js b/pyscriptjs/examples/mario/js/game.js similarity index 100% rename from pyscriptjs/public/mario/js/game.js rename to pyscriptjs/examples/mario/js/game.js diff --git a/pyscriptjs/public/mario/js/goomba.js b/pyscriptjs/examples/mario/js/goomba.js similarity index 100% rename from pyscriptjs/public/mario/js/goomba.js rename to pyscriptjs/examples/mario/js/goomba.js diff --git a/pyscriptjs/public/mario/js/input.js b/pyscriptjs/examples/mario/js/input.js similarity index 100% rename from pyscriptjs/public/mario/js/input.js rename to pyscriptjs/examples/mario/js/input.js diff --git a/pyscriptjs/public/mario/js/koopa.js b/pyscriptjs/examples/mario/js/koopa.js similarity index 100% rename from pyscriptjs/public/mario/js/koopa.js rename to pyscriptjs/examples/mario/js/koopa.js diff --git a/pyscriptjs/public/mario/js/levels/11.js b/pyscriptjs/examples/mario/js/levels/11.js similarity index 100% rename from pyscriptjs/public/mario/js/levels/11.js rename to pyscriptjs/examples/mario/js/levels/11.js diff --git a/pyscriptjs/public/mario/js/levels/11tunnel.js b/pyscriptjs/examples/mario/js/levels/11tunnel.js similarity index 100% rename from pyscriptjs/public/mario/js/levels/11tunnel.js rename to pyscriptjs/examples/mario/js/levels/11tunnel.js diff --git a/pyscriptjs/public/mario/js/levels/level.js b/pyscriptjs/examples/mario/js/levels/level.js similarity index 100% rename from pyscriptjs/public/mario/js/levels/level.js rename to pyscriptjs/examples/mario/js/levels/level.js diff --git a/pyscriptjs/public/mario/js/mushroom.js b/pyscriptjs/examples/mario/js/mushroom.js similarity index 100% rename from pyscriptjs/public/mario/js/mushroom.js rename to pyscriptjs/examples/mario/js/mushroom.js diff --git a/pyscriptjs/public/mario/js/outline.txt b/pyscriptjs/examples/mario/js/outline.txt similarity index 100% rename from pyscriptjs/public/mario/js/outline.txt rename to pyscriptjs/examples/mario/js/outline.txt diff --git a/pyscriptjs/public/mario/js/pipe.js b/pyscriptjs/examples/mario/js/pipe.js similarity index 100% rename from pyscriptjs/public/mario/js/pipe.js rename to pyscriptjs/examples/mario/js/pipe.js diff --git a/pyscriptjs/public/mario/js/player.js b/pyscriptjs/examples/mario/js/player.js similarity index 100% rename from pyscriptjs/public/mario/js/player.js rename to pyscriptjs/examples/mario/js/player.js diff --git a/pyscriptjs/public/mario/js/prop.js b/pyscriptjs/examples/mario/js/prop.js similarity index 100% rename from pyscriptjs/public/mario/js/prop.js rename to pyscriptjs/examples/mario/js/prop.js diff --git a/pyscriptjs/public/mario/js/resources.js b/pyscriptjs/examples/mario/js/resources.js similarity index 100% rename from pyscriptjs/public/mario/js/resources.js rename to pyscriptjs/examples/mario/js/resources.js diff --git a/pyscriptjs/public/mario/js/rubble.js b/pyscriptjs/examples/mario/js/rubble.js similarity index 100% rename from pyscriptjs/public/mario/js/rubble.js rename to pyscriptjs/examples/mario/js/rubble.js diff --git a/pyscriptjs/public/mario/js/sprite.js b/pyscriptjs/examples/mario/js/sprite.js similarity index 100% rename from pyscriptjs/public/mario/js/sprite.js rename to pyscriptjs/examples/mario/js/sprite.js diff --git a/pyscriptjs/public/mario/js/star.js b/pyscriptjs/examples/mario/js/star.js similarity index 100% rename from pyscriptjs/public/mario/js/star.js rename to pyscriptjs/examples/mario/js/star.js diff --git a/pyscriptjs/public/mario/js/util.js b/pyscriptjs/examples/mario/js/util.js similarity index 100% rename from pyscriptjs/public/mario/js/util.js rename to pyscriptjs/examples/mario/js/util.js diff --git a/pyscriptjs/public/mario/play_mario.html b/pyscriptjs/examples/mario/play_mario.html similarity index 96% rename from pyscriptjs/public/mario/play_mario.html rename to pyscriptjs/examples/mario/play_mario.html index 709c0a7..ad39198 100644 --- a/pyscriptjs/public/mario/play_mario.html +++ b/pyscriptjs/examples/mario/play_mario.html @@ -7,9 +7,9 @@ Svelte app - + - + @@ -140,5 +140,5 @@ pyscript.run_until_complete(start()) - + diff --git a/pyscriptjs/public/mario/sounds/aboveground_bgm.ogg b/pyscriptjs/examples/mario/sounds/aboveground_bgm.ogg similarity index 100% rename from pyscriptjs/public/mario/sounds/aboveground_bgm.ogg rename to pyscriptjs/examples/mario/sounds/aboveground_bgm.ogg diff --git a/pyscriptjs/public/mario/sounds/breakblock.wav b/pyscriptjs/examples/mario/sounds/breakblock.wav similarity index 100% rename from pyscriptjs/public/mario/sounds/breakblock.wav rename to pyscriptjs/examples/mario/sounds/breakblock.wav diff --git a/pyscriptjs/public/mario/sounds/bump.wav b/pyscriptjs/examples/mario/sounds/bump.wav similarity index 100% rename from pyscriptjs/public/mario/sounds/bump.wav rename to pyscriptjs/examples/mario/sounds/bump.wav diff --git a/pyscriptjs/public/mario/sounds/coin.wav b/pyscriptjs/examples/mario/sounds/coin.wav similarity index 100% rename from pyscriptjs/public/mario/sounds/coin.wav rename to pyscriptjs/examples/mario/sounds/coin.wav diff --git a/pyscriptjs/public/mario/sounds/fireball.wav b/pyscriptjs/examples/mario/sounds/fireball.wav similarity index 100% rename from pyscriptjs/public/mario/sounds/fireball.wav rename to pyscriptjs/examples/mario/sounds/fireball.wav diff --git a/pyscriptjs/public/mario/sounds/flagpole.wav b/pyscriptjs/examples/mario/sounds/flagpole.wav similarity index 100% rename from pyscriptjs/public/mario/sounds/flagpole.wav rename to pyscriptjs/examples/mario/sounds/flagpole.wav diff --git a/pyscriptjs/public/mario/sounds/itemAppear.wav b/pyscriptjs/examples/mario/sounds/itemAppear.wav similarity index 100% rename from pyscriptjs/public/mario/sounds/itemAppear.wav rename to pyscriptjs/examples/mario/sounds/itemAppear.wav diff --git a/pyscriptjs/public/mario/sounds/jump-small.wav b/pyscriptjs/examples/mario/sounds/jump-small.wav similarity index 100% rename from pyscriptjs/public/mario/sounds/jump-small.wav rename to pyscriptjs/examples/mario/sounds/jump-small.wav diff --git a/pyscriptjs/public/mario/sounds/jump-super.wav b/pyscriptjs/examples/mario/sounds/jump-super.wav similarity index 100% rename from pyscriptjs/public/mario/sounds/jump-super.wav rename to pyscriptjs/examples/mario/sounds/jump-super.wav diff --git a/pyscriptjs/public/mario/sounds/kick.wav b/pyscriptjs/examples/mario/sounds/kick.wav similarity index 100% rename from pyscriptjs/public/mario/sounds/kick.wav rename to pyscriptjs/examples/mario/sounds/kick.wav diff --git a/pyscriptjs/public/mario/sounds/mariodie.wav b/pyscriptjs/examples/mario/sounds/mariodie.wav similarity index 100% rename from pyscriptjs/public/mario/sounds/mariodie.wav rename to pyscriptjs/examples/mario/sounds/mariodie.wav diff --git a/pyscriptjs/public/mario/sounds/pipe.wav b/pyscriptjs/examples/mario/sounds/pipe.wav similarity index 100% rename from pyscriptjs/public/mario/sounds/pipe.wav rename to pyscriptjs/examples/mario/sounds/pipe.wav diff --git a/pyscriptjs/public/mario/sounds/powerup.wav b/pyscriptjs/examples/mario/sounds/powerup.wav similarity index 100% rename from pyscriptjs/public/mario/sounds/powerup.wav rename to pyscriptjs/examples/mario/sounds/powerup.wav diff --git a/pyscriptjs/public/mario/sounds/stage_clear.wav b/pyscriptjs/examples/mario/sounds/stage_clear.wav similarity index 100% rename from pyscriptjs/public/mario/sounds/stage_clear.wav rename to pyscriptjs/examples/mario/sounds/stage_clear.wav diff --git a/pyscriptjs/public/mario/sounds/stomp.wav b/pyscriptjs/examples/mario/sounds/stomp.wav similarity index 100% rename from pyscriptjs/public/mario/sounds/stomp.wav rename to pyscriptjs/examples/mario/sounds/stomp.wav diff --git a/pyscriptjs/public/mario/sounds/underground_bgm.ogg b/pyscriptjs/examples/mario/sounds/underground_bgm.ogg similarity index 100% rename from pyscriptjs/public/mario/sounds/underground_bgm.ogg rename to pyscriptjs/examples/mario/sounds/underground_bgm.ogg diff --git a/pyscriptjs/public/mario/sprites/1-1 reference.png b/pyscriptjs/examples/mario/sprites/1-1 reference.png similarity index 100% rename from pyscriptjs/public/mario/sprites/1-1 reference.png rename to pyscriptjs/examples/mario/sprites/1-1 reference.png diff --git a/pyscriptjs/public/mario/sprites/enemy.png b/pyscriptjs/examples/mario/sprites/enemy.png similarity index 100% rename from pyscriptjs/public/mario/sprites/enemy.png rename to pyscriptjs/examples/mario/sprites/enemy.png diff --git a/pyscriptjs/public/mario/sprites/enemyr.png b/pyscriptjs/examples/mario/sprites/enemyr.png similarity index 100% rename from pyscriptjs/public/mario/sprites/enemyr.png rename to pyscriptjs/examples/mario/sprites/enemyr.png diff --git a/pyscriptjs/public/mario/sprites/items.png b/pyscriptjs/examples/mario/sprites/items.png similarity index 100% rename from pyscriptjs/public/mario/sprites/items.png rename to pyscriptjs/examples/mario/sprites/items.png diff --git a/pyscriptjs/public/mario/sprites/player.png b/pyscriptjs/examples/mario/sprites/player.png similarity index 100% rename from pyscriptjs/public/mario/sprites/player.png rename to pyscriptjs/examples/mario/sprites/player.png diff --git a/pyscriptjs/public/mario/sprites/playerl.png b/pyscriptjs/examples/mario/sprites/playerl.png similarity index 100% rename from pyscriptjs/public/mario/sprites/playerl.png rename to pyscriptjs/examples/mario/sprites/playerl.png diff --git a/pyscriptjs/public/mario/sprites/tiles.png b/pyscriptjs/examples/mario/sprites/tiles.png similarity index 100% rename from pyscriptjs/public/mario/sprites/tiles.png rename to pyscriptjs/examples/mario/sprites/tiles.png diff --git a/pyscriptjs/public/panel.html b/pyscriptjs/examples/panel.html similarity index 91% rename from pyscriptjs/public/panel.html rename to pyscriptjs/examples/panel.html index 6319144..491dcb7 100644 --- a/pyscriptjs/public/panel.html +++ b/pyscriptjs/examples/panel.html @@ -8,8 +8,8 @@ - - + + diff --git a/pyscriptjs/public/panel_kmeans.html b/pyscriptjs/examples/panel_kmeans.html similarity index 98% rename from pyscriptjs/public/panel_kmeans.html rename to pyscriptjs/examples/panel_kmeans.html index ee8e902..69d4dfe 100644 --- a/pyscriptjs/public/panel_kmeans.html +++ b/pyscriptjs/examples/panel_kmeans.html @@ -38,8 +38,8 @@ - - + + diff --git a/pyscriptjs/public/repl.html b/pyscriptjs/examples/repl.html similarity index 76% rename from pyscriptjs/public/repl.html rename to pyscriptjs/examples/repl.html index 59d7113..5944e03 100644 --- a/pyscriptjs/public/repl.html +++ b/pyscriptjs/examples/repl.html @@ -7,9 +7,9 @@ Svelte app - + - + diff --git a/pyscriptjs/public/repl2.html b/pyscriptjs/examples/repl2.html similarity index 82% rename from pyscriptjs/public/repl2.html rename to pyscriptjs/examples/repl2.html index ff54ff9..3b150e3 100644 --- a/pyscriptjs/public/repl2.html +++ b/pyscriptjs/examples/repl2.html @@ -7,9 +7,9 @@ Svelte app - + - + diff --git a/pyscriptjs/public/simple_script.html b/pyscriptjs/examples/simple_script.html similarity index 80% rename from pyscriptjs/public/simple_script.html rename to pyscriptjs/examples/simple_script.html index ec5549c..467e183 100644 --- a/pyscriptjs/public/simple_script.html +++ b/pyscriptjs/examples/simple_script.html @@ -7,9 +7,9 @@ Svelte app - + - + diff --git a/pyscriptjs/public/simple_script2.html b/pyscriptjs/examples/simple_script2.html similarity index 90% rename from pyscriptjs/public/simple_script2.html rename to pyscriptjs/examples/simple_script2.html index 7e2c5de..d32860c 100644 --- a/pyscriptjs/public/simple_script2.html +++ b/pyscriptjs/examples/simple_script2.html @@ -7,9 +7,9 @@ Svelte app - + - + diff --git a/pyscriptjs/examples/todo.html b/pyscriptjs/examples/todo.html new file mode 100644 index 0000000..1690441 --- /dev/null +++ b/pyscriptjs/examples/todo.html @@ -0,0 +1,83 @@ + + + + + + + Todo App + + + + + + + + +from datetime import datetime as dt + +tasks = [] + +# define the task template that will be use to render new templates to the page +task_template = Element("task-template").select('.task', from_content=True) +task_list = Element("list-tasks-container") +new_task_content = Element("new-task-content") + +def add_task(*ags, **kws): + # create task + task_id = f"task-{len(tasks)}" + task = {"id": task_id, "content": new_task_content.element.value, "done": False, "created_at": dt.now()} + tasks.append(task) + + # add the task element to the page as new node in the list by cloning from a template + taskHtml = task_template.clone(task_id, to=task_list) + taskHtmlContent = taskHtml.select('p') + taskHtmlContent.element.innerText = task['content'] + taskHtmlCheck = taskHtml.select('input') + task_list.element.appendChild(taskHtml.element) + + def check_task(evt=None): + task['done'] = not task['done'] + if task['done']: + taskHtmlContent.element.classList.add("line-through") + else: + taskHtmlContent.element.classList.remove("line-through") + + new_task_content.clear() + taskHtmlCheck.element.onclick = check_task + +def add_task_event(e): + console.log("im in") + if (e.key == "Enter"): + add_task() + + + +
+
+ +
+

To Do List

+
+ +
+ + +
+ +
+
+ + + +
+
+ diff --git a/pyscriptjs/public/favicon.png b/pyscriptjs/public/favicon.png deleted file mode 100644 index 7e6f5eb5a2f1f1c882d265cf479de25caa925645..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3127 zcmV-749N3|P)i z7)}s4L53SJCkR}iVi00SFk;`MXX*#X*kkwKs@nFGS}c;=?XFjU|G$3t^5sjIVS2G+ zw)WGF83CpoGXhLGW(1gW%uV|X7>1P6VhCX=Ux)Lb!*DZ%@I3!{Gsf7d?gtIQ%nQiK z3%(LUSkBji;C5Rfgd6$VsF@H`Pk@xtY6t<>FNR-pD}=C~$?)9pdm3XZ36N5PNWYjb z$xd$yNQR9N!dfj-Vd@BwQo^FIIWPPmT&sZyQ$v81(sCBV=PGy{0wltEjB%~h157*t zvbe_!{=I_783x!0t1-r#-d{Y?ae$Q4N_Nd^Ui^@y(%)Gjou6y<3^XJdu{rmUf-Me?)zZ>9OR&6U5H*cK; z$gUlB{g0O4gN0sLSO|Of?hU(l?;h(jA3uH!Z{EBKuV23ouU@^Y6#%v+QG;>e*E}%?wlu-NT4DG zs)z)7WbLr)vGAu(ohrKc^em@OpO&f~6_>E61n_e0_V3@{U3^O;j{`^mNCJUj_>;7v zsMs6Hu3g7+@v+lSo;=yTYFqq}jZmQ-BK8K{C4kqi_i*jBaQE(Au0607V-zKeT;EPg zX(`vrn=L+e74+-Tqeok@_`tDa$G9I|$nTU5H*2V8@y()n*zqM?J1G!-1aX;CfDC9B zTnJ#j_%*n8Qb1)re*Bno7g0RG{Eb;IK14irJYJp$5Z6ac9~b_P?+5t~95~SRG$g?1 znFJ7p$xV&GZ18m~79TGRdfsc-BcX$9yXTR*n)mPD@1~O(_?cT$ZvFPucRmGlq&se0 zKrcUf^k}4hM*biEJOWKzz!qQe;CB_ZtSOO9Owg#lZAc=s65^rb{fZe(TYu_rk!wKkEf}RIt=#Om( zR8mN`DM<^xj~59euMMspBolVN zAPTr8sSDI104orIAdmL$uOXn*6hga1G+0WD0E?UtabxC#VC~vf3|10|phW;yQ3CY8 z2CM=)ErF;xq-YJ5G|um}>*1#E+O_Mu|Nr#qQ&G1P-NMq@f?@*XUcSbV?tX=)ilM-Q zBZP|!Bpv0V;#ojKcpc7$=eqO;#Uy~#?^kNI{vSZfLx&DEt~LTmaKWXcx=joubklI<*Aw z>LtMaQ7DR<1I2LkWvwyu#Rwn~;ezT}_g(@5l3h?W%-a86Y-t#O1PubP+z<%?V5D(U zy57A6{h+{?kOZp7&WKZR+=sznMJ}+Dnpo=C_0%R_x_t~J5T?E_{+))l5v1%52>)d-`iiZyx|5!%M2Fb2dU zW3~MwwpEH9Rhue+k$UIOoo($Ds!NbOyMR36fRHu;*15(YcA7siIZk#%JWz>P!qX1?IUojG&nKR>^gArBt2 zit(ETyZ=@V&7mv_Fi4bABcnwP+jzQuHcfU&BrAV91u-rFvEi7y-KnWsvHH=d2 zgAk(GKm_S8RcTJ>2N3~&Hbwp{Z3NF_Xeh}g4Eke)V&dY{W(3&b1j9t4yK_aYJisZZ{1rcU5- z;eD>K;ndPq&B-8yA_S0F!4ThA&{1{x)H<#?k9a#6Pc6L?V^s0``ynL&D;p(!Nmx`Y zFkHex{4p!Ggm^@DlehW}iHHVi}~u=$&N? z(NEBLQ#UxxAkdW>X9LnqUr#t4Lu0=9L8&o>JsqTtT5|%gb3QA~hr0pED71+iFFr)dZ=Q=E6ng{NE{Z~0)C?deO#?Aj zSDQ$z#TeC2T^|=}6GBo-&$;E{HL3!q3Z-szuf)O=G#zDjin4SSP%o%6+2IT#sLjQa ziyxFFz~LMjWY+_a5H!U6%a<=b7QVP^ z*90a62;bVq{?@)P6^DWd^Yilq4|YTV2Nw!Yu;a1lPI-sxR)rf@Fe5DhDP7FH zZZ%4S*1C30P;|O+jB!1;m|rXT90Sm5*RBbQN`PKu+hDD*S^yE(CdtSfg=z>u$cIj> z