*Features to add to the interface
** Timeline indicates which strokes are selected
** buttons for:
*** select in time range
*** multiple selections in table
** faster repainting (faster computer?)

*What to store:
** We want a database that stores lots of sketches
** Query sketches
*** user
*** type or task e.g. floorplan-brainstorm
** We also want to be able to query strokes 
*** classification
*** other lables
** Define groupings
*** types like overtracing
*** objects: car, rectangle
** partof (e.g. storke or line is part of a rectangle)
** isa (e.g. stroke is a rectangle or line is a rod)


* Assumptions
** One user per sketch
** IsA is not necessary, just use partOf
   Since we generally say that a component is recognized as a more
   specific object and instantiate that object there are not isA's.
   To make this clear lets look at an example.  Normally people say
   that a rod is a line but instead we create an actual rod object
   that has one subpart which is the line.

* Stroke
** OID
** SketchID
** Point array or path
** Timestamp array
** (Force array)
** (PenPropertiesID)
** StrokeType
   Ink, gesture, deletedInk

* DeletionGestures
** Deletion ID
** Stroke deleted
** Deletion source
   e.g. click, scribble out, eraser, modifier key, application
** Stroke data
   if it was deleted via a deletion stroke


* Sketch
** SketchID
** TabletID
** Context e.g. brainstorm of floorplan
** UserID
** Gif image

* Tablet
** relationship between the digitizer and the display device
   This is important for mapping from coordinates to pixels and back on
   different devices.  Not sure what the data needs to be...
** (Supported data channels)
   or does this go with a stroke
** Input device 
   TabletPC, big pen, stylus, Mimio, mouse, laptop mouse, etc...

* User
** UserID
** Handedness
** Expertise?

* PenProperties
** Button pressed
** Eraser
** Ink thickness 
   (may vary from point to point for force senstitive strokes)
** Transparency
   (may vary from point to point for force senstitive strokes)

* PartOf
** piece OID
** composite OID

* IsA
** object OID
** isa OID

* OID
** OID
** ObjectType

* ObjectType
** ID
** Type (text)
   Square, overtracing, text, stroke
