There is a classic version of GlowScript in the GlowScript directory. That's basically a Flask application that handles everything. There's a more modernized version of the Flask application and separate runners and separate documentation repositories in the Flask host, the WASM runner, the rapid script runner, and the documentation directories
Classic Glowscript: ./glowscript
Flask Host: ./flaskHost Wasm Runner: ./wmWVPRunner Rapyd Script Runner: ./rsWVPRunner Docs: ./webVPythonDocsHome
The Flask Host and Runners were synced with Classic GlowScript in June 2026. See docs/superpowers/specs/2026-06-05-glowscript-migration-sync-design.md for what was done.
Added June 2026. Both https://flaskdstorehost-dhppn6xgeq-uc.a.run.app and https://beta.webvpython.org are live.
-
Cloud Run domain mapping — add domain to the existing
flaskdstorehostservice:gcloud run domain-mappings create --service flaskdstorehost --domain <new-domain> --region us-central1
Then add the DNS records Cloud Run provides at the domain registrar.
-
Redeploy runners — update
build.envin both rsWVPRunner and wmWVPRunner to add the new domain to the comma-separated list, then rundo_build.shin each. -
Update Cloud Run env var —
PUBLIC_RUNNER_GUEST_URLmust point to the root GCS path:https://storage.googleapis.com/rswvprunner/untrusted/run.html(already correct as of June 2026). -
Google OAuth — add
https://<new-domain>/google/authto the authorized redirect URIs in Google Cloud Console → APIs & Services → Credentials → OAuth client.
cyvector is a Cython-accelerated vector implementation used by wmWVPRunner. It is currently
disabled in wmWVPRunner/vpython/vec_js.py (#from cyvector import *) because the existing
wheel (cyvector-0.1-cp311-cp311-emscripten_3_1_39_wasm32.whl) was built for Python 3.11 /
Emscripten 3.1.39, but Pyodide v0.29.4 requires Python 3.13 / Emscripten 3.1.58.
Steps to re-enable:
-
Update the pyodide fork (
/Users/steve/Development/pyodide,sjsbranch) to a version that targets Python 3.13 / Emscripten 3.1.58 (merge upstream Pyodide changes intosjs). -
Rebuild the wheel — the cyvector package lives at
pyodide/packages/cyvector/cyvector/cyvector.pyx(already has the kwargs fix from June 2026). Build with the updated Pyodide toolchain to produce acp313wheel. -
Deploy the wheel — copy the new
.whltowmWVPRunner/static/and update the filename reference inwmWVPRunner/src/lib/utils/utils.jsline 2. -
Re-enable in vec_js.py — uncomment
from cyvector import *and removefrom .vector import *inwmWVPRunner/vpython/vec_js.py. Thecyvector.vectorclass will replace the pure-Pythonvectorbase class, giving a performance boost for vector-heavy programs. -
Rebuild vpython.zip —
npm run zipin wmWVPRunner, thendo_build.sh.