Media Design Notes -*- mode: outline -*-

* Tile system
** Classes
Tile
TileSet

TileManager
TileSetRepository

TileSetIDBroker

XMLTileSetParser

TileSetBundle
BundledTileSetRepository
TileSetBundler

** Tile management
Managing tilesets by id involves creating tileset bundles from XML tileset
descriptions.

Tileset bundles contain both the tileset images and the tileset metadata
(in the form of serialized tileset classes?)

Tileset bundle creation maintains a stable tileset name to tileset id
mapping through the use of a TileSetIDBroker which maintains the name to
id mapping (in a database or however it likes)

Sample tileset XML description (for uniform tiles):

<tileset type="uniform" name="Tileset name">
  <imagepath>foo/bar/tiles.png</imagepath>
  <width>64</width>
  <height>48</height>
  <tileCount>16</tileCount>
</tileset>

* 01/07/2003
** Image management refactor
x TileSet:ImageProvider needs to provide colorized images
! Probably give tilesets the ImageManager since they have to give the
  ImageManager reference to the Tile so that it can lock its colorized
  source image
