KLO (Knot-Like Objects) software, version 0.8 alpha
This proper alpha version of the software is a bit more cleaned up than the old Windows-only version, but it still has a fair bit of refinement and fleshing-out to go; the download links for the Windows and Mac OS X versions are below. Current features include the following (see also the known issues, to-do list, and change log):
- Drawing of Kirby and knot diagrams: Drag the mouse with the left button down to draw, holding [Shift] to undercross (and overcrossing otherwise). After drawing what you'd like, press [Process] to process the diagram, after which any relevant parameters (handle type, framing, etc.) for each strand can be specified.
- Viewing diagrams: Drawing of anything not directly sketched by the user is performed via circle-packing. The face at infinity for each graphical component is chosen, by default, as a face of maximal size; should you wish to preserve the face at infinity as you work with a diagram, toggle the [∞] button to the top-right of the diagram, and you can invert a diagram to put another face at infinity by pressing  while highlighting that face. Zooming in/out are performed via the [I] and [O] keys, and holding [Spacebar] allows you to drag the canvas around (or you can use the scrollbars). Finally, the "Refresh" button re-circle-packs the diagram and fits it to the viewport, and the "Fit" button simply fits the contents without re-circle-packing.
- Navigation: The forward and back buttons to the top-right of the diagram allow you to step forward and back along your sequence of diagrams, with the moves on each diagram indicated and labeled above each diagram (if the graphical indication of the move interferes with what you're doing, display of moves can be toggled by clicking on the brown "move" text centered above the diagram).
- Reidemeister moves on diagrams: Click inside faces to perform Reidemeister I, II, and III moves, or click on an edge near a crossing and drag to an adjacent crossing to "push" a strand.
- Meta-Reidemeister moves: Right-click (command-click on Mac's) on a component to "focus" on that component and perform moves as above to that component with the other components carried along for the ride. [Shift]-right-click on additional components to extend the focus to them, and right-click anywhere off a component to reset the focus.
- Blow-ups can be performed in a number of ways. For convenience, clicking inside a clasp of the diagram performs the appropriate blowup and handle slides to undo the clasp. More general blowups can be performed by clicking the "Blowup" button: sketching an arc across the diagram and specifying an integer n, |n| blowups of the appropriate sign and handle-slides are performed to link the new components as specified by the arc (note that a free arc crossing nothing simply produces free components). As a shortcut, pressing [+] or [−] allows you to sketch an arc and automatically sets the coefficient as specified.
- Blowdowns of simple ±1-framed handles (no self-crossings, no interior crossings) are performed by clicking on the component. If focused on a component with no self-crossings, clicking inside the loop pushes all crossings into or out of the loop in preparation for blowdown.
- Arbitrary handle-slides between 2-handles can be performed via the [Handle slide] button, where the band specifying the handle slide is sketched as are knot components (draw the band in the direction desired, with the ends of the band overlapping the "from" and "to" components), after which the twist on the band (relative to the blackboard framing) can be specified.
- 1-Handles are represented by dotted components, and several moves involving 1-handles are available (no checking of initial sketches for knotted 1-handle components is done, at this point, so it's up to the user not to draw nonsense). First, 2-handles can be slid over 1-handles just as above. Also, 1-handles can be slid under other 1-handles, under certain restrictions: each component must have so self-crossings, and the band for the handle-slide can cross neither component except where it meets each at its ends (this is to avoid creation of knotted 1-handle components). A new button exists to introduce a canceling 1-handle/2-handle pair, the procedure for which is as follows: sketch the 2-handle as usual, then use the "slice" tool to draw an arc across the new component where you want the 1-handle to link on. Inversely, given any 1-handle having no intersections except a clasp with a 2-handle, clicking inside the clasp cancels the handles (any other 2-handles linked with the 1-handle must be manually slid out first; this may be automated in a future version). Finally, given any 1-handle or 0-framed 2-handle, pressing [S] while hovering over the component performs a surgery switching from one to the other.
- Saving and loading of your sequence of diagrams is done as usual from the File menu. The binary ".klo" files can be used interchangeably between the Windows and Mac versions of the software.
- Modification of your manipulation sequence is currently restricted to collapsing consecutive Reidemeister moves to single steps, available from the Sequence menu. You might find this to be useful before exporting or presenting your sequences, to tighten them up.
- Export of an individual diagram to a JPEG image or printable PDF figure, or of your entire sequence to HTML pages for easy online or offline viewing, are available from the Export menu. More exports to come!
- Computation of invariants from the [Invariants] menu: linking form signature for Kirby diagrams; and Seifert invariants, HOMFLY polynomial, and hyperbolic structure for knots. Some invariants (e.g., polynomials) can be clicked and copied to the clipboard as TeX, code, or html.
- Recovery of work lost to crashes (I'm not aware of any known crash situations at present, but this is an alpha version) is available upon the next running of the program, when you will be prompted whether you wish to recover the lost work from the last session.
Windows installation: Put the contents of the .zip file containing the executable and required runtimes into a folder, and run KLO.exe.
Mac OS X installation: The application bundle (with all required runtimes) is available as a disk image for OS X on
older 32-bit Intel systems.