The way those interesting things get from other people’s imagination to yours is, today, the net.
And, if you have great ideas… And you can’t share them…
Indeed, Andrew, your career (teaching) is based on sharing, and I know the net is important for that because I’ve been to your web page! The sciences in general depend vitally and fundamentally on sharing - and the net is the biggest advance in that since the printed word, I’d say.
I got Codea from the net. This conversation is on the net. The net is, in effect, a force multiplier.
I just hate to see Codea crippled in that regard.
And yes - per-pixel image stuff is dang slow. This is a classic example of things it’s worth the time for TLL to work on. I’ll go further - a low level code flood fill would be awesome too. I’m not saying these things are useless - I’m saying they’re probably less useful than TLL working on stuff we can’t do at all. (example - give us good GLSL access, and with some admittedly advanced work, we can do image compositing and antialias an such ourselves, at hardware-accelerated speeds)
Out of curiosity - what exactly did you want to antialias? There’s an antialiased line drawing routine I was thinking of trying, but I bailed when setContext then line() became reality. (indeed, the pic class was largely a placeholder until setContext came along - I think the only thing it does now that’s not better accomplished in another way is flood fill, and yes, it’s dog slow)
I was driving home this evening, thinking about this thread, and about “advanced” users and “beginners” (it’s a continuum, of course), and I thought back to airline safety instructions, of all things. They say, very specifically, if you’re traveling with children, and the cabin depressurizes, to put the oxygen mask on yourself first, then help the children. They say this, of course, because the children can’t help themselves, or you - by taking care of people who can help others first, everyone gets helped.
There is an analog to that here - TLL can work in features that allow their advanced users to write code that benefits the whole userbase (and perhaps pinpoint code we can’t do with high performance) - or they can write code to do simple things we can already do, but maybe faster. That’s lovely - but only helps the fraction of the userbase doing that specific type of coding - the features are more specific in application, less general. Writing a fast filled n-gon routine is great for anyone who needs fast n-gons - and useless for anyone else. But exposing HTML/svg/glsl/camera/gps/whatever is of general utility.
To put it another way -TLL should put the oxygen masks on those who can help others first. (this is NOT intended as a slight on beginners - we all began once, and some of them will go on to teach and help in turn. We stand on the shoulders of giants…)
Besides - I think I can do fast (faster anyway) filled n-gons (or ploys in general) with image() and rect() and rotate() and clip() (to get arbitrary triangles) and setContext() (to composite). The general use routines solve many problems specific-use code would not.
You’re a mathematician, Andrew - I’m just suggesting that solving for the general case (if possible) is usually more useful than solving for the specific.