Hey yall!
I figure it’s about time to post about my first public hobby project, Sagitta. It started as a local copy of varkor’s quiver that I edited by hand to make tweaks here and there: maybe a UI edit one day, a keybinding tweak the next, an Electron wrapper after that, etc. Eventually it became interesting enough to put a bit more time into, and with access to LLMs, I could finally make more substantial edits.
I won’t claim that Sagitta is in any way better than quiver. I’ve used quiver for years, and the community behind it is capable of amazing things. Put simply, Sagitta wouldn’t exist if I hadn’t loved quiver first.
The name “sagitta” is Latin for “arrow”. It’s a bit on the nose, but fitting nonetheless.
The keybindings work Vim-ish, with heavy emphasis on the ish. This is because I am an Emacs user and only learned Vim later. The design aims to be efficient at editing diagrams, but, because I’m just one person, my taste isn’t even close to universal. So, there are settings to customise the keybindings to your liking.
The biggest behaviour change you can make out of the box is toggling spreadsheet mode. By default, the command layer is latched on and you have to press RET to enter label edits, as in quiver. In spreadsheet mode, if you’re not pressing a special key, keystrokes go directly to label edits and you have to press ; to enter the command menu.
If you want to see it work rather than read about it, there’s a walkthrough of that diagram key by key.
Future plans
The next update is going to be mostly ergonomics and polish. Now that it’s functional and at least a few friends are interested in using it, I’m just going to keep my office door open in case anyone swings by to complain about it. If you have any complaints, big or small, do feel free to email me!
The next feature update will probably be presets and templates.
I have to type spectral sequences every now and then, and quick setups for those, for exact sequences, and for chain complexes would be nice.
The command line, accessed through :, could have commands like :ss, :exact left, or :cc.
Maybe there’ll be a few well-known lemmas and examples as well.
Bigger plans are in store. The general format is rich with potential in my opinion, and I have an unreleased graph theory version that actually kinda works. It needs some tweaks, but eventually, I want to combine it and Sagitta into one engine with different programs lying overtop. I’d love to do a knot theory one and a more general-purpose editor based on the same interface, but I’m working on my PhD. Projects come as I need them, so graphs and commutative diagrams are the first on the docket.
Best,
Hailey