Gathered OXT IDE posts

All flavors welcome.
Forum rules
Be kind.
User avatar
richmond62
Posts: 5234
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: The basis for an xtalk engine [I/we] control

Post by richmond62 »

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.
https://richmondmathewson.owlstown.net/
FourthWorld
Posts: 462
Joined: Sat Sep 11, 2021 4:37 pm
Contact:

Re: The basis for an xtalk engine [I/we] control

Post by FourthWorld »

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.
I have two on my drive, one from Mark Waddingham and another from Jim Hurley.

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.
User avatar
OpenXTalkPaul
Posts: 2798
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: The basis for an xtalk engine [I/we] control

Post by OpenXTalkPaul »

FourthWorld wrote: Wed Mar 26, 2025 11:01 am
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.
I have two on my drive, one from Mark Waddingham and another from Jim Hurley.

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.
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.

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'.
FourthWorld
Posts: 462
Joined: Sat Sep 11, 2021 4:37 pm
Contact:

Re: The basis for an xtalk engine [I/we] control

Post by FourthWorld »

OpenXTalkPaul wrote: Wed Mar 26, 2025 12:57 pm
FourthWorld wrote: Wed Mar 26, 2025 11:01 am
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.
I have two on my drive, one from Mark Waddingham and another from Jim Hurley.

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.
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.
No such usage limitations were included.

Unexpressed intentions are ambiguous.

Clarity is provided when licensing is provided.
User avatar
OpenXTalkPaul
Posts: 2798
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: The basis for an xtalk engine [I/we] control

Post by OpenXTalkPaul »

FourthWorld wrote: Wed Mar 26, 2025 4:37 pm
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.
No such usage limitations were included.

Unexpressed intentions are ambiguous.

Clarity is provided when licensing is provided.
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.

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.
User avatar
richmond62
Posts: 5234
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: The basis for an xtalk engine [I/we] control

Post by richmond62 »

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.
Err: and isn't GPLv3 pretty well 'grab it and run'?

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. 8-)
https://richmondmathewson.owlstown.net/
User avatar
richmond62
Posts: 5234
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: The basis for an xtalk engine [I/we] control

Post by richmond62 »

https://richmondmathewson.owlstown.net/
User avatar
richmond62
Posts: 5234
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: The basis for an xtalk engine [I/we] control

Post by richmond62 »

Using the thing that is coyly called 'Curve Graphic' results in nothing of the sort:
-
Screenshot 2025-03-26 at 19.39.50.png
Screenshot 2025-03-26 at 19.39.50.png (115.6 KiB) Viewed 5804 times
-
Screenshot 2025-03-26 at 19.40.50.png
Screenshot 2025-03-26 at 19.40.50.png (225.26 KiB) Viewed 5804 times
-
as while apparently providing a curved graphic actually provides a graphic object composed of points . . .
https://richmondmathewson.owlstown.net/
User avatar
richmond62
Posts: 5234
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: The basis for an xtalk engine [I/we] control

Post by richmond62 »

This:
-
Screenshot 2025-03-26 at 19.47.26.png
Screenshot 2025-03-26 at 19.47.26.png (191.24 KiB) Viewed 5802 times
-
is in actual fact some sort of a group.

Here it is ungrouped:
-
Screenshot 2025-03-26 at 19.49.16.png
Screenshot 2025-03-26 at 19.49.16.png (198.31 KiB) Viewed 5802 times
-
And we can see that each component is, again, a graphic with points:
-
Screenshot 2025-03-26 at 19.50.26.png
Screenshot 2025-03-26 at 19.50.26.png (248.18 KiB) Viewed 5800 times
-
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/
User avatar
richmond62
Posts: 5234
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: The basis for an xtalk engine [I/we] control

Post by richmond62 »

As even my 63 year old eyes can see the jaggies with this one I'll not waste my time deconstructing it:
-
Screenshot 2025-03-26 at 19.53.54.png
Screenshot 2025-03-26 at 19.53.54.png (224.99 KiB) Viewed 5789 times
https://richmondmathewson.owlstown.net/
User avatar
richmond62
Posts: 5234
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: The basis for an xtalk engine [I/we] control

Post by richmond62 »

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:
-
Screenshot 2025-03-26 at 20.03.02.png
Screenshot 2025-03-26 at 20.03.02.png (308.05 KiB) Viewed 5777 times
-
Then I thought about effective points . . .

Yup: a load of cobblers:
-
Screenshot 2025-03-26 at 20.07.22.png
Screenshot 2025-03-26 at 20.07.22.png (306.44 KiB) Viewed 5775 times
https://richmondmathewson.owlstown.net/
FourthWorld
Posts: 462
Joined: Sat Sep 11, 2021 4:37 pm
Contact:

Re: The basis for an xtalk engine [I/we] control

Post by FourthWorld »

richmond62 wrote: Wed Mar 26, 2025 5:06 pm
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.
Err: and isn't GPLv3 pretty well 'grab it and run'?
Reading the text of that license would answer that question.

If that is the case I wonder what bits of the commercial LC distributions were NOT GPLv3.
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.

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 do have a personal preference to live in a world where consent matters, and try to exemplify that.

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.
I employ no "team of experts", just make a reasonable good-faith effort to comply with established practice among FOSS professionals.

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
User avatar
tperry2x
Posts: 3488
Joined: Tue Dec 21, 2021 9:10 pm
Location: Somewhere in deepest darkest Norfolk, England
Contact:

Gathered OXT IDE posts

Post by tperry2x »

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).
User avatar
richmond62
Posts: 5234
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Gathered OXT IDE posts

Post by richmond62 »

(having a sort-out)
Sensible. 8-)
https://richmondmathewson.owlstown.net/
User avatar
richmond62
Posts: 5234
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Gathered OXT IDE posts

Post by richmond62 »

https://revonline2.runrev.com/stack/112/SVGL
If your Bezier data is uncompressed, then it´s relatively
straightforward to import them into LiveCode.
Of course the imported result will NOT be a bezier curve; presumably, again, a jaggy compromise.
https://richmondmathewson.owlstown.net/
User avatar
tperry2x
Posts: 3488
Joined: Tue Dec 21, 2021 9:10 pm
Location: Somewhere in deepest darkest Norfolk, England
Contact:

Re: Gathered OXT IDE posts

Post by tperry2x »

Righto. You've reeled me in and I've took the bait.
2025-03-26-19-00-35.png
2025-03-26-19-00-35.png (489.92 KiB) Viewed 5701 times
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:
2025-03-26-19-01-16.png
2025-03-26-19-01-16.png (174.82 KiB) Viewed 5701 times
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.
2025-03-26-19-03-42.png
2025-03-26-19-03-42.png (207.64 KiB) Viewed 5701 times
User avatar
tperry2x
Posts: 3488
Joined: Tue Dec 21, 2021 9:10 pm
Location: Somewhere in deepest darkest Norfolk, England
Contact:

Re: Gathered OXT IDE posts

Post by tperry2x »

Here you can see all the graphics it generates:
2025-03-26-19-05-01.png
2025-03-26-19-05-01.png (382.81 KiB) Viewed 5701 times
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).
User avatar
OpenXTalkPaul
Posts: 2798
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Gathered OXT IDE posts

Post by OpenXTalkPaul »

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/
FourthWorld
Posts: 462
Joined: Sat Sep 11, 2021 4:37 pm
Contact:

Re: Gathered OXT IDE posts

Post by FourthWorld »

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).
Wise.
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.
The browser-native SVG syntax is pretty good, reasonably concise:
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.
User avatar
OpenXTalkPaul
Posts: 2798
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Gathered OXT IDE posts

Post by OpenXTalkPaul »

FourthWorld wrote: Thu Mar 27, 2025 12:27 am Manual editing is where libraries are helpful.
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 :lol:

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.
Post Reply

Who is online

Users browsing this forum: No registered users and 9 guests