 
 (def default-rect-attributes
   (merge default-stroke-attributes
-         {:fill-opacity 0}))
+         {:fill-opacity 1.0}))
+
+; In principle, may differ from stroke attributes.
+(def default-line-attributes default-stroke-attributes)
+
+(def default-render-environment-options
+  {:width (:width default-svg-attributes)
+   :height (:height default-svg-attributes)
+   :margin 20
+   :size-spacing-ratio 0.5
+   :rect-attributes default-rect-attributes
+   :line-attributes default-line-attributes})
 
 (defn rect [attributes]
-  [:rect (merge attributes default-rect-attributes)])
+  [:rect (merge default-rect-attributes attributes)])
 
 (defn line [attributes]
-  [:line (merge attributes default-stroke-attributes)])
+  [:line (merge default-stroke-attributes attributes)])
 
 (defn svg
   "Given a render environment generated by render-environment, returns an SVG

      A higher margin will leave less space for cells.
    :viewbox - Optional. A map with :x, :y, :width, and :height keys. Used to
      generate the SVG viewbox attribute string.

  Values returned:
    :grid - The grid which is being rendered; rendering functions may use this
      for additional information. For instance, drawing connections between
      rooms is simplified when grid/find-cell is available.
    :width - Passed through from input options.
    :height - Passed through from input options.
    :viewbox - Passed through from input options.
    :margin - Passed through from input options.
    :cell-width - The width of each cell to be rendered.
    :cell-height - The height of each cell to be rendered.
    :cell-h-spacing - The horizontal space between each cell.

             :width 1000
             :height 800}})

(def default-stroke-attributes
  {:stroke "black"
   :stroke-width 20
