Pre-release version 0.1a
This alpha version of the Kirby Calculator is now available for download here, in .zip format. The faster your machine, the better, but the software should run on any Windows XP system or better with a reasonable amount of memory (2gb or so). For now, simply unzip the file into a folder, which will contain the program (KC.exe) and a few support files; there's no installer as yet, so just run the executable in the folder and you're off!
Being an alpha version, there is no user's guide yet (see the posted YouTube demos), and the interface and functionality of the program are still fairly rough. However, some basic features are already available, including:
- Creation of Kirby diagrams
- Reidemeister and meta-Reidemeister moves on diagrams
- Blow-ups at clasps
- Blow-downs of simple ±1-framed handles (no self-crossings, no interior crossings)
- Simple handle-slide between 1-handles (the handles must share a face in the diagram)
- Saving and loading of diagrams (including the entire sequence of manipulations), in a plain-text ".kd" file
A few notes on the the software's limitations and future features are below. Please note that the core computational code for the manipulation of Kirby diagrams is entirely discrete and much more solid than the user interface; any issues that you observe with the program's behavior are byproducts of the interface, not the core code's ability to perform the operations (indeed, some Kirby diagram manipulations are not yet implemented, merely because they haven't been introduced into the user interface). Please let me know of any bugs you find, as eventually they'll all need to be eliminated (fswenton at middlebury dot edu); I've done a first pass on checking that it runs reasonably smoothly, but this is only an alpha-version of the software. Additionally, if you try out the software and think of things that you'd like it to do that I haven't mentioned below, please let me know—I'd be happy to hear your feedback! I can't promise any timeframe for turnaround on requests, but I will gather all requests that come in and keep them on my list for future development.
- All drawing is currently done via circle-packing, which has its limitations; in particular, it can be a bit slow for large diagrams (depending on the speed of your computer), and it cannot draw diagrams having certain pathologies (e.g., split diagrams). Long-term plans include elimination of circle-packing, which will allow both for proper handling of such diagrams and for more flexibility in the arrangement of diagrams.
Additionally (for now), a single unknotted component is simply drawn as a black circle, as a workaround for this circle-packing issue hasn't seemed worth bothering with. Note that even if a given diagram can't be drawn, you can still save the document and/or use [ctrl]-Z to step back to a previous diagram.
- When you resize a window, the drawing isn't automatically resized to fit; the circle-arrow "refresh" button along the top of the window will do this for you (this is currently done so as to avoid re-drawing the knot unless necessary, due to the speed of the circle-packing on slower machines).
- The user interface is very basic; a small bit of help as to commands is available on the window's status bar at the bottom, but no indication is given of what move you're selecting with a click, a click-and-drag, etc. In the future, more user feedback about what moves are available and what move you're about to perform will be included, but for now we just have an arrow for a cursor.
- When diagrams are being drawn, the mouse is hidden and manipulations are disabled. It is possible that the mouse cursor will not come back for your knot, due to the cursor not being properly restored; I'll make every effort to find and correct any such bugs.
- Of course, a great deal more functionality is yet to come, including more involved automatic manipulation and, eventually, searches for manipulations.