bbodi
NoteCalc 0.4.0
As a sidenote I would like to mention that NoteCalc is still in active (but slow) development, though I do it privately, and the next big release will be definitely this year.
Nice work btw!
But providing a standalone desktop/terminal version is on the list.
However, in the next release I might provide a desktop version.
Why WASM:
One of the primary goal of NoteCalc is to be easily accessible (e.g. it was mainly born because Soulver is MacOS only). So the browser-based client was obvious choice, and I chosed WASM for
- performance reasons
- to be able to use rust
- to avoid as much JS (and related technologies) as possible
Why Canvas:
I answered here: https://github.com/bbodi/notecalc3/issues/6#issuecomment-749...
In a previous versions, only the changed areas were re-rendered, but the code was much more complex and error-prone, and it did not bring any performance improvement, so now I just rerender everything, still excellent performance but much simpler code. However this is different for calculations, only changed/affected lines are reparsed and recalculated.
This serves well the primary goal of NoteCalc so I did not spend more time on it yet, but I am on the same page as you, and if NoteCalc will be feature-complete, I will give an other shot to arbitrarily large calculations/precision.
Unfortunately it seems units cannot be applied to function results. It must be fixed, I noted down, thanks!
Though, beside that, I think it provides some nice features. E.g. the matrix creation/editing functionality was born because I could not find a simple tool to double check my rendering calculations with.
But yes I admit it takes some time to get used to the colors and their meanings.
Currencies and exchange between them are on my feature list btw.
Pasting should work with simple texts, what was the issue? Don't hesitate to open an Issue in GitHub if something does not work. https://github.com/bbodi/notecalc3/issues
The reason is that the content of the note is stored in the URL so it is easy to share it by sending the url to friends. So the URL changes basically on every modification.
I add it to the fixlist.
But fortunately, the whole architecture was designed with the terminal in mind: - 99% of the functionalty is implemented as a lib, and just a tiny part is responsible for input and rendering, so it is very easy to write new frontend for it. - both the rendering and the input uses characters as a basic for coordinates, so it is easy to translate the render commands generated by the lib to the terminal.