         :added "2.2.6"}
   navigation-2d
   "Enables navigation over 2D sketch. Drag mouse to change the center of the
-  sketch and mouse wheel controls zoom. This middleware requires fun-mode.
+  sketch and mouse wheel controls zoom. This middleware requires [[fun-mode]].
 
   Customization
 
-  You can customize this middleware by providing map as
-  :navigation-2d option in defsketch/sketch. Map can have following
-  optional keys:
+  You can customize this middleware by providing a map as
+  `:navigation-2d` option in [[quil.sketch/defsketch]]/[[quil.sketch/sketch]].
+  The map can have the following optional keys:
 
-  :position - vector of 2 numbers, x and y - center of the screen.
-              Default is width/2, height/2.
+  * `:position` - vector of 2 numbers, x and y - center of the screen.
+                  Default is `width/2`, `height/2`.
 
-  :zoom - number indicating current zoom level. Default is 1.
+  * `:zoom` - number indicating current zoom level. Default is `1`.
 
-  Accessing position information from sketch
+  Accessing position information from a sketch
 
-  navigation-2d uses fun-mode under the hood so all position-related
+  [[navigation-2d]] uses [[fun-mode]] under the hood so all position-related
   information is stored in the state map. It means that you can access in
   draw/update/any handler and modify it if you need to. Position
-  information is a map which is stored under :navigation-2d key in the
-  state map. Position consists of 2 values: :position and :zoom.
+  information is a map which is stored under `:navigation-2d` key in the
+  state map. Position consists of 2 values: `:position` and `:zoom`.
   See \"Customization\" section above for more details.
 
-  Usage example:
-
+  Example:
+  ```
   (q/defsketch my-sketch
     ...
     :middleware [m/fun-mode m/navigation-2d])
-"
+  ```"
   [options]
   (navigation-2d/navigation-2d options))

    customization info below.

  * Keyboard:
    * w - go forward
    * s - go backward
    * a - strafe left
    * d - strafe right
    * space - go up
    * z - go down, can't bind to ctrl, limitation of Processing


  Customization

  You can customize this middleware by providing map as
  :navigation-3d option in defsketch/sketch. Map can have following
  optional keys:

  :position - vector of 3 numbers, initial camera position. Default
              is the same as in 'camera' function.

  :straight - vector of 3 numbers, direction you'll be looking at.
              Default is [0 0 -1] (looking down).

  :up - vector of 3 numbers, 'up' direction. Default is [0 1 0].

  :pixels-in-360 - number, mouse sensitivity. Defines how many pixels
                   you need to move/drag you mouse to rotate 360 degrees.
                   The less the number the more sensitive is mouse.
                   Default is 1000.

  :step-size - number, number of pixels you move on each key event (wasd).
               Default is 20.

  :rotate-on - keyword, either :mouse-dragged or :mouse-moved. Specifies
               on which mouse event camera should rotate. Default is
               :mouse-dragged.


  Accessing position information from sketch

  navigation-3d uses fun-mode under the hood  so all position-related
  information is stored in the state map. It means that you can access in
  draw/update/any handler and modify it if you need to. Position
  information is a map which is stored under :navigation-3d key in the
  state map. Position consists of 3 values: :position, :straight and :up.
  See \"Customization\" section above for more details.

  Usage example:

  (q/defsketch my-sketch
    ...
    :middleware [m/fun-mode m/navigation-3d])

  See wiki article for more(?) details:
  https://github.com/quil/quil/wiki/Navigation-3D"

        :ns "quil.middleware"
        :added "2.1.0"}
  fun-mode
  "Introduces `function mode`. Adds `update` function which takes current state
  and returns new state. Makes all other functions (`setup`, `draw`,
  `mouse-click`, etc) state-aware.
  See [wiki](https://github.com/quil/quil/wiki/Functional-mode-%28fun-mode%29)
  for more details."
  [options]
  (fun-mode/fun-mode options))

