Abstraction in Turtle Geometry

We seek to bring previous javascript experiments with turtle geometry to wiki. We are porting a turtle geometry editor from a previous jQuery-based implementation to a modern ES6 implementation. In our most recent branch we have a proof-of-concept that our editor can save geometry into the memory of a seran-wiki outpost where it can be included in a node-based wiki and forked into the wider federation.

Our first Turtle Spirals arrive in the federation.

see localhost.ts: github

Prior publications in chronological order and also a link to a inspirational book on the subject.

Logo, Fractals, Recursion: Programming and Removing Repetition: blog

Interactive Turtle Graphics in a Browser: blog

Turtle Geometry, Harold Abelson & Andrea diSessa book

Turtle Geometry Exercises: blog

Programming by Touch: blog

.

These javascript snippets and the associated assets are examples of how one can experiment with self-hosted plugin development.

import('http://dobbs-seran-turtles.glitch.me/turtle-canvas.mjs') .then(({TurtlePlugin}) => { plugins.turtle = new TurtlePlugin(wiki) });

t = document.querySelector('turtle-canvas'); Array.from( {length:17*3}, _ => t.turn().move().nextMovesize() ); t.draw();

//How to create an empty turtle item $page = $('.page:last'); $after = $page.find('.item:last'); $item = wiki.createItem( $page, $after, {type:"turtle", text:""});

abstraction-in-turtle-geometry

YOUTUBE uoVJn6iVhd0 Demo of ES6 custom element of turtle turn button