This page describes the current goals of the LibKSD project for future releases. This is intended as a technical description for people who follow our development. For a complete list of current features, see "What is LibKSD?".
This is the next major release. It is intended to be the first release on the road making a stable release. The code prior to now has helped us work out where we want to go, and now we are trying to get there. Before 0.1.0 is release, there will be a number of pre-releases so that we can get more feedback as we get closer.
- Replace the GNU make/autotools based build with an SCons based one.
- Rewrite the graphics core based on the new ImageIterator concept.
- Break up into distinct modules:
- Primarily this will be done by divoring the event, draw, and cycle subsystem from the concept of widgets. The SDL backend will convert SDL_Event objects into libksd specific ones which can be caught by registering a callback with TApplication.
- Move as much Widget code into a seperate libksd_widget module that dispatches events recieved from TApplication.
- Real module units that have there own Startup/Shutdown code.
- Dispence with the InputFilter concept. Its design is both broken and was never fully implemented either.
- Make libksd_widget into a distinct entity that simply provides a framework for easily building widget sets. It will have no dependancies on libsigc++.
- Seperate libksd_gui into its own code base with the libsigc++ dependancy.
- Include some obviously omitted features from SDL.
- Increase the modular seperation, removing as much from the core as possible.
- Rewrite pyksd to use Boot.Python and Pyste, covering all of the core.
- Rewrite as much stale cruft to the new design methodology:
- The sound sub-system.
- The plugin sub-system.
- Font lists.
- Update the docs. I want most of the core covered.
- Ensure portability:
- Release all the files required for performing an MS Windows build.
- Get a more complete pyksd code base.