It has been a busy year for turtleSpaces. Here are the highlights. You can try all of them in the turtleSpaces IDE, which runs in your browser with nothing to install.
A new IDE in your browser
The web IDE has been rebuilt from the ground up. When you open it, you land straight in a running example project to play with. You only need to sign in when you want to save or publish your work.
The menu bar has been decluttered, and the full changelog now lives under Help → Changelog.
For a guided walk through the newest features, see Using the IDE.
Beginner and Advanced modes
New to turtleSpaces? Turn on Settings → Beginner mode for a simpler IDE. It hides the expert settings (Live Coding, Auto Update, Code Completion, Show System Procedures and the printer) along with the Debug, History and Printer tabs. Turn it off again for the full Advanced IDE. The IDE remembers your choice in this browser. More about the two modes.
Phones and tablets
The IDE now fits smaller screens:
- On a tablet, or any window that is narrow or taller than it is wide, the 3D view sits on top of the editor instead of squeezing in beside it.
- On a phone, you see one view at a time. Switch between them with the Canvas | Code | Blocks tabs, and the Execute (Pause/Continue), Stop and Reset buttons stay pinned along the bottom.
- If you’d rather pinch and zoom around the full desktop IDE, choose Desktop view from the ☰ menu. Phone layout takes you back.
More about phones and tablets.
Blocks from the keyboard
You can now build with Blocks without a mouse. Tab into the workspace and use the arrow keys to move between blocks. Alt+Up/Down moves a block, Enter inserts a new block after it, F2 edits its first input and Delete removes it. In the palette, press Enter on any block to place it at the selected spot without dragging. See all the Blocks keys.
Share your projects
The new Share dialog gives you everything you need to show off a
published project: a link to play it, code to embed it on a web page, an
Open in the IDE link and a QR code to scan with a phone. Links take the
form /weblogo/pubplayer.html?pub=123, and index-react.html?pub=123 opens
the project straight in the IDE. These replace the old embed player page;
old embed links still work.
More about sharing.
Shelly helps with errors
When your code hits an error, Shelly the turtle pops up to help. If you’re signed in, Shelly can ask Claude to explain the error, either on its own or in your code. If you’re not signed in, Shelly gives you a plain-language hint about what went wrong, plus a button to sign in for more help. If you’d rather Shelly stayed out of the way, tick Don’t show this again. You can bring Shelly back any time with Settings → Shelly error help.
Classroom is in the user menu
Teachers now find Classroom in the user menu at the top right, once they’re signed in. It opens the same groups and classroom tools as before.
A friendlier console
- Free-form lines. The console no longer chops long lines at 80
columns. Each line runs as long as it needs to and wraps to fit the
console, and the console shows as many lines as fit. Up and Down move
through a wrapped line before stepping through your history. Click
anywhere in the line you’re typing to move the cursor there. To get the
classic fixed grid back, add
?repl=gridto the IDE’s address. - Sized to fit. When the IDE loads, the console picks a font size that fits 80 columns. After that the text stays the same size, and lines wrap when you make the console narrower.
settextsizeandsetcursorare locked in the console. In the normal split-screen console,settextsizeno longer changes the console’s size,setcursorhas no effect andcursorreports[0 0]. They still work as before intextscreenandoverlayscreen.
Blocks
Not ready to type Logo yet? The Blocks editor lets you build programs by snapping visual blocks together, and it stays in sync with the Logo code.
Five languages
The IDE and this website now speak English, Japanese (日本語), French (Français), Spanish (Español) and Polish (Polski). In the IDE, choose yours under Settings → Language.
Classrooms and groups
Teachers can create a group for their class from Classroom, and mark it as a classroom. Students join with a registration link, plus a group password if the teacher sets one. They don’t need an email address. Teachers can also turn off sharing and publishing for a classroom.
Published projects and examples
The Published and Examples browsers now open full-page inside the IDE, so it’s easier to find something to remix.
A wave of shader effects
The setshadertype family grew enormously. Try shader then
setshadertype "bokeh, or chain up to 16 effects together, like
setshadertype [pencil scanlines].
Each effect in a chain now keeps its own settings, even when the same effect
appears twice. setshadersettings no longer takes a shader name. Instead it
takes one list, with one entry for each effect in chain order, and the values
in each entry go in the order shaderparameters lists them:
setshadertype "pencil
setshadersettings [[100 100 150 45]]
That sets the pencil’s pressure, grain, patch size and stroke jitter. For a
chain, give one entry per effect, like
setshadersettings [[150 100] [40 200] [5 100]] after
setshadertype [charcoal charcoal toon]. shadersettings reports the whole
chain in the same form. Programs that used the old
setshadersettings "type [...] form need updating.
More about shader chains.
- Hand-made looks: pencil, oil and crayon strokes that follow the forms in
your scene, plus
sketch,daub,watercolorandemboss. - Camera and light:
photo,bokeh,gloss,ao,shadow,reflection,fog,outlineandsharpen. - Retro displays: CMYK
halftone,leddot-matrix walls,shadowmask,scanlines,dither,pixelandhexpixelmosaics,glitch,noiseand frosted glass. - Motion and warp: true long-exposure
motionblur(the old CRT ghosting is now its ownphosphortype),water,ripple,swirlandkaleidoscope. - Squish and fuse:
turtlemochi,mochi,merge,blendandfocus.
setshaderbackground false keeps effects off the background, so they apply
only to what you draw.
New pen styles
setpenstyle "rope: a twisted four-strand tube in your pen and fill colours.setpenstyle "looserope: rope that sways gently, as if underwater.setpenstyle "ledrope: a glowing rope light with colour-swapping bulbs.setpenstyle "particle: a stream of drifting, fading sparks.
Terraform: instant planets
The new terraform mode adds fractal noise to the shapes you draw, so an
icosphere becomes a planet with seas, continents and plateaus. It works on
spheres, cubes, cones, cylinders, funnels and filled 2D shapes. Tune it with
setterraformsettings, and turn it off with noterraform.
Live sliders
newslider puts real sliders on top of your running program. Drag one and the
bound value changes live. You can bind a container, or a turtle property like
heading or pen colour. The companion commands are slider, setslider,
sliderp, deleteslider and deletesliders. You’ll also find slider blocks
in the Blocks editor’s Environment palette.
Recording and export
savemp4andsavewebmnow use a much faster encoder. Recording no longer makes your animation stutter, and they cope with fullscreen or window resizes mid-recording.downloadpngcaptures exactly what’s on screen, including active shaders and animated pen styles.- Switching to another browser tab pauses your program and any recording.
Fixes and polish
- If a procedure is missing a
], you now get a clear error. It can no longer swallow the rest of your program. - The new
pinmeshcommand builds a solid 3D shape from your current pins. 3Dpinfillshapes also keep their true outline now. randomfillcolorandrandompencolorno longer pick the background colour.- Big drawing programs run faster, and the camera sees much farther by
default. You can tune the view distance with
setviewfarandsetviewnear.
There are dozens of smaller fixes too. If you find something odd, write to help@turtlespaces.org.