jbf> TableDataSetConsumer should be renamed ZAxisDataSetComsumer or something like that DataSet.hasZAxis()? jbf> Suggested Properties for DataSets: spacecraft Spacecraft enumeration object xRange DataRange object suggestion yRange DataRange object suggestion defaultRenderer Renderer Object xOffset offsets to be applied to yscan mouseModules list of mouseModules that should be installed jbf> suggested logic for per-plane properties for das2Stream client-side DataSets: the data of the primary plane is merged with the stream and packet properties. name clashes to be resolved by using plane overrides packet overrides stream. jbf> suggest introduce getPropertyNames() method and policy that rebinners propogate the properties listed. Alternatively, this could be expressed as an optional property. eew> Agreed proeprties for DataSets xTagWidth Datum the extent of relevance of the x tags yTagWidth Datum " " " of the y tags introduce Units.percent, which is useful for specifying log width. rebinner Rebinner Object cacheTag Description of the start, end and resolution satisfied by this data set. plane-list java.util.List eew> Agreed plane identifiers peaks - peaks weights - rebinning weights (always dimensionless) uncertainty - errors plane Vector get(i)->Datum getDouble(i,Units)->double getUnits()->Units Table get(i,j)->Datum getDouble(i,j,Units)->double length(index)->int getUnits()->Units HyperTable // arbitrary rank rank()->int get(i,j,k,l)->Datum getDouble(i,j,k,l,Units)->double length(index)->int getUnits()->Units slice(index,idim)->HyperTable collapse(offset,length,idim)->HyperTable TableDataSet tableCount()->int getData(i)->Table getDepend(index)->String[] getTags(String,i)->Vector getPlane(name)->DataSet VectorDataSet getData->Vector getDepend()->String[] getTags(String)->Vector getPlane(name)->DataSet HyperTableDataSet slice or collapse to reduce to TableDataSet