-
Notifications
You must be signed in to change notification settings - Fork 477
TODO List
brownan edited this page Nov 28, 2011
·
21 revisions
Listing ideas here that have been brought up and generally agreed with, but not yet implemented. If you're looking to contribute to Overviewer but aren't sure where to start, this should help.
- Scan for inner-tiles to render with os.walk() instead of iterate_base4(). This will avoid checking tiles that don't and shouldn't exist.
- Save a "last rendered time" timestamp in overviewer.dat. This will allow us to determine which render-tiles need rendering without actually checking each tile's mtime on disk. It will also allow us to determine which inner-tiles need rendering with a single mtime on each tile (instead of checking each tile and its 4 children)
- Related to above: save in overviewer.dat a flag to determine if a render was interrupted. If a scan was determined to be interrupted, it should scan all inner-tiles for tiles to update. Otherwise, we can optimize and only render inner-tiles that have descendant render-tiles that were updated that render; skipping having to check each inner-tile's mtime and determining if it should be rendered.
- Optimize tile
stat()
calls. If/1/2/
doesn't exist, we already know1/2/3/4.jpg
doesn't exist, so we shouldn't bestat()
ing both.
- Re-factor overviewer.dat to use JSON instead of pickle.
- Move zoom level storage into the persistent storage (overviewer.dat), parsing it from overviewerConfig.js is somewhat silly.
- Reconsider the
--skip-js
option, ensure it is properly addressing the use-cases it is intended for. - Fix region coord/name caching. Regions (or just their addresses) are possibly getting cached twiced.
- Refactor/clean-up old overviewer code. The python code has grown very organically and is quite messy now. It would be nice to get it cleaned up (and better documented).
- Multi-world support. This is probably better called "multi region-set" support, since it's really for consolidating related sets of region files into one map.
- Nether dimension rendering. There has been at least one implementation of this but it was never merged in. This should probably wait for multi-world support though.
- Improve region scanning performance.
- Support variable block sizes.