diff --git a/docs/media/design.txt b/docs/media/design.txt new file mode 100644 index 000000000..dde9f7cb2 --- /dev/null +++ b/docs/media/design.txt @@ -0,0 +1,37 @@ +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): + + + foo/bar/tiles.png + 64 + 48 + 16 + diff --git a/docs/media/notes.txt b/docs/media/notes.txt new file mode 100644 index 000000000..6bb958356 --- /dev/null +++ b/docs/media/notes.txt @@ -0,0 +1,14 @@ +Media Notes -*- mode: outline -*- + +* Old notes +- Possibly modify TileSet to load images via image manager (move image + provider up to media so that image manager can use tileset's image + provider to load the image data) so that they can be cached (and more + importantly, flushed from the cache). Presently tilesets are loaded into + memory when tileset bundles are loaded and remain loaded forever. + +* 07/19/2002 +** Virtual media panel +- Make sure doLayout() is getting called soon enough to ensure that we + don't improperly scroll the wrong thing if we're hijacked while in the + middle of scrolling