Added TODO items for the component API.
[tagua/yd.git] / TODO
blob123c0ef0560869bcc0a359c03fd8fc08462b8832
1 COMPONENT API:
3 * Create a partial interface for Variants
4 * Add Variants::getRepository
5 * Implement repository proxies
6 * Move chess types inside the chess plugin
7 * Add a IVariantLoader interface for the plugin system
9 FEATURES:
11 [DONE] * Play from any position.
12 [PARTIALLY DONE] * Implement a real SDI interface.
14 * Configuration dialog.
16   * General: language choice, automatically connect on startup, default variant, etc...
17   * Connection: manage ics connections and options.
18   * [DONE] Highlighting: manage highlighting patterns for the ics console.
19   * [DONE] Animations: animation speed, graphical effects, etc...
20   * [DONE] Theme: manage themes and theme options; choose default theme; associate themes with variants.
21   * [DONE] Movelist: colors, fonts, animations and graphical effects preferences.
22   * [PARTIALLY DONE] Clock: colors and fonts.
23   * [BROKEN] Engine: List of engines, with type, command line options, working path, etc...
25 * GUI Tuning.
27   Many things still have to be done to make the gui really user friendly (think about the Panda):
28   * Message boxes to notify the user of error, for instance while connecting.
29   * Restore a functional status bar.
30   [SKETCHED] * Add some game info between the pools (like "FICS, rated crazyhouse")
31   * Notify the user of Server/Engine events. I don't like the Babaschess-like popup when
32     i get a match request, i'd prefer an amarok-like notification.
34 CURRENT RELEASE:
36 [DONE] * Set up a decent installation system, maybe with a cool one-click windows (linux?) installer.
37 [MOSTLY DONE] * Improve default highlighting script.
38 [DONE] * Add support for multiple ICS interactions.
39 [MOSTLY DONE] * More robust ICS support: do not crash when testing invalid moves.
40 [DONE] * About dialog.
41 [DOME] * Choose an icon for the application.
43 FUTURE RELEASES:
45 * Better support for variants in pgn games
46 * Pgn game list
47 * Fix examination variant upgrade
48 * Game print support, through khtml?
49 * Ability to define a variant in some script language (ruby or lua or ...)
50 * Complete support for chess engines or variant specific AI.
51 * An advanced Edit Position mode, with the ability to edit a position for
52   an arbitrary variant, as well as the various flags such as the en passant
53   square,  etc...
54 * Improve Examine Mode and Observe Mode:
55   Movelist support for examination is not as extensive as it could, and I don't know if it will ever be.
56   Problems:
57   * [FIXED] Crash when going back to the starting position
58   * [FIXED] Moves are sometimes not correctly displayed even where there's enough information available.
59   Future possible features:
60   * Execute move immediately instead waiting the server response, when possible.
61     Note: this may prove hard to implement correctly, because one needs to filter out server responses
62     (after a suitable consistency check) so that they do not cause wrong updates if they come out when they
63     are already obsolete.
64   * Display variations correctly in the movelist, instead of always replacing mainline entries.
65     Note: hard to do, because the protocol sends very few information about the reason of a style12 update.