<!DOCTYPE html>
<html>
 <head>
  <title>Canvas object -- VoxelDesc help</title> 
  <link rel="stylesheet" type="text/css" href="voxeldesc.css">
 </head>
 
 <body>
  <h1>Canvas object</h1>
  
  <h2>Properties</h2>
  
  <dl>
   <dt>.scene</dt>
   <dt>.camera</dt>
   <dt>.messages</dt>
   <dt>.showGrid</dt>
  </dl>
  
  <h2>Methods</h2>
  
  <dl>
   <dt>.repaint()</dt>
   <dd>(not chainable) call to repaint the canvas if it doesn't happen automatically; usually needed in the console.</dd>
   <dt>.export()</dt>
   <dd>(not chainable) renders the scene to a new BufferedImage object and returns it.</dd>
  </dl>
  
  <a href="index.html">Help home</a>
 </body>
</html>

<!DOCTYPE html>
<html>
 <head>
  <title>Canvas object -- VoxelDesc help</title> 
  <link rel="stylesheet" type="text/css" href="voxeldesc.css">
 </head>
 
 <body>
  <h1>Canvas object</h1>
  
  <h2>Properties</h2>
  
  <dl>
   <dt><a href="scene.html">.scene</a></dt>
   <dt><a href="camera.html">.camera</a></dt>
   <dd>These are the same objects you can also access directly as a convenience; they actually "live" inside the <a href="app.html">app object</a>.</dd>
   <dt>.messages</dt>
   <dd>The last 100 messages displayed, same as in the app object. The canvas only shows the last 16 though.</dd>
   <dt>.showGrid</dt>
  </dl>
  
  <h2>Methods</h2>
  
  <dl>
   <dt>.repaint()</dt>
   <dd>(not chainable) call to repaint the canvas if it doesn't happen automatically; usually needed in the console.</dd>
   <dt>.export()</dt>
   <dd>(not chainable) renders the scene to a new BufferedImage object and returns it.</dd>
  </dl>
  
  <a href="index.html">Help home</a>
 </body>
</html>

Add a couple of links.
Add a couple of links.