Development
From Roadnav
There is a semi-official IRC channel, #roadnav on irc.freenode.net . Its not particularly busy, but if you wait long enough (particularly between 10pm and 2am EST US) then there will most likely be someone around to chat with about this stuff. Try highlighting the name of whoever happens to be in there.
Contents |
Getting Started
- Checkout LibRoadnav and Roadnav from the SVN repository
- Compiling information
Where is Roadnav going now?
There is a TODO list in Roadnav trunk, however it does not reflect the current focus of Roadnav development. This post to Roadnav-devel is an overview of the current thrust of development.
There is now an 'experimental' branch of Roadnav/libroadnav in SVN, that is getting some major changes done to it (and already has had some major changes done to it). There are a few key things that are happening before the next release (including repairing the experimental branch to match the functionality of mainline before release).
- Removal of US-only TIGER/line data, switch to OpenStreetMap (OSM)-only support
- Improved/more focused downloading of maps
- Complete redesign of the backend data storage (currently in TestConcepts)
- Hopefully compilation of maps should take far less time after this is complete!
Things that have been done already:
- Reorganized the source tree to be less flat, far too many things related to this to actually mention
- added update_build.sh to manage source code reorganization, and make build maintenance much easier
- Changed windows build files to point to c:\wxWidgets
- Removed anti-aliasing code (for the moment at least) due to problems with the new DC's in wx
- Improved DownloadThread to use less CPU
- Redesign of the MapControl:
- has threaded map rendering, the GUI no longer hangs when its drawing!
- Extremely improved/responsive zooming/scrolling of map
- Removed raster map tile caching as an experiment: see what kind of impact it has on memory/speed. This also makes a lot of the drawing stuff a lot simpler
- Created the "MapRenderSettings" class, to make passing rendering settings much easier, and this will (hopefully) get rid of dependencies on the MapControl as the end-all be-all
- Added a "MapLocations" class to manage the waypoints and tracks (renamed those also)
Unfortunately development has been slow, but its getting there. You can look at the 'TestConcepts' branch of libroadnav to see some ideas that are being worked on and will (hopefully)
Branches/Directories in SVN
Note: None of the main stuff builds at all. The TestConcepts directory does however.
http://roadnav.svn.sourceforge.net/viewvc/roadnav/libroadnav/branches/
- TestConcepts - Things that I'm planning on integrating into Roadnav
- Experimental - The branch of libroadnav that is in the process of being totally transformed
http://roadnav.svn.sourceforge.net/viewvc/roadnav/roadnav/branches/
- Experimental - The branch of roadnav (the gui) that is also in the process of being totally transformed. This currently builds, but there are a number of major bugs unless you're building in debug mode (in which case, there are still some bugs). However, improving this is not yet a focus until the backend is redone.
Resources
- Roadnav documentation is available describing the various classes and functions used by Roadnav.
- LibRoadnav documentation is also available describing the classes and functions available from the LibRoadnav library.
- Roadnav skin file documentation is available describing how to change Roadnav's appearance. (this will be changing in the near future, but you're still welcome to contribute)
- Development Tips and Tricks
If you'd like to help develop Roadnav, you're encouraged to join the Roadnav-devel mailing list. There's lots to do. New developers are always welcome. If you're going to undertake an item on the to-do list that will take a while, it's recommended you post a short note to the Roadnav-devel mailing list letting everyone know so that we don't have multiple people working on the same thing.
