Gathered OXT IDE posts
Forum rules
Be kind.
Be kind.
- richmond62
- Posts: 5234
- Joined: Sun Sep 12, 2021 11:03 am
- Location: Bulgaria
- Contact:
Re: The basis for an xtalk engine [I/we] control
At one time someone did release an LC stack to do Bezier curves: but I am not sure in what way it was licensed.
But curves for shapes in LCC 'pure' is not possible beyond distorting the Oval graphic.
This was discussed over the road late last year.
But curves for shapes in LCC 'pure' is not possible beyond distorting the Oval graphic.
This was discussed over the road late last year.
https://richmondmathewson.owlstown.net/
-
- Posts: 462
- Joined: Sat Sep 11, 2021 4:37 pm
- Contact:
Re: The basis for an xtalk engine [I/we] control
I have two on my drive, one from Mark Waddingham and another from Jim Hurley.richmond62 wrote: ↑Wed Mar 26, 2025 10:22 am At one time someone did release an LC stack to do Bezier curves: but I am not sure in what way it was licensed.
Both use polygons, acceptable on screen but not on any hi-res printer.
And neither has any licensing info at all, so they're unusable in any distributed work unless one reaches out to the author to obtain compatible licence.
- OpenXTalkPaul
- Posts: 2798
- Joined: Sat Sep 11, 2021 4:19 pm
- Contact:
Re: The basis for an xtalk engine [I/we] control
IANAL, but I think that is not exactly true, my understanding is that if the code was released open source (unprotected stack) for use with the FOSS community engine then it falls under the GPLv3 license of LC Community Edition (and OXT community engines inherited) license.FourthWorld wrote: ↑Wed Mar 26, 2025 11:01 amI have two on my drive, one from Mark Waddingham and another from Jim Hurley.richmond62 wrote: ↑Wed Mar 26, 2025 10:22 am At one time someone did release an LC stack to do Bezier curves: but I am not sure in what way it was licensed.
Both use polygons, acceptable on screen but not on any hi-res printer.
And neither has any licensing info at all, so they're unusable in any distributed work unless one reaches out to the author to obtain compatible licence.
But yeah, until Extension Builder Canvas and SVG support, there was no built-in way to arbitrary create true multi-points curved lines drawing with the engine, you can only make graphic objects that are ovals or arcs segments.
You could group a bunch of those together to create more complex arc. There's even a stack around that can convert fairly complex EPS files (Encapsulated Postscript) into groups of hundreds of Graphics shapes using that method. I have different few examples of creating brazier handles for editing curved path from various people, including Hermann Hoch (that means it was MIT licensed).
if you get 'the effective points of an oval or an arch you get a points list that draws an approximation of the curve using a bunch of straight lines rather than a smooth curve. And if you rasterize them to a pixel image they get the 'jaggies' or pixelated 'stair stepping'.
-
- Posts: 462
- Joined: Sat Sep 11, 2021 4:37 pm
- Contact:
Re: The basis for an xtalk engine [I/we] control
No such usage limitations were included.OpenXTalkPaul wrote: ↑Wed Mar 26, 2025 12:57 pmIANAL, but I think that is not exactly true, my understanding is that if the code was released open source (unprotected stack) for use with the FOSS community engine then it falls under the GPLv3 license of LC Community Edition (and OXT community engines inherited) license.FourthWorld wrote: ↑Wed Mar 26, 2025 11:01 amI have two on my drive, one from Mark Waddingham and another from Jim Hurley.richmond62 wrote: ↑Wed Mar 26, 2025 10:22 am At one time someone did release an LC stack to do Bezier curves: but I am not sure in what way it was licensed.
Both use polygons, acceptable on screen but not on any hi-res printer.
And neither has any licensing info at all, so they're unusable in any distributed work unless one reaches out to the author to obtain compatible licence.
Unexpressed intentions are ambiguous.
Clarity is provided when licensing is provided.
- OpenXTalkPaul
- Posts: 2798
- Joined: Sat Sep 11, 2021 4:19 pm
- Contact:
Re: The basis for an xtalk engine [I/we] control
It seems like you're saying that any sample code 'out in the wild' anywhere is not legally safe to use unless you know the license terms. That would basically render tons of code on the internet on sites and like Stack-Overflow virtually useless. LiveCode share site would've been entirely pointless and I would like any of my sample stacks removed from there if that's the case.FourthWorld wrote: ↑Wed Mar 26, 2025 4:37 pmNo such usage limitations were included.IANAL, but I think that is not exactly true, my understanding is that if the code was released open source (unprotected stack) for use with the FOSS community engine then it falls under the GPLv3 license of LC Community Edition (and OXT community engines inherited) license.
Unexpressed intentions are ambiguous.
Clarity is provided when licensing is provided.
The LC Community license, according to LC Mark, follows the WordPress take on licensing, which is that if the code relies on the LC engine to be functional, then it's a derivative work subject to the same GPLv3 license. Having had that dual-licensing scheme really muddies the water though.
- richmond62
- Posts: 5234
- Joined: Sun Sep 12, 2021 11:03 am
- Location: Bulgaria
- Contact:
Re: The basis for an xtalk engine [I/we] control
Err: and isn't GPLv3 pretty well 'grab it and run'?which is that if the code relies on the LC engine to be functional, then it's a derivative work subject to the same GPLv3 license.
Are ALL versions of the LC engine up to 9.6.3 GPLv3?
If that is the case I wonder what bits of the commercial LC distributions were NOT GPLv3.
FourthWorld (in his usual, charming fashion) suggested we should egt in touch with the authors of these stacks (just to cover our backs, even if nothing else).
I always understood (right from stacks I released back in 2002 with RunRev 1.0) that ANYTHING released vai the LC Use-List or the LC Forums was 'up for grabs'.
I'll leave the nit-picking about licences re stacks posted on public forums (for nit-picking is what it is) to FourthWorld and his team of experts.
Many, many years ago (erm 1983) I found a book in a junk shop in Crewkerne, in Somerset, that had been published in 1624 (that's a while ago), and bought it, and still have it, here in Bulgaria on one of my bookshelves. Now I subsequently published a section of it (about 20 pages) in an edition of 50 copies while I was at my first university (Durham) and sold it to my friends, lecturers, and several unsuspecting types who had a free pound. Later, I discovered that some wag had another copy of that book and had attempted to copyright it (whether they succeeded or not, I don't know) who sent me, via a lawyer (how the fudge they had got their sweaty paws on my edition escapes me), a "snotty" letter. I didn't bother to reply . . .
I don't know or care is that was a legal wrong on my part, but morally it was alright.

https://richmondmathewson.owlstown.net/
- richmond62
- Posts: 5234
- Joined: Sun Sep 12, 2021 11:03 am
- Location: Bulgaria
- Contact:
Re: The basis for an xtalk engine [I/we] control
https://revonline2.runrev.com/stack/693/Bezier-Line
https://livecodeshare.runrev.com/stack/ ... ier-curves
https://livecodeshare.runrev.com/stack/ ... copeBezier
One of the oddest features about livecodeshare is that there are NO licensing details.
https://livecodeshare.runrev.com/stack/ ... ier-curves
https://livecodeshare.runrev.com/stack/ ... copeBezier
One of the oddest features about livecodeshare is that there are NO licensing details.
https://richmondmathewson.owlstown.net/
- richmond62
- Posts: 5234
- Joined: Sun Sep 12, 2021 11:03 am
- Location: Bulgaria
- Contact:
Re: The basis for an xtalk engine [I/we] control
Using the thing that is coyly called 'Curve Graphic' results in nothing of the sort:
- - -
as while apparently providing a curved graphic actually provides a graphic object composed of points . . .
- - -
as while apparently providing a curved graphic actually provides a graphic object composed of points . . .
https://richmondmathewson.owlstown.net/
- richmond62
- Posts: 5234
- Joined: Sun Sep 12, 2021 11:03 am
- Location: Bulgaria
- Contact:
Re: The basis for an xtalk engine [I/we] control
This:
- -
is in actual fact some sort of a group.
Here it is ungrouped:
- -
And we can see that each component is, again, a graphic with points:
- -
Which is still NBG as it will produce jaggy "doo-dahs".
So: if you want REAL Bezier curves, don't worry about any licensing as it isn't worth having.
- -
is in actual fact some sort of a group.
Here it is ungrouped:
- -
And we can see that each component is, again, a graphic with points:
- -
Which is still NBG as it will produce jaggy "doo-dahs".
So: if you want REAL Bezier curves, don't worry about any licensing as it isn't worth having.
https://richmondmathewson.owlstown.net/
- richmond62
- Posts: 5234
- Joined: Sun Sep 12, 2021 11:03 am
- Location: Bulgaria
- Contact:
Re: The basis for an xtalk engine [I/we] control
As even my 63 year old eyes can see the jaggies with this one I'll not waste my time deconstructing it:
-
-
https://richmondmathewson.owlstown.net/
- richmond62
- Posts: 5234
- Joined: Sun Sep 12, 2021 11:03 am
- Location: Bulgaria
- Contact:
Re: The basis for an xtalk engine [I/we] control
Of course those 2 stacks were popped out in 2013.
So: time for Richmond to try some "silly buggers".
I downloaded this: https://www.svgrepo.com/svg/482800/caduceus-staff-icon
Imported it into a stack:
- -
Then I thought about effective points . . .
Yup: a load of cobblers:
-
So: time for Richmond to try some "silly buggers".
I downloaded this: https://www.svgrepo.com/svg/482800/caduceus-staff-icon
Imported it into a stack:
- -
Then I thought about effective points . . .
Yup: a load of cobblers:
-
https://richmondmathewson.owlstown.net/
-
- Posts: 462
- Joined: Sat Sep 11, 2021 4:37 pm
- Contact:
Re: The basis for an xtalk engine [I/we] control
Reading the text of that license would answer that question.richmond62 wrote: ↑Wed Mar 26, 2025 5:06 pmErr: and isn't GPLv3 pretty well 'grab it and run'?which is that if the code relies on the LC engine to be functional, then it's a derivative work subject to the same GPLv3 license.
The license accompanying a distributed work governs its use. With dual-licensed products like MySQL, LC, and others, different licenses may apply to different distributions. With any software, FOSS or proprietary, the license accompanying the work will determine how it can be used.If that is the case I wonder what bits of the commercial LC distributions were NOT GPLv3.
I do have a personal preference to live in a world where consent matters, and try to exemplify that.FourthWorld (in his usual, charming fashion) suggested we should egt in touch with the authors of these stacks (just to cover our backs, even if nothing else).
I employ no "team of experts", just make a reasonable good-faith effort to comply with established practice among FOSS professionals.I always understood (right from stacks I released back in 2002 with RunRev 1.0) that ANYTHING released vai the LC Use-List or the LC Forums was 'up for grabs'.
I'll leave the nit-picking about licences re stacks posted on public forums (for nit-picking is what it is) to FourthWorld and his team of experts.
For example, GitHub is one of the most popular repositories of FOSS works; their guidance may be useful:
https://docs.github.com/en/repositories ... repository
- tperry2x
- Posts: 3488
- Joined: Tue Dec 21, 2021 9:10 pm
- Location: Somewhere in deepest darkest Norfolk, England
- Contact:
Gathered OXT IDE posts
Creating this to put various gathered posts in, which are about our LCC-based IDE, rather than them being in topics about browser-based ones. (having a sort-out).
- richmond62
- Posts: 5234
- Joined: Sun Sep 12, 2021 11:03 am
- Location: Bulgaria
- Contact:
- richmond62
- Posts: 5234
- Joined: Sun Sep 12, 2021 11:03 am
- Location: Bulgaria
- Contact:
Re: Gathered OXT IDE posts
https://revonline2.runrev.com/stack/112/SVGL
Of course the imported result will NOT be a bezier curve; presumably, again, a jaggy compromise.If your Bezier data is uncompressed, then it´s relatively
straightforward to import them into LiveCode.
https://richmondmathewson.owlstown.net/
- tperry2x
- Posts: 3488
- Joined: Tue Dec 21, 2021 9:10 pm
- Location: Somewhere in deepest darkest Norfolk, England
- Contact:
Re: Gathered OXT IDE posts
Righto. You've reeled me in and I've took the bait.
The engine is not set to understand curves. As Paul has said, not without using LCB syntax. The standard engine just does not know how to display it.
If you increase the scale factor of that stack: It doesn't pixellate because each tiny part of it is made into a separate vector graphic. So although you don't get the 'jaggies' on a straight line, all the things that might look like ovals or circles are actually made out of a series of angular points. (because there's no true arc or curve support). This very clever script is working out what angular points it needs to plot to give the illusion of that.
Looking at it, yes - very impressive and very clever - but the issue is the limitation of the engine.The engine is not set to understand curves. As Paul has said, not without using LCB syntax. The standard engine just does not know how to display it.
If you increase the scale factor of that stack: It doesn't pixellate because each tiny part of it is made into a separate vector graphic. So although you don't get the 'jaggies' on a straight line, all the things that might look like ovals or circles are actually made out of a series of angular points. (because there's no true arc or curve support). This very clever script is working out what angular points it needs to plot to give the illusion of that.
- tperry2x
- Posts: 3488
- Joined: Tue Dec 21, 2021 9:10 pm
- Location: Somewhere in deepest darkest Norfolk, England
- Contact:
Re: Gathered OXT IDE posts
Here you can see all the graphics it generates:
Really clever, don't get me wrong - but it's a case of 'fake it until you can make it'. Having stared at the engine source code A LOT (when I was pulling my hair out with a mac compile), I can confirm there's no support in the standard engine for curves (bezier, quadratic, arc or otherwise).- OpenXTalkPaul
- Posts: 2798
- Joined: Sat Sep 11, 2021 4:19 pm
- Contact:
Re: Gathered OXT IDE posts
Yeah very clever work in those stacks like the SVGL importer, but as Richmond said, it's not worth even worrying about complying to any license for those stacks because they're actually working around shortcomings of that engine (created prior to LCB Canvas & SVG support in image controls).
Using a modern standard browser as the runtime engine we can instead wrap something like bezierCurveTo in xTalk-like syntax and have first class Bezier curves and we have plenty of code examples that are MIT or similarly liberal licensed.
Like this bezier editor: https://github.com/SuperDelphi/bezier-d ... me-ov-file
Live demo here:
https://frenchforge.fr/bezier/
Bézier curves are included in HTML5 Canvas API
https://www.w3schools.com/jsref/canvas_ ... urveto.asp
https://developer.mozilla.org/en-US/doc ... ierCurveTo
Here's a MIT licensed JS library for more drawing curves in a useful manner
https://pomax.github.io/bezierjs/
https://github.com/Pomax/bezierjs
BSD licensed
https://richardfuhr.neocities.org/BusyBCurves
More liberal licensed graphics visual stuff:
https://github.com/epistemex/cardinal-spline-js
https://mbostock.github.io/protovis/
https://threejs.org/examples/#webgl_geo ... ine_editor
https://jsfiddle.net/cordesmj/4e2am/
Using a modern standard browser as the runtime engine we can instead wrap something like bezierCurveTo in xTalk-like syntax and have first class Bezier curves and we have plenty of code examples that are MIT or similarly liberal licensed.
Like this bezier editor: https://github.com/SuperDelphi/bezier-d ... me-ov-file
Live demo here:
https://frenchforge.fr/bezier/
Bézier curves are included in HTML5 Canvas API
https://www.w3schools.com/jsref/canvas_ ... urveto.asp
https://developer.mozilla.org/en-US/doc ... ierCurveTo
Here's a MIT licensed JS library for more drawing curves in a useful manner
https://pomax.github.io/bezierjs/
https://github.com/Pomax/bezierjs
BSD licensed
https://richardfuhr.neocities.org/BusyBCurves
More liberal licensed graphics visual stuff:
https://github.com/epistemex/cardinal-spline-js
https://mbostock.github.io/protovis/
https://threejs.org/examples/#webgl_geo ... ine_editor
https://jsfiddle.net/cordesmj/4e2am/
-
- Posts: 462
- Joined: Sat Sep 11, 2021 4:37 pm
- Contact:
Re: Gathered OXT IDE posts
Wise.OpenXTalkPaul wrote: ↑Wed Mar 26, 2025 9:20 pm Yeah very clever work in those stacks like the SVGL importer, but as Richmond said, it's not worth even worrying about complying to any license for those stacks because they're actually working around shortcomings of that engine (created prior to LCB Canvas & SVG support in image controls).
The browser-native SVG syntax is pretty good, reasonably concise:Using a modern standard browser as the runtime engine we can instead wrap something like bezierCurveTo in xTalk-like syntax and have first class Bezier curves and we have plenty of code examples that are MIT or similarly liberal licensed.
https://www.w3schools.com/graphics/svg_path.asp
Manual editing is where libraries are helpful. I feel we're just one good "pointer tool" library away from a great many very useful solutions.
- OpenXTalkPaul
- Posts: 2798
- Joined: Sat Sep 11, 2021 4:19 pm
- Contact:
Re: Gathered OXT IDE posts
Point taken, there is a lot to HTML5 APIs and many I haven't really looked very deeply at yet, I'm basically learning modern JS as we go, hopefully enough so that when it's ready I never have to look at JS again

I think we want to make sure that we're only using parts of these HTML5 APIs that have already been widely adopted, which not every attribute or method has been by all browser engines. But in my mind that's not different than supporting multiple versions of macOS APIs (for example).
I agree, once there is some IDE infrastructure (eg 'Tools' pallete) in there it will be much more useful, but I think we need the syntax and 'controls' ('parts' / objects) to be more complete before worrying about IDE UI.
Using a browser as the runtime certainly opens up a lot more possibilities for extended the syntax beyond what came before, for a basic yet powerful example allowing proportional heights and widths parameters instead of only allowing dimensions based on pixels. Certainly the ecosystem for JS libraries is vast, and this route gives us access to all of that.
Who is online
Users browsing this forum: No registered users and 4 guests