Skip to content

Commit 8f4e2cd

Browse files
Update README.md
Add a section to README on how to work with the source code
1 parent 89f9cde commit 8f4e2cd

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

README.md

+21
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,24 @@ Run example VPython programs: [![Binder](http://mybinder.org/badge.svg)](https:/
4848

4949
[![Build Status](https://travis-ci.org/BruceSherwood/vpython-jupyter.svg?branch=master)](https://travis-ci.org/BruceSherwood/vpython-jupyter) [![Build status](https://ci.appveyor.com/api/projects/status/wsdjmh8aehd1o0qg?svg=true)](https://ci.appveyor.com/project/mwcraig/vpython-jupyter)
5050

51+
## Working with the source code
52+
53+
Here is an overview of the software architecture:
54+
55+
https://vpython.org/contents/VPythonArchitecture.pdf
56+
57+
The vpython module uses the GlowScript library (vpython/vpython_libraries/glow.min.js). The GlowScript repository is here:
58+
59+
https://github.com/vpython/glowscript
60+
61+
In the GlowScript repository's docs folder, GlowScriptOverview.txt provides more details on the GlowScript architecture.
62+
63+
Here is information on how to run GlowScript VPython locally, which makes possible testing changes to the GlowScript library:
64+
65+
https://www.glowscript.org/docs/GlowScriptDocs/local.html
66+
67+
If you execute build_original_no_overload.py, and change the statement "if True:" to "if False", you will generate into the ForInstalledPython folder an un-minified glow.min.js which can be copied to site-packages/vpython/vpython_libraries and tested by running your test in (say) idle or spyder. (Running in Jupyter notebook or Jupyterlab requires additional fiddling.)
68+
69+
Note that in site-packages/vpython/vpython_libraries it is glowcomm.html that is used by launchers such as idle or spyder; glowcomm.js is used with Jupyter notebook (and a modified version is used in Jupyterlab).
70+
71+
Placing console.log(....) statements in the GlowScript code or in the JavaScript section of glowcomm.html can be useful in debugging. You may also need to put debugging statements into site-packages/vpython/vpython.py.

0 commit comments

Comments
 (0)