README.md in straightedge-0.1.0 vs README.md in straightedge-0.1.1
- old
+ new
@@ -1,29 +1,71 @@
# straightedge
+[![Code Climate](https://codeclimate.com/github/jweissman/straightedge/badges/gpa.svg)](https://codeclimate.com/github/jweissman/straightedge)
+
* [Homepage](https://rubygems.org/gems/straightedge)
* [Documentation](http://rubydoc.info/gems/straightedge/frames)
* [Email](mailto:jweissman1986 at gmail.com)
## Description
-One idea is for this to house the reusable geometry logic in Ruby
+ Give me a compass and straightedge and I will conquer the world
+ [![Compass and Straightedge XKCD](http://imgs.xkcd.com/comics/compass_and_straightedge.png)](http://xkcd.com/866/)
+
+ Geometry primitives and graphical app (game) framework framework.
+
## Features
+ * Geometry toolkit
+ - extensible Compass
+ - Ruler (for measuring distances)
+
+ * Figures composed of points called Marks
+ - Line
+ - Quadrilateral
+ - Hexagon
+
+ * Some fledgling support for grids
+
+ * Some reactor-pattern framework platform components
+ to help standardize interfaces (see straightedge-gosu
+ and straightedge-canvas for examples)
+
## Examples
require 'straightedge'
+ # you need an adapter to actually render something
+ require 'straightedge-gosu'
+
+ class Example::GameController < Straightedge::Director
+ def current_scene
+ {
+ [200,300] => Quadrilateral.new(dimensions: [200,100], color: :green),
+ [200,305] => "rectangle",
+
+ [400,300] => Hexagon.new(scale: 40.0, color: :blue),
+ [400,305] => "hexagon"
+ }
+ end
+ end
+
## Requirements
+ Ruby 2.x should be enough
+
## Install
$ gem install straightedge
## Synopsis
- $ straightedge
+ Eventually it would be nice to support a CLI that wraps around tasks (note: not implemented yet)
+
+ $ straightedge create [app] — builds an example app skeleton
+ $ straightedge serve — stands up a canvas webserver
+ $ straightedge play — connects to local instance or plays through OpenGL adapter… etc
## Copyright
Copyright (c) 2014 Joseph Weissman