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