================================================================================
On connection, send 32-bit little endian int indicating memory requirements
(comsumed by nanoscale server before exec-ing vtkvis)
================================================================================
Requests:

screen bgcolor <r> <g> <b>
screen size <width> <height>

axis color <r> <g> <b>
     Set color of axis lines, labels, titles, ticks
axis grid <bool>
axis name <axis> <title>
axis units <axis> <units>
     Currently only supported when camera mode is not image mode
axis visible <axis> <bool>
     <axis> = x|y|z|all

camera mode <mode>
       <mode> = persp|ortho|image
camera ortho <x> <y> <width> <height>
       Supply world coordinate bounds of plot area for image camera mode
       Data is assumed to lie in XY plane (z = 0)
camera pan <x> <y>
       <x,y> world coordinates
camera reset <?all?>
       Option all resets orientation/rotation as well as pan/zoom/clip range
camera rotate <yaw> <pitch> <roll>
       Specify relative rotation in Euler angles (FIXME)
camera zoom <z>
       Specify zoom ratio

colormap add <colorMapName> <colorMap> <opacityMap>
	 colorMap = Tcl list of {value r g b} control points
         opacityMap = Tcl list of {value alpha} control points
colormap delete <?colorMapName?>

legend <colormapName> <legendTitle> <width> <height> <?datasetName?>
       Causes legend to be rendered and written back with labels and title

dataset add <datasetName> data follows <nbytes>
dataset delete <?datasetName?>
dataset getvalue world <x> <y> <z> <datasetName>
dataset getvalue pixel <x> <y> <datasetName>
        Use pixel for image camera mode
dataset opacity <val> <?datasetName?>
dataset visible <bool> <?datasetName?>

pseudocolor add <?datasetName?>
pseudocolor colormap <colormapName> <?datasetName?>
pseudocolor delete <?datasetName?>
pseudocolor edges <bool> <?datasetName?>
pseudocolor lighting <bool> <?datasetName?>
pseudocolor linecolor <r> <g> <b> <?datasetName?>
pseudocolor linewidth <val> <?datasetName?>
pseudocolor opacity <val> <?datasetName?>
pseudocolor visible <bool> <?datasetName?>

contour2d add numcontours <n> <?datasetName?>
contour2d add contourlist <list> <?datasetName?>
	  list = {isoval1 isoval2 isoval3...}
contour2d delete <?datasetName?>
contour2d lighting <bool> <?datasetName?>
contour2d linecolor <r> <g> <b> <?datasetName?>
contour2d linewidth <val> <?datasetName?>
contour2d opacity <val> <?datasetName?>
contour2d visible <bool> <?datasetName?>

polydata add <?datasetName?>
polydata color <r> <g> <b> <?datasetName?>
polydata delete <?datasetName?>
polydata edges <bool> <?datasetName?>
polydata lighting <bool> <?datasetName?>
polydata linecolor <r> <g> <b> <?datasetName?>
polydata linewidth <val> <?datasetName?>
polydata opacity <val> <?datasetName?>
polydata visible <bool> <?datasetName?>
polydata wireframe <bool> <?datasetName?>

================================================================================
Replies:

nv>image -type image -bytes <nbytes>
  <binary RGB data>
nv>legend <colormapName> <nbytes>
  <binary RGB data>
nv>dataset value world <x> <y> <z> <value>
nv>dataset value pixel <x> <y> <value>

================================================================================
Errors:

Prefixed with "VtkVis Server Error: "
Currently not guaranteed to be on a single line
