==============================================================================
===  TO DO  ==================================================================
==============================================================================
    Add polyline breaker to separate really long lines into chunks?
    Spin off KingLite into a J2SE 1.1 web applet
    Ball size rendering doesn't use persp. correction (v. small effect, anyhow)
  * Put a reasonable URL in KinLoader
    Support views (at least one)
    Move clipping into the View class
    Add basic help text
    Allow resorting of kinemage list?

==============================================================================
===  CHANGE LOG  =============================================================
==============================================================================

### 1.07 ###
- changed view transform to use division rather than bit shift so that we can
  go in finer steps than full powers of two.
  Required updates to KinLoader (view generation) and KinCanvas (ball drawing).
- changed zoom steps to 0.33 powers of two instead of 0.50 powers.

### 1.06 ###
- removed command that disables/enables double buffering (too useless)
- improved logic of pen events and enabled Z-translation
- changed menu choice names in KinLoader and KinCanvas
- changed event processing framework in KinCanvas to accomodate different modes.
  Toggling modes is driven by the FIRE button.
- added support for animations
- finished animation support by fixing a bug in KinLoader's group depth calc.

### 1.05 ###
- implemented thick lines
- changed manual double buffering to check for automatic dbl buf first
- changed "Hide" to "Show" rhetoric; sync show/hide list with view state
- made clipping steps coarser
- moved KingLite/Hai-KiNG into Java Subversion repository
- redid color palette with rounding to 5 bits per color only
- started documentation of binary format
- crucial change in file format: multi now comes first, and may be an "entity".
  Old files are no longer compatible with the new program.
- official program name will be KingLite; dir. still "haiking" for ease of nav.
- parser skips unrecognized entities
- added KGroup for groups/subgroups/lists, added support in parser
- added is/setOn() to KPoint for supporting on/off by groups
- made View check points to see if they're on or off during centerAndScale()
- removed hiding by point type and replaced it with group/etc. mechanisms

### 1.04 ###
- back buffer now notices screen size changes and adjusts
- old kin is discarded to free memory before new one is loaded
- kins can be loaded from URLs
- kins from URLs are stored locally
- loads can be done from multiple blocks to limit memory needed for buffers
- now allow user to hide points by type (lines/dots/labels/balls)

### 1.03 ###
- load all from PalmDataBase / RecordStore
- added double buffering (optional) to drawing engine
- allow deletion of RecordStores

### 1.02 ###
- experimented with loading from RecordStores and Palm DataBases

### 1.01 ###
- fixed flatland bug (include cz, shift-shift loss of precision)
- fixed (most) wild lines created by zooming in on polylines

### 1.00 ###
- created KingMain, KinCanvas, KPoint, and View
- basic rotation, zoom, clip of vectors and dots works
- added pickcenter function
- scale func now eliminates pts/vectors that won't be drawn in ANY orientation
- added loader for binary kinemage files
- created binary kin export for KiNG
- added new graphics types: thick lines and dots, balls, and labels
- moved pointIDs to a hashtable so must points don't allocate space for them
- added flatland translation
- added perspective rendering