Kalulu

These are the currently planned additions and enhancements to Kalulu for Windows. This list does not imply any order of production or any timetable

  • Save all input accented characters in .PRB and .XML files properly.
  • Stop forcing filenames into lower-case on saving.
  • Cause buttons to pop back up after the function they start has finished.
  • Warn when opening invalid .PRB and .XML files.
  • Add 'recent files' facility.
  • Weed out short variations in threats too.
  • A short solution does not count as an intended solution and makes the problem unsound.
  • All mating promotion duals will be displayed unless a new option 'promotion duals' is switched off.
  • Add a ‘Shallow threat compare’ (or ‘Deep threat compare’ option if I decide to default the other way). See ‘Solving options’ section in the manual.
  • Promotion mating duals (as d8=Q,R or d8=Q,B) and promotion refutation duals (as d1=Q,R or d1=Q,B) to be shown (and counted) as single moves.
  • Add a ‘virtual threats’ option. Virtual threats only shown (and indicated as such) if this option is selected.
  • Add a ‘post key play’ option.
  • Add a 'No wK' option
  • Tighten up on validation of ep squares and castling rights.
  • Enhance the interface between Kalulu.jar and meson.exe so that Kalulu for Windows can solve any orthodox position that can be described in Forsyth notation. i.e. positions with promoted pieces.
  • Add export facility to RTF/PDF so that problems and solutions can be printed or emailed to those without Kalulu for Windows.
  • After solving, disable the ‘Solve’ button and only re-enable it when a change to the position or to the options has been made.
  • When saving, check that position/options are in sync with solution. Warn if not.
  • When closing a problem and when exiting Kalulu for Windows, check if any changes have been made and warn if they have.
  • Add a 'Forsythe' field that would update as positions are set up and that can be used to input positions which would then be reflected in the diagram.
  • Add options for solution display - ‘Explode All‘; ‘Explode Tries‘; ‘Explode Set‘; ‘Explode Actual‘. ‘Explode All’ defaulted for #2s and nothing defaulted for longer problems.
  • Add facility for user-delete of branches in the solution.
  • Multi-thread meson.exe to speed up solving by taking advantage of multiple cpus.
  • Add support for twins.
  • Add solving support for other stipulations:
    • Selfmate/Selfstalemate (S#/S=)
    • Helpmate/Helpstalemate (H#/H=)
    • HelpSelfmate/HelpSelfstalemate (HS#/HS=)
    • Reciprocal Helpmate/Reciprocal Helpstalemate (RECI-H#/RECI-H=)
    • Reflexmate/Reflexstalemate (R#/R=)
    • Semi-Reflexmate/Semi-Reflexstalemate (SEMI-R#/SEMI-R=)
    • SeriesMate/SeriesStalemate (SER-#/SER-=)
    • SeriesHelpmate/SeriesHelpStalemate (SER-H#/SER-H=)
    • SeriesReflexmate/SeriesReflexStalemate (SER-R#/SER-R=)
    • SeriesSelfmate/SeriesSelfstalemate (SER-S#/SER-S=)
    • SeriesSemiReflextmate/SeriesSemiReflexstalemate (SER-SEMI-R#/SER-SEMI-R=)

Developed and maintained by Brian Stephenson.
Implemented with HTML5, MySQL, Perl (with, inter alia, CGI::Simple, HTML::Template & XML::LibXML) & CSS/Javascript (jQuery, Bootstrap & DataTables).