Well, I just came out of an intensive three day hack session and it appears I made a thing:

https://bc.bodil.lol/

I'm not saying it's a gaming calculator, but it's damned useful for running the numbers in that kind of game. I guess most people scratch that itch with a spreadsheet, but my programmer brain obviously feels much more at home with a text editor and a bit of syntax, and that's what this is. A spreadsheet for nerds.

It's a pure client side web app, built on top of MathJS, so it does units, functions, trigonometry, matrices, etc out of the box, and CodeMirror, which reminds me I have to put the Emacs keymap in.

No React, no Tailwind, no slop, just carefully hand crafted browser tech and enough CSS to make you ill. Works on Firefox and Chromium and almost certainly not Safari. Please enjoy.

EDIT: I fixed it to make sure it works on Epiphany (aka GNOME Web), so fair bet it should now work on Safari too.

@bodil i'm getting

index.js:23 Uncaught ReferenceError: Temporal is not defined
at cs.makeIndex (index.js:23:72)
at An.withIndex (table.js:132:50)
at db.ts:22:6

on Chromium 143.0.7499.169 (Official Build) built on Debian GNU/Linux 13 (trixie) (64-bit)

@whitequark @bodil the caniuse table says Temporal was added in Chrome 144
@porglezomp @bodil maybe worth adding a polyfill? i don't know
@whitequark @porglezomp The size of the polyfill is non-trivial, so I added it as a lazy import out of charity for Safari users. Guess I should have tested it too.

@whitequark @porglezomp I may or may not have fixed it now. I honestly can't find a Chromium version old enough that'll run on my system (my Debian 12 and 13 distroboxes both have 146!) but the polyfill loads correctly now if I go window.Temporal = undefined at the start of the page, so fingers crossed, lol

It should console.log about having loaded it if it worked.