0.88/Turtle Art: Difference between revisions

m moved 0.88/TurtleArt to 0.88/Turtle Art: deCamelCase
 
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<noinclude>{{GoogleTrans-en}}{{TOCright}}</noinclude>[[Category:Page Template]]
<noinclude></noinclude>
= Turtle Art =
<big>'''Turtle Art'''</big>


== Introduction ==
== Introduction ==
Turtle Art is an activity with a Logo-inspired graphical "turtle" that draws colorful art based on snap-together visual programming elements.
Turtle Art is an activity with a Logo-inspired graphical "turtle" that draws colorful art based on snap-together visual programming elements.


Turtle Art is intended to be a stepping stone to the Logo programming language, but there are many restrictions compared to Logo. (Only numeric global variables and stack items are available, no lists or other data-structures. The conditionals and some of the functions only take constants or variables, not expressions. Limited screen real-estate makes building large programs unfeasible.) However, you can export your Turtle Art creations to Berkley Logo. The sensor-enabled version of Turtle Art also has a facility for sensor input, so, for example, you can move the Turtle based upon sound volume or pitch.
Turtle Art is intended to be a stepping stone to the Logo programming language, but there are many restrictions compared to Logo. (Only numeric global variables and stack items are available, no lists or other data-structures. The conditionals and some of the functions only take constants or variables, not expressions. Limited screen real-estate makes building large programs unfeasible.) However, you can export your Turtle Art creations to Berkley Logo. The [http://git.sugarlabs.org/projects/turtleart/repos/arduino-support Arduino fork] of Turtle Art also has a facility for sensor input, so, for example, you can move the Turtle based upon sound volume or pitch.


Turtle Art is in the same tradition as Etoys, Scratch, Lego Mindstorms™, and Lego Microworlds™.
Turtle Art is in the same tradition as Etoys, Scratch, Lego Mindstorms™, and Lego Microworlds™.


Turtle Art is used extensively in Sugar deployments and numerous materials for support in the classroom have been developed. Of course, since Turtle Art is a Logo derivative, many of the classic Logo exercises are well suited for engaging students in Turtle Art. For example, Tony Forster has been [http://tonyforster.blogspot.com blogging about a wide variety of Turtle Art activities]. Gonzalo Odiard has written a [https://sites.google.com/site/godiard/TurtleArt.ppt?attredirects=0&d=1 short introduction to Turtle Art].
Turtle Art is used extensively in Sugar deployments and numerous materials for support in the classroom have been developed. Of course, since Turtle Art is a Logo derivative, many of the classic Logo exercises are well suited for engaging students in Turtle Art. For example, Tony Forster has been [http://tonyforster.blogspot.com blogging about a wide variety of Turtle Art activities]. Gonzalo Odiard has written a [https://sites.google.com/site/godiard/TurtleArt.ppt?attredirects=0&d=1 short introduction to Turtle Art].
Turtle Art will let you export your project as PNG, HMTL, SVG or Logo. In other words, you can use Turtle Art to make presentations and as an SVG generator.


More Info:  
More Info:  


* Turtle Art Sugar Activity [[Activities/TurtleArt-0.88|homepage]]
* Turtle Art Sugar Activity [[Activities/Turtle Art|homepage]]
* Turtle Art gallery  (See [http://www.turtleart.org])
* Turtle Art gallery  (See [http://www.turtleart.org])
* Turtle Art Manual (See [http://en.flossmanuals.net/turtleart])
* Turtle Art Manual (See [http://en.flossmanuals.net/turtleart])
Line 37: Line 40:
File:100Turtles.png|100 Turtles
File:100Turtles.png|100 Turtles
File:TA-savesvg.svg|SVG output using the save SVG block
File:TA-savesvg.svg|SVG output using the save SVG block
File:TA-multivariable.png|Multi-variable Python blocks
</gallery>
</gallery>


Line 42: Line 46:


Minor bugs and feature changes include:
Minor bugs and feature changes include:
83
83


* added new user-interface features
* added new user-interface features
o support for multiple turtles
** support for multiple turtles
o expandable blocks
** expandable blocks
o collapsible stacks
** collapsible stacks
o runtime block highlighting
** runtime block highlighting
o error highlighting
** error highlighting
o trash palette (with restore)
** trash palette (with restore)
o palette better integrated into Sugar toolbar
** palette better integrated into Sugar toolbar
o variable-length string blocks
** variable-length string blocks
o editable string blocks
** editable string blocks
o paste text from Sugar clipboard to string blocks
** paste text from Sugar clipboard to string blocks
o new prefix boolean logic
** new prefix boolean logic
o showblock to compliment hideblock
** showblock to compliment hideblock
o fullscreen block
** fullscreen block
o Cartesian and polor coordinate blocks
** Cartesian and polar coordinate blocks
o color blocks
** color blocks
o editible macros (used for presentation blocks)
** editable macros (used for presentation blocks)
o labels on coordinate-grid overlays
** labels on coordinate-grid overlays
o more complete support in non-Sugar environments
** more complete support in non-Sugar environments
o new (and improved) sample code
** new (and improved) sample code
o Logo code for project added to View Source
** Logo code for project added to View Source
o save SVG block lets you generate SVG with Turtle Art
** save SVG block lets you generate SVG with Turtle Art
o improved export-to-HTML logic
** improved export-to-HTML logic
o new translations
** new translations (hi)
** multi-variable in-line Python-code blocks
** traceback for checking errors in in-line Python code


* completed a major refactoring of the code
* completed a major refactoring of the code
o 90% smaller download bundle-size
** download bundle-size is only 40% of previous versions
o faster first-time launch
** faster first-time launch
o greatly simplified i18n maintenance
** greatly simplified i18n maintenance
o easier to extend with new blocks and palettes  
** easier to extend with new blocks and palettes  


82
82
Line 137: Line 144:


== Internationalization (i18n) and Localization (l10n) ==
== Internationalization (i18n) and Localization (l10n) ==
* added fi, hi


== Compatibility ==
== Compatibility ==
Line 142: Line 151:


== Detailed changes ==
== Detailed changes ==
As of '''Version 83'''
As of '''Version 83'''
 
* {{Bug|180}} COPYING file is missed
 
* {{Bug|194}} turtleart: en.po syntax error, breaks build
==Open tickets==
* {{Bug|240}} [portfolio] named variables cause errors in "+="
* {{Bug|299}} Permissions for TAPortfolio samples not set correctly?
* {{Bug|472}} Remove unexpected 'save/load' tab from toolbar  
* {{Bug|472}} Remove unexpected 'save/load' tab from toolbar  
* {{Bug|489}} Turtle Art text entry should use Entry widget  
* {{Bug|489}} Turtle Art text entry should use Entry widget  
* {{Bug|491}} Turtle Art sharing needs new logic
* {{Bug|673}} Logo program should be displayable in the document View Source  
* {{Bug|673}} Logo program should be displayable in the document View Source  
* {{Bug|1110}} missing mime types
* {{Bug|1220}} sugar 85 olpc fedora11 jhbuild 20aug9 turtle art doesn't start. No log for sugar art in log dir.
* {{Bug|1330}} turtle art clean brick
* {{Bug|1465}} add a start brick upon launching new project in Turtle Art
* {{Bug|1466}} add a trash can to turtle art
* {{Bug|1482}} Turtle Art Activity crash
* {{Bug|1484}} TurtleArt-71 canvas lockup if you enter a number block with a decimal point
* {{Bug|1557}} Moving tiles in TurtleArt let a trace on the screen
* {{Bug|1583}} TurtleArt creates strange tamyblock.py journal entry
* {{Bug|1600}} Marking strings as "not to be translated" and so forth
* {{Bug|1633}} Numeric and text input fails on Turtle Art v81 under Debian 5.0
* {{Bug|1657}} Turtle Art has some .png images
* {{Bug|1685}} Problem with Spanish translation of "random"
* {{Bug|1840}} activity title should be set to sample name after a sample is loaded
==Open tickets==
* {{Bug|155}} Turtle Art with Sensors has different requirements for non-XO hardware
* {{Bug|548}} Turtle Art: read and write to text file
* {{Bug|552}} Turtle art: reinstate sensor input
* {{Bug|1057}} Turtle Art feature to add support for "pages"  
* {{Bug|1057}} Turtle Art feature to add support for "pages"  
* {{Bug|1188}} Load samples from turtleart.org  
* {{Bug|1188}} Load samples from turtleart.org  
* {{Bug|1203}} Rebase Turtle Art graphics on Cairo  
* {{Bug|1203}} Rebase Turtle Art graphics on Cairo  
* {{Bug|155}} Turtle Art with Sensors has different requirements for non-XO hardware
* {{Bug|1709}} Colors used for block highlighting (current running block vs. error-reporting)
* {{Bug|491}} Turtle Art sharing needs new logic
* {{Bug|1613}} sound brick only sounds once inside a template
* {{Bug|548}} Turtle Art: read and write to text file
* {{Bug|552}} Turtle art: reinstate sensor input


== Credits ==
== Credits ==
* Walter Bender and Raúl Gutiérrez Segalés (with help from Simon Schampijer)
* Walter Bender and Raúl Gutiérrez Segalés (with help from Simon Schampijer, Matt Gallagher, and Jamie Boisture)
* Especially helpful community feedback from Tony Forster, Ed Cherlin, and Bill Kerr
* Especially helpful community feedback from Tony Forster, Ed Cherlin, Jeff Elkner, and Bill Kerr
* Brian Silverman is the first author of Turtle Art
* Brian Silverman is the first author of Turtle Art