The turtleSpaces webIDE is an integrated Logo programming environment featuring the turtleSpaces application, a Javascript video renderer, a code editor and a menu system.
The Examples menu contains dozens of Logo examples you can load in, and a random option (that loads a random example.)
It includes cloud-based user accounts and a way to share your projects publicly. You can also upload and download code from your computer.
To the upper-left of the webIDE, above the editor are buttons that allow you to view the console (the bottom left area) history, what you’ve typed at the prompt. You can select, copy and paste the history into the editor.
The Help tab allows you to access the command reference. The Webtext tab is for viewing text sent to the Webtext pane using the webtext primitive (for when you need more space than what is available in the console.)
The Workspace dropdown menu (which by default says Full Workspace) can be used to select an individual procedure for editing.
Underneath the editor are buttons to save your Logo project to the cloud, open a project from your cloud space, publish a project (make it visible to others), fork a project (duplicate it and work on the duplicate) and share (create a viewable 3D model, which will open in another browser tab.)
The Revert button allows you to undo changes made in the editor since the last Update. The Update button commits your changes and allows you to execute them. Until you Update, changes in the editor pane have no effect.
To the right of the Update button, under the console, is the Inline / Worker selector, which specified whether the procedure you select in the dropdown to its right runs as the main worker or a new worker (which allows you to continue working in the console while the Logo code executes.)
The Run button executes the procedure selected in the dropdown to its left, while the Pause button allows you to suspend execution (it changes to Resume when paused, which allows you to continue execution.)
At the top of the screen, under the menu, are the metadata fields: you can edit the title (far left) and the description (far right) but not the author (this is done automatically.)
The IDE uses a pruned-down version of the turtleSpaces binary compiled to WebAssembly (this is fairly straightforward because turtleSpaces is written in Golang. All of the OpenGL visualization is done using Javascript, with both the IDE and graphical environment contents synchronized between the front and back end using callbacks.
It uses CodeMirror for the editor, Zerb for the UI toolkit and ClayGL for the WebGL renderer.
Note: The turtleSpaces WebAssembly binary is fairly large and takes around 10 seconds to load and compile on a fast broadband connection. This may take longer on slower connections.