Thanks! I don't know if it's unusually compact for web game dev, but I will take a victory lap on the vanilla JS "game engine" we built for this project. We get a lot of very Unity-like behavior in a much smaller package!
Not usually, but there is a peculiarity with making (effectively) 2D browser games in vanilla-ish HTML/CSS (no react etc) and canvas JS (max jquery) — the UI can be nearly code-free, and significant game graphics logic can be hooked up to HTML/CSS as well, and so the js can focus on actual core mechanic logic, + hooks into HTML events. Accomplishing the equivalent in a native game engine (Unity) or non-HTML rendering platform can take up several hundreds of additional lines without the addition of a bunch of frameworks perfectly suited to your game's UI and game-world organization (or vice versa).
This is very true! We try to lean hard into the unique strengths of browsers. We have a reasonably sophisticated custom engine managing all the game state stuff but the UI is basically just one HTML/CSS file. Implementing this fairly basic UI in Unity would be a headache, especially because of the nightmare that is mathematical function input. We just use Mathquill to solve that problem, the same library Desmos uses for their graphing stuff. Thank you open-source <3