Well, first of all, thanks for exposing our bug about embedding of projects with long names! ;~)
I didn’t run into any actual bugs, in brief testing. I checked whether using variable names x, y, or t in custom functions would confuse the plotter, and it didn’t. The only problems I had were in awkward user interfaces:
Consider auto-scaling especially the y axis but preferably also the x axis, so you don’t have to put those awkward "*100"s in the parametric functions. That is, compute all the function values without drawing them, record the max(abs(f(t)), and then actually plot f(t)*150/max. The trouble is that you’d have to draw and label the axes yourself.
The requirement to select four separate options from the submenu in order to define a custom function is a lot of trouble. Why can’t I just type foo(x)=3*x+7 and you extract the pieces?
I tried entering x(t)=x, instead of x(t)=t, which I think will be a common user error. The result was no plot at all, just silence. You should make sure there are no free variables in the function body, otherwise complain.
Likewise, but less significantly, it’d be nice if “3t” meant “3*t” instead of being treated as a variable.
The fact that the prompt for x(t) and for y(t) look almost the same makes it easy to get confused. I think you should echo “x(t)=” and the user’s function body before prompting for y(t).