<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>lib/letters.js</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,23 +1,24 @@
 body {
-	padding:0;
-	font: normal 95%/1.5em Helvetica, Arial, sans-serif;
-	background-color:#C2E7E8;
+  padding:0;
+  font: normal 95%/1.5em Helvetica, Arial, sans-serif;
+  background: #DDD url('demos/images/small_grey_bg.png');
+  background-position: 1px 0px;
 }
 
 h1 {
-	color:#CA411A;
+  color:#CA411A;
 }
 
 h2 {
-	color:#224041;
+  color:#224041;
 }
 
 a {
-	text-decoration: none;
+  text-decoration: none;
 }
 
 a:hover {
-	text-decoration: underline;
+  text-decoration: underline;
 }
 
 #information {
@@ -28,7 +29,6 @@ a:hover {
   display:none;
   font: normal 85%/1.3em Helvetica, Arial, sans-serif;
   color:#333;
-  width:250px;
 }
 
 #license {
@@ -49,20 +49,12 @@ a:hover {
   background-color:#eee;
 }
 
-ul {
-  margin:0;
-  padding:0;
-  list-style: none;
-  float:left;
-  width:200px;
-}
 
 li {
   font: normal 95%/1.5em Helvetica, Arial, sans-serif;
 }
 
 li a {
-  display:block;
   padding:2px;
   color: #00F;
 }
@@ -93,4 +85,61 @@ li a.selected {
   float:left;
   width: 420px;
   height: 380px;
+}
+
+#example {
+  padding:5px;
+  width:26em;
+  background-color: #191A1B;
+}
+
+#shadow {
+  position:absolute;
+  top: 10px;
+  left: 250px;
+  overflow:visible;
+}
+
+#board {
+  position:absolute;
+  top: 10px;
+  left: 250px;
+  overflow:visible;
+}
+
+.layer_0 {
+  width:16px;
+  height:17px;
+  position:absolute;
+  display:block;
+  background:url('demos/images/cube_blue.png') no-repeat bottom left;
+}
+
+#shadow .dirt {
+  width:16px;
+  height:17px;
+  position:absolute;
+  display:block;
+  background:url('demos/images/cube_shadow.png') no-repeat bottom left;
+}
+
+#board .dirt {
+  width:16px;
+  height:17px;
+  position:absolute;
+  display:block;
+  background:url('demos/images/cube_red.png') no-repeat bottom left;
+}
+
+#content {
+  margin-top:20px;
+  width:500px;
+  background-color:white;
+  opacity:0.75;
+  padding:10px;
+}
+
+#content h1 {
+  margin:0;
+  padding:0;
 }
\ No newline at end of file</diff>
      <filename>axonome.css</filename>
    </modified>
    <modified>
      <diff>@@ -20,7 +20,8 @@
   &lt;div class=&quot;nav&quot;&gt;
     &lt;a href=&quot;../index.html&quot;&gt;Home&lt;/a&gt; | 
     &lt;a class=&quot;selected&quot; href=&quot;index.html&quot;&gt;Demos&lt;/a&gt; | 
-    &lt;a href=&quot;http://github.com/elbowdonkey/axonome&quot;&gt;github&lt;/a&gt;&lt;/div&gt;
+    &lt;a href=&quot;http://github.com/elbowdonkey/axonome&quot;&gt;github&lt;/a&gt;
+  &lt;/div&gt;
   &lt;h1&gt;axono.me demos&lt;/h1&gt;
   &lt;ul&gt;
     &lt;li&gt;&lt;a href=&quot;isometric1.html&quot;&gt;A grid&lt;/a&gt;&lt;/li&gt;</diff>
      <filename>demos/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;script type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;
-$('#board').iso({unwalkables: [&quot;2_2_0&quot;,&quot;2_3_0&quot;,&quot;3_2_0&quot;,&quot;4_2_0&quot;,&quot;4_3_0&quot;, &quot;4_4_0&quot;, &quot;3_4_0&quot;], layers: 2});
+$('#board').iso({unwalkables: [&quot;2_2_0&quot;,&quot;2_3_0&quot;,&quot;3_2_0&quot;,&quot;4_2_0&quot;,&quot;4_3_0&quot;, &quot;4_4_0&quot;], max_x: 20, max_y: 20});
 
 $('#board').children().mouseenter(function(e) {
   var tile = $(e.target);
@@ -17,13 +17,15 @@ $('#board').children().mouseenter(function(e) {
     var xyz = $.fn.iso.avatar.movement_queue[key];
     var id = xyz[0] + &quot;_&quot; + xyz[1] + &quot;_&quot; + xyz[2];
     $('#tile_' + id).addClass('hover');
-    $('#tile_' + id).css({opacity:((key)/10)+0.25});
+    $('#tile_' + id).append(key);
+    //$('#tile_' + id).css({opacity:((key)/10)+0.25});
   }
 });
 
 
 $('#board').children().mouseleave(function(e) {
   $('#board').children().removeClass('hover');
+  $('#board').children().html('');
   $('#board').children().css({opacity:1.0});
 });
 </diff>
      <filename>demos/isometric1.html</filename>
    </modified>
    <modified>
      <diff>@@ -3,32 +3,6 @@
   &lt;head&gt;
     &lt;title&gt;axono.me - axono.you&lt;/title&gt;
     &lt;link rel=&quot;stylesheet&quot; href=&quot;axonome.css&quot; type=&quot;text/css&quot; media=&quot;screen&quot; charset=&quot;utf-8&quot;&gt;
-    &lt;style type=&quot;text/css&quot; media=&quot;screen&quot;&gt;
-    #example {
-      padding:5px;
-      width:26em;
-      background-color: #191A1B;
-    }
-
-    #board {
-      float:left;
-      position:relative;
-      margin-left:135px;
-      overflow:visible;
-      font-size:0.1em;
-    }
-
-    #board div {
-      width:32px;
-      height:34px;
-      position:absolute;
-      display:block;
-      background:url('demos/images/avatar.png') no-repeat top left;
-      position: absolute;
-      overflow:hidden;
-    }
-
-  &lt;/style&gt;
     &lt;link rel=&quot;stylesheet&quot; href=&quot;twilight.css&quot; type=&quot;text/css&quot; media=&quot;screen&quot; charset=&quot;utf-8&quot;&gt;
 
     &lt;script src=&quot;lib/jquery/jquery-1.3.2.min.js&quot; type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;
@@ -36,93 +10,64 @@
     &lt;script src=&quot;lib/node.js&quot; type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;
     &lt;script src=&quot;lib/a.js&quot; type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;
     &lt;script src=&quot;lib/avatar.js&quot; type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;
-    &lt;script src=&quot;lib/iso.js&quot; type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;
-    
+    &lt;script src=&quot;lib/letters.js&quot; type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;
+    &lt;script src=&quot;lib/jquery.iso.js&quot; type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;
+
     &lt;script type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;
       $(document).ready(function(){
-        var iso = new Iso(3,3,'x',{tile_width: 34, tile_height: 20});
-        var grid = iso.grid;
-        var nodes = grid.nodes;
-
-        for (var i=0; i &lt; nodes.length; i++) {
-          var node = nodes[i];
-          var id = 'tile_' + node.index();
-
-          $('#board').append('&lt;div id=&quot;' + id + '&quot;&gt;&lt;/div&gt;');
-          $('#' + id).css({
-            zIndex: node.zindex(),
-            left: (node.left()) + 'px',
-            top: (node.top()) + 'px'
-          });
-
-          $('#' + id).hover(
-            function() {
-              var pop = parseInt(Math.random() * 10)+4;
-              $(this).animate({
-                top: '-=' + pop
-              }, 200)
-              .animate({
-                top: '+=' + pop
-              }, 200);
-            },
-            function() {
-
-            }
-          );
-        };
-
-        function undulate() {
-          if (index_count &gt;= nodes.length) {
-            index_count = 0;
-            return true;
-          }
-
-          var move_by = parseInt(Math.random() * 10)+4;
-
-          $('#tile_' + index_count)
-          .animate({
-            top: '-=' + move_by
-          }, 200, function (){
-            $('#tile_' + index_count)
-            .animate({
-              top: '+=' + move_by
-            }, 200, function () {
-              index_count += 1;
-              undulate();
-            });
+        var word = new Letters(&quot;axono.me&quot;,1,2,1);
+        
+        $('#board').iso({
+          unwalkables: word,
+          tile_width:16,
+          tile_height:8,
+          max_x: 43, 
+          max_y: 9,
+          layers: 2}
+        );
+        
+        $('#board').mouseover(function() {
+          $('#board .dirt').each(function() {
+            var move_by = parseInt(Math.random() * 5);
+            $(this).animate({top: '-=' + move_by}, 75).animate({top: '+=' + move_by}, 100);
           });
-        }
+        });
         
-        var index_count = 0;
-        undulate();
+        $('#board').mouseout(function() {
+          index_count = 0;
+          $('#board .dirt').stop();
+        });
       });
     &lt;/script&gt;
     
   &lt;/head&gt;
   &lt;body&gt;
-    &lt;h1 style=&quot;float:left&quot;&gt;axono.me&lt;/h1&gt;
+    &lt;div id=&quot;shadow&quot;&gt;&lt;/div&gt;
     &lt;div id=&quot;board&quot;&gt;&lt;/div&gt;
-    &lt;p style=&quot;clear:both;&quot;&gt;&lt;a href=&quot;http://github.com/elbowdonkey/axonome&quot;&gt;http://github.com/elbowdonkey/axonome&lt;/a&gt;&lt;/p&gt;
-    &lt;p&gt;axono.me is a lightweight open source Javascript isometric pixel art grid library. See the &lt;a href=&quot;demos/&quot;&gt;demos&lt;/a&gt;.&lt;/p&gt;
+    &lt;div id=&quot;content&quot;&gt;
+      &lt;h1&gt;axono.me&lt;/h1&gt;
+      &lt;p&gt;axono.me is a jQuery plugin designed to help you make isometric pixel art style tile based games and other oddities. See the &lt;a href=&quot;demos/&quot;&gt;demos&lt;/a&gt;.&lt;/p&gt;
+      &lt;p&gt;&lt;a href=&quot;http://github.com/elbowdonkey/axonome&quot;&gt;http://github.com/elbowdonkey/axonome&lt;/a&gt;&lt;/p&gt;
+      &lt;h2&gt;Features&lt;/h2&gt;
+      &lt;ul&gt;
+        &lt;li&gt;fully test driven using &lt;a href=&quot;http://github.com/nathansobo/screw-unit&quot;&gt;Screw Unit&lt;/a&gt;&lt;/li&gt;
+        &lt;li&gt;small footprint&lt;/li&gt;
+        &lt;li&gt;a* pathfinding&lt;/li&gt;
+        &lt;li&gt;silly things, like a letter renderer&lt;/li&gt;
+      &lt;/ul&gt;
 
-    &lt;h2&gt;Features&lt;/h2&gt;
-    &lt;ul&gt;
-      &lt;li&gt;fully test driven using &lt;a href=&quot;http://github.com/nathansobo/screw-unit&quot;&gt;Screw Unit&lt;/a&gt;;&lt;/li&gt;
-      &lt;li&gt;small, essentials-only footprint;&lt;/li&gt;
-    &lt;/ul&gt;
-
-    &lt;h2&gt;Browser Support&lt;/h2&gt;
-    &lt;p&gt;axono.me has been tested using Safari 4 and Firefox 3.&lt;/p&gt;
+      &lt;h2&gt;Browser Support&lt;/h2&gt;
+      &lt;p&gt;axono.me has been tested using Safari 4 and Firefox 3.&lt;/p&gt;
 
-    &lt;h2&gt;Examples&lt;/h2&gt;
+      &lt;h2&gt;Examples&lt;/h2&gt;
 
     &lt;p&gt;Here's how you'd render a 6x6 isometric grid using jQuery.&lt;/p&gt;
     &lt;div id=&quot;example&quot;&gt;
-&lt;pre class=&quot;textmate-source twilight&quot;&gt;&lt;span class='linenum'&gt;    1&lt;/span&gt; &lt;span class=&quot;text text_html text_html_basic&quot;&gt;&lt;span class=&quot;source source_js source_js_embedded source_js_embedded_html&quot;&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_js&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;meta meta_brace meta_brace_round meta_brace_round_js&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;support support_class support_class_js&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;meta meta_brace meta_brace_round meta_brace_round_js&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js&quot;&gt;.&lt;/span&gt;ready&lt;span class=&quot;meta meta_brace meta_brace_round meta_brace_round_js&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;storage storage_type storage_type_js&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;meta meta_brace meta_brace_round meta_brace_round_js&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;meta meta_brace meta_brace_curly meta_brace_curly_js&quot;&gt;{&lt;/span&gt;
-&lt;span class='linenum'&gt;    2&lt;/span&gt;    &lt;span class=&quot;storage storage_type storage_type_js&quot;&gt;var&lt;/span&gt; iso &lt;span class=&quot;keyword keyword_operator keyword_operator_js&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;meta meta_class meta_class_instance meta_class_instance_constructor&quot;&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_new keyword_operator_new_js&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;entity entity_name entity_name_type entity_name_type_instance entity_name_type_instance_js&quot;&gt;Iso&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;meta meta_brace meta_brace_round meta_brace_round_js&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;constant constant_numeric constant_numeric_js&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;constant constant_numeric constant_numeric_js&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_js&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js&quot;&gt;'&lt;/span&gt;#board&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js&quot;&gt;'&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;meta meta_brace meta_brace_round meta_brace_round_js&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js&quot;&gt;;&lt;/span&gt;
-&lt;span class='linenum'&gt;    3&lt;/span&gt;    &lt;span class=&quot;storage storage_type storage_type_js&quot;&gt;var&lt;/span&gt; grid &lt;span class=&quot;keyword keyword_operator keyword_operator_js&quot;&gt;=&lt;/span&gt; iso&lt;span class=&quot;meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js&quot;&gt;.&lt;/span&gt;grid&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js&quot;&gt;;&lt;/span&gt;
-&lt;span class='linenum'&gt;    4&lt;/span&gt;    iso&lt;span class=&quot;meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js&quot;&gt;.&lt;/span&gt;render&lt;span class=&quot;meta meta_brace meta_brace_round meta_brace_round_js&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js&quot;&gt;;&lt;/span&gt;
-&lt;span class='linenum'&gt;    5&lt;/span&gt;&lt;span class=&quot;meta meta_brace meta_brace_curly meta_brace_curly_js&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;meta meta_brace meta_brace_round meta_brace_round_js&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
+&lt;pre class=&quot;textmate-source twilight&quot;&gt;&lt;span class='linenum'&gt;1&lt;/span&gt; &lt;span class=&quot;text text_html text_html_basic&quot;&gt;&lt;span class=&quot;source source_js source_js_embedded source_js_embedded_html&quot;&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_js&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;meta meta_brace meta_brace_round meta_brace_round_js&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;support support_class support_class_js&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;meta meta_brace meta_brace_round meta_brace_round_js&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js&quot;&gt;.&lt;/span&gt;ready&lt;span class=&quot;meta meta_brace meta_brace_round meta_brace_round_js&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;storage storage_type storage_type_js&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;meta meta_brace meta_brace_round meta_brace_round_js&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;meta meta_brace meta_brace_curly meta_brace_curly_js&quot;&gt;{&lt;/span&gt;
+&lt;span class='linenum'&gt;2&lt;/span&gt;    &lt;span class=&quot;storage storage_type storage_type_js&quot;&gt;var&lt;/span&gt; iso &lt;span class=&quot;keyword keyword_operator keyword_operator_js&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;meta meta_class meta_class_instance meta_class_instance_constructor&quot;&gt;&lt;span class=&quot;keyword keyword_operator keyword_operator_new keyword_operator_new_js&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;entity entity_name entity_name_type entity_name_type_instance entity_name_type_instance_js&quot;&gt;Iso&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;meta meta_brace meta_brace_round meta_brace_round_js&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;constant constant_numeric constant_numeric_js&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;constant constant_numeric constant_numeric_js&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;string string_quoted string_quoted_single string_quoted_single_js&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js&quot;&gt;'&lt;/span&gt;#board&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js&quot;&gt;'&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;meta meta_brace meta_brace_round meta_brace_round_js&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js&quot;&gt;;&lt;/span&gt;
+&lt;span class='linenum'&gt;3&lt;/span&gt;    &lt;span class=&quot;storage storage_type storage_type_js&quot;&gt;var&lt;/span&gt; grid &lt;span class=&quot;keyword keyword_operator keyword_operator_js&quot;&gt;=&lt;/span&gt; iso&lt;span class=&quot;meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js&quot;&gt;.&lt;/span&gt;grid&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js&quot;&gt;;&lt;/span&gt;
+&lt;span class='linenum'&gt;4&lt;/span&gt;    iso&lt;span class=&quot;meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js&quot;&gt;.&lt;/span&gt;render&lt;span class=&quot;meta meta_brace meta_brace_round meta_brace_round_js&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js&quot;&gt;;&lt;/span&gt;
+&lt;span class='linenum'&gt;5&lt;/span&gt;&lt;span class=&quot;meta meta_brace meta_brace_curly meta_brace_curly_js&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;meta meta_brace meta_brace_round meta_brace_round_js&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
     &lt;/div&gt;
     &lt;p&gt;The Iso object handles rendering as well as representing the grid as Javascript objects.&lt;/p&gt;
     
@@ -142,5 +87,7 @@
     &lt;/ul&gt;
     
     &lt;div id=&quot;license&quot;&gt;&lt;p&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/3.0/us/&quot;&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width:0&quot; src=&quot;http://creativecommons.org/images/public/somerights20.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; property=&quot;dc:title&quot;&gt;axono.me&lt;/span&gt; by &lt;a xmlns:cc=&quot;http://creativecommons.org/ns#&quot; href=&quot;http://axono.me&quot; property=&quot;cc:attributionName&quot; rel=&quot;cc:attributionURL&quot;&gt;Michael Buffington&lt;/a&gt; is licensed under a &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/3.0/us/&quot;&gt;Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
+    
+    &lt;/div&gt;
   &lt;/body&gt;
 &lt;/html&gt;</diff>
      <filename>index.html</filename>
    </modified>
    <modified>
      <diff>@@ -92,7 +92,7 @@ function A(x,y,grid) {
         var node_x = neighbor_node[&quot;x&quot;];
         var node_y = neighbor_node[&quot;y&quot;];
         var node_z = neighbor_node[&quot;z&quot;];
-        var increment_g_by = this.is_it_diagonal(current_node,neighbor_node) ? 24 : 10;
+        var increment_g_by = this.is_it_diagonal(current_node,neighbor_node) ? 14 : 10;
         
         neighbor_node[&quot;g&quot;] = increment_g_by;
         </diff>
      <filename>lib/a.js</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 function Grid(width,height,options) {
-  var  floor = Math.floor
+  var floor = Math.floor
   var random = Math.random;
   this.grid = new Array();
   this.width = width;
@@ -26,6 +26,24 @@ function Grid(width,height,options) {
     var index = x + &quot;_&quot; + y + &quot;_&quot; + z;
     return this.nodes[index];
   }
+  
+  this.column = function(x,z) {
+    var column = new Array();
+    for (var y=0; y &lt; this.height; y++) {
+      var index = x + &quot;_&quot; + y + &quot;_&quot; + z;
+      column.push(this.nodes[index]);
+    }
+    return column;
+  }
+  
+  this.row = function(y,z) {
+    var row = new Array();
+    for (var x=0; x &lt; this.width; x++) {
+      var index = x + &quot;_&quot; + y + &quot;_&quot; + z;
+      row.push(this.nodes[index]);
+    }
+    return row;
+  }
 }
 
 //TODO: don't need this anymore?</diff>
      <filename>lib/grid.js</filename>
    </modified>
    <modified>
      <diff>@@ -4,8 +4,8 @@
     var defaults = $.fn.iso.defaults;
     $.fn.iso.grid = new Grid(defaults.max_x,defaults.max_y,defaults);
     
-    for (var i=0; i &lt; options.unwalkables.length; i++) {
-      $.fn.iso.grid.nodes[options.unwalkables[i]].walkable = false;
+    for (var i=0; i &lt; defaults.unwalkables.length; i++) {
+      $.fn.iso.grid.nodes[defaults.unwalkables[i]].walkable = false;
     };
     
     $.fn.iso.nodes = $.fn.iso.grid.nodes;
@@ -38,7 +38,9 @@
     labels: true,
     tile_offset: [262,0],
     layers: 1,
-    iso_tile_height:  5
+    iso_tile_height:  5,
+    unwalkables: [],
+    render_all: true
   };
   
   var defaults = $.fn.iso.defaults;
@@ -51,17 +53,29 @@
       var node = nodes[key];
       var id = 'tile_' + key;
       var label = (defaults.labels) ? id : '';
+      
+      if (defaults.render_all == false) {
+        if (node.walkable != true) {
+          $(container).append('&lt;div class=&quot;layer_' + node.z + '&quot; id=&quot;' + id + '&quot;&gt;&lt;/div&gt;');
+          $('#' + id).css({
+            zIndex: node.zindex,
+            left: (node.left+defaults.tile_offset[0]) + 'px',
+            top: (node.top - (node.z * defaults.iso_tile_height)) + 'px'
+          }).data(&quot;xyz&quot;, [node.x,node.y,node.z]);
+          $('#' + id).addClass('dirt');
+        }
+      } else {
+        $(container).append('&lt;div class=&quot;layer_' + node.z + '&quot; id=&quot;' + id + '&quot;&gt;&lt;/div&gt;');
 
-      $(container).append('&lt;div id=&quot;' + id + '&quot;&gt;' + label + '&lt;/div&gt;');
-
-      $('#' + id).css({
-        zIndex: node.zindex,
-        left: (node.left+defaults.tile_offset[0]) + 'px',
-        top: (node.top - (node.z * defaults.iso_tile_height)) + 'px'
-      }).data(&quot;xyz&quot;, [node.x,node.y,node.z]);
+        $('#' + id).css({
+          zIndex: node.zindex,
+          left: (node.left+defaults.tile_offset[0]) + 'px',
+          top: (node.top - (node.z * defaults.iso_tile_height)) + 'px'
+        }).data(&quot;xyz&quot;, [node.x,node.y,node.z]);
       
-      if (node.walkable != true) {
-        $('#' + id).addClass('dirt');
+        if (node.walkable != true) {
+          $('#' + id).addClass('dirt');
+        }
       }
     };
     </diff>
      <filename>lib/jquery.iso.js</filename>
    </modified>
    <modified>
      <diff>@@ -8,6 +8,7 @@ function Node(x,y,z,grid,options) {
   this.iso_height = 0;
   this.iso_width = 0;
   this.walkable = true;
+  this.id = this.x + &quot;_&quot; + this.y + &quot;_&quot; + this.z;
   
   if (options) {
     if (options.tile_width &amp;&amp; options.tile_height) {
@@ -71,7 +72,8 @@ function Node(x,y,z,grid,options) {
     depth: this.calculate_depth(),
     zindex: this.zindex(),
     left: this.left(),
-    top: this.top()
+    top: this.top(),
+    id: this.id
   }
 }
 </diff>
      <filename>lib/node.js</filename>
    </modified>
    <modified>
      <diff>@@ -5,17 +5,6 @@ Screw.Unit(function(c) { with(c) {
     before(function() {
       defaults.layers = 2;
       grid = new Grid(3,3,defaults);
-      // nodes = [
-      //   new Node(0,0,0, grid, defaults),
-      //   new Node(1,0,0, grid, defaults),
-      //   new Node(2,0,0, grid, defaults),
-      //   new Node(0,1,0, grid, defaults),
-      //   new Node(1,1,0, grid, defaults),
-      //   new Node(2,1,0, grid, defaults),
-      //   new Node(0,2,0, grid, defaults),
-      //   new Node(1,2,0, grid, defaults),
-      //   new Node(2,2,0, grid, defaults)
-      // ]
       nodes = grid.nodes;
     });
     
@@ -32,17 +21,37 @@ Screw.Unit(function(c) { with(c) {
       expect(grid.node(0,0,0)).to(equal,grid.nodes[&quot;0_0_0&quot;]);
       expect(grid.node(0,0,1)).to(equal,grid.nodes[&quot;0_0_1&quot;]);
     });
+    
+    it('should return a column of nodes', function() {
+      var column = grid.column(0,0); // x,z
+      expect(column).to(equal,[grid.nodes[&quot;0_0_0&quot;],grid.nodes[&quot;0_1_0&quot;],grid.nodes[&quot;0_2_0&quot;]]);
+      
+      var column = grid.column(1,0); // x,z
+      expect(column).to(equal,[grid.nodes[&quot;1_0_0&quot;],grid.nodes[&quot;1_1_0&quot;],grid.nodes[&quot;1_2_0&quot;]]);
+      
+      var column = grid.column(0,1); // x,z
+      expect(column).to(equal,[grid.nodes[&quot;0_0_1&quot;],grid.nodes[&quot;0_1_1&quot;],grid.nodes[&quot;0_2_1&quot;]]);
+    });
+    
+    it('should return a row of nodes', function() {
+      var row = grid.row(0,0); // y,z
+      expect(row).to(equal,[grid.nodes[&quot;0_0_0&quot;],grid.nodes[&quot;1_0_0&quot;],grid.nodes[&quot;2_0_0&quot;]]);
+      
+      var row = grid.row(1,0); // y,z
+      expect(row).to(equal,[grid.nodes[&quot;0_1_0&quot;],grid.nodes[&quot;1_1_0&quot;],grid.nodes[&quot;2_1_0&quot;]]);
+      
+      var row = grid.row(0,1); // y,z
+      expect(row).to(equal,[grid.nodes[&quot;0_0_1&quot;],grid.nodes[&quot;1_0_1&quot;],grid.nodes[&quot;2_0_1&quot;]]);
+    });
   });
   
   describe('Grid; with options', function() {
-    // it('should be able to created using options hash', function() {
-    //   grid = new Grid({width:3, height:3});
-    //   
-    //   expect(grid.width()).to(equal,3);
-    //   expect(grid.height()).to(equal,3);
-    // });
-    
-    // TODO: some nodes should be walkable, some should not be
+    it('should be able to created using options hash', function() {
+      grid = new Grid(3,3,{foo:3});
+      expect(grid.width).to(equal,3);
+      expect(grid.height).to(equal,3);
+    });
+
     it('should return a range of nodes', function() {
       grid = new Grid(6,6,defaults);
       var nodes = grid.range(1,1,2,2,0);</diff>
      <filename>spec/grid_spec.js</filename>
    </modified>
    <modified>
      <diff>@@ -28,6 +28,10 @@ Screw.Unit(function(c) { with(c) {
       
     });
     
+    it('should have an id', function() {
+      expect(node_a.id).to(equal,&quot;0_0_0&quot;);
+    });
+    
     it('should belong to a grid', function() {
       expect(node_a.grid).to(equal,grid);
     });</diff>
      <filename>spec/node_spec.js</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>09eadeba39383e621550b3152a208c241e384bf3</id>
    </parent>
  </parents>
  <author>
    <name>Michael Buffington</name>
    <email>michael.buffington@gmail.com</email>
  </author>
  <url>http://github.com/elbowdonkey/axonome/commit/bf94958243d2f4e17538e6f928f50d1bf4d28ba6</url>
  <id>bf94958243d2f4e17538e6f928f50d1bf4d28ba6</id>
  <committed-date>2009-10-06T20:52:45-07:00</committed-date>
  <authored-date>2009-10-06T20:52:45-07:00</authored-date>
  <message>flux, as usual - added silly letters class as well untested</message>
  <tree>04e3d2d70237d5a78b7a2ecc33c331999caaad2b</tree>
  <committer>
    <name>Michael Buffington</name>
    <email>michael.buffington@gmail.com</email>
  </committer>
</commit>
