I am basing the voxel node on two standards.  First, are the AVS standards 
for inputting voxel data, and the second is octree encoding.  I have 
mentioned the second because I feel that it will make such a node fit in 
with the other threads on this list stressing the importance of bandwidth. 
While I don't think that the Voxel node is something which will be used in 
many pages, so it won't fall under the idea of 3D to the masses, by using 
octree encoding, I believe we will gain appreciable compression over just 
depending upon straight gzip'ing of the ascii file.
at present I am envisioning the node to appear something like this:
FIELDTYPE
     UNIFORM         The data is a uniformly spaced, orthogonal set
     RECTILINEAR     The data is an orthogonal, but not necessarily 
                     equally spaced set
     IRREGULAR       Each element in the data set has its own coordinates
FILE FORMATS/DEFAULTS
     VoxelSet {
        fieldtype       UNIFORM #SFEnum
        dimensions      0       #SFLong          
        arrayLimits     0       #SFLong
        vectorLength    0       #SFLong
     # optional
        minimumExtents  0       #SFFloat
        maximumExtents  0       #SFFloat
        minimumData     0       #SFFloat
        maximumData     0       #SFFloat
     # end optional
     # for RECTILINEAR
        coordinates     0       #SFFloat
     # end RECTILINEAR
        data            0       #SFFloat
}
     "dimentions" is an SFLong field which represents the number of 
dimentions of the data.  "arrayLimits" is an SFLong field which holds the 
array limits for the data (this field is optional with the IRREGULAR 
fieldtype).  For example arrayLimits [ 25, 25, 25 ] would represent a 25 x 
25 x 25 voxel cube with the axis being X,Y,Z respectively.  "vectorLength" 
represents the number of values at each point in the field.  a '1' would 
represent a scalar value at each data point.  Values greater than '1' could 
represent a velocity vector, or temp-pressure-humidity measurements.  X,Y,Z 
order is implied for the dimentions = 1,2,3 respectively. 
     The optional values could be included in order to give the browser 
hints for bounding etc.  The "coordinates" gives the 
computational-to-physical transform for the rectilinear data sets.  The 
"data" field hold the SFFloat values for the voxels.  In UNIFORM and 
RECTILINEAR fields, the data is coordinate-less, presented in order from X 
to Z. ie: (1,1,1), (2,1,1), ..., (n,1,1), (1,2,1), ..., (n,m,1), (1,1,2), 
..., (n,m,p).  In IRREGULAR, each data point is presented with its 
coordinates.  ie: [1, 1, 1, 1.23, ...] for a voxel value of 1.23 at x=1 y=1 
z=1.
I hope this gives you some idea of where I am going with this.  I would 
appreciate any comments.  I have not included anything about an OCTREE 
fieldtype until I have some feedback on these basic types.
Cheers,
tim
        
---------------------------------------------
Timothy Ritchey          [email protected]
Jesus College            tel: (01)223 576-822
Cambridge                fax: (01)223 576-822
CB5 8BL                  
England