     @type      = Thing
     @others    = {}
     @outlined  = false
+    @marges    = null
     unless @dontAdd
       uni = @universe
       uni.change = true

  f(x) for x in ar

dup = (obj) ->
  if ( obj instanceof Array )
    map obj, (o) -> dup o
  else if ( typeof obj == 'object' )

      return if isAbove then QT else 3 * QT
    if @y == t.y
      return if isBefore then 0 else PI
    theta = degrees acos abs( @x - t.x ) / @dist(t)
    if isAbove
      if isBefore then theta else 180 - theta
    else
      if isBefore then 360 - theta else 180 + theta
  relativeGeometry: (t) ->
    offset = @others[t.id]
    if offset
      distance: @universe.geoData[offset]
      sine:     @universe.geoData[offset + 1]
      cosine:   @universe.geoData[offset + 2]
      segment:  @universe.geoData[offset + 3]
    else
      'beyond maximum distance considered'

class Stone extends Thing
  constructor: ( location, options = {} ) ->
