How punkplod23/code-editors-experiment works
This is a browser-based set of coding playgrounds, reached through language routes in a Vue application. Users choose a workspace, edit code, and—in the sampled Python, Lua, Java, Pygame, and SQL implementations—run it in a browser-side runtime and view output or rendered results. The workspaces are separate rather than a shared execution pipeline. The README is only the Vue starter template; unsampled editors are represented from the file tree and route definitions, so their execution details and integrations are not inferred.
Main entry points: index.ts Route dispatch · SqlPlayground.vue SQL playground · App.vue Vue app shell · pythonEditor.vue Python route view
Components 24
Application navigation
- Vue app shell
src/App.vue - Route dispatch
src/router/index.ts
Language workspaces
- Python route view
src/views/pythonEditor.vue - Python editor
src/components/CodeEditorPython.vue - Pygame route view
src/views/PyGame.vue - Pygame workspace
src/components/Pygame.vue - R route view
src/views/R.vue - R editor
src/components/CodeEditorMainR.vue - Lua route view
src/views/LuaEditor.vue - Lua editor
src/components/CodeEditorLua.vue - Java route view
src/views/Java.vue - Java editor
src/components/JavaEditor.vue - HTML route view
src/views/HTML.vue - HTML editor
src/components/CodeEditorMainHtml.vue - PHP route view
src/views/php.vue - PHP editor
src/components/CodeEditorPHP.vue
Browser execution
- Pyodide runtime
- Wasmoon runtime
- CheerpJ JVM
- sql.js engine
SQL playground
- SQL route view
src/views/SQL.vue - SQL playground
src/components/SqlPlayground.vue - In-memory SQLite
Other components
- Playground user
Connections 19
- Playground user → Vue app shell: opens
- Vue app shell → Route dispatch: renders routes
- Route dispatch → Python route view: dispatches
- Route dispatch → R route view: dispatches
- Route dispatch → Pygame route view: dispatches
- Route dispatch → SQL route view: dispatches
- Route dispatch → HTML route view: dispatches
- Route dispatch → PHP route view: dispatches
- Route dispatch → Lua route view: dispatches
- Route dispatch → Java route view: dispatches
- Python route view → Python editor: renders editor
- R route view → R editor: renders editor
- Python editor → Pyodide runtime: executes Python
- Pygame workspace → Pyodide runtime: executes Python
- Lua editor → Wasmoon runtime: executes Lua
- Java editor → CheerpJ JVM: runs Java
- SQL route view → SQL playground: renders playground
- SQL playground → sql.js engine: initializes
- SQL playground → In-memory SQLite: executes queries