I'm pondering building a small app to help with creating complex MMF expressions, and wondered if anyone would find it useful.
The main feature is gonna be handling internal variables. So as an example, we want to estimate the length of a quadratic curve by finding the distance between all 3 points. Except that we want to alter the position of the middle point to give a more conservative estimate. So we create a new numeric expression and call it 'QuadLen', then we write:
//Rough length of quadratic curve
//Using the control point, plot the zenith of the curve.
That results in a formula that MMF can read. But because the app saved the word 'QuadLen' at the start, we can copy this expression (or the first part of it) back into the application. It will recognise the word 'QuadLen' and bring up the original expression from its own records (complete with any formatting, comments, etc that we used).
Dunno about additional features, but you'll obviously be able to write comments, etc.
He's finding the rough length of a quadratic curve by finding the distance between the start point and the approximate middle, and the approximate middle to the end point.
There was a reason why I went with Expression = Variable, but I can't remember what it was now, lol.
It's not an extension, just an app to run alongside MMF. Ideally, if enough people use it, CT will realise how much they need to include variables, comments and whitespace formatting in their own expression editor.
It's a good idea - I always try and use the fewest possible events/actions, but I'm not sure how well it would work. The problem is, I'm pretty sure there's a limit on the length of an expression, before it says "too complicated to understand" or something like that.
Also, in my experience (again, possibly just because I have a very old computer) very long expressions and esp. those with fastloops, can tend to go wrong quite often, even if they're written properly. I've had one event with a big long expression that just didn't work, yet when I split it into 2 it worked fine (just cutting/pasting - not changing anything).