[x3d-public] Changing Protos X3DJSAIL

John Carlson yottzumm at gmail.com
Mon Aug 9 16:20:25 PDT 2021

Indeed, one might argue that the org.Web3d.X3d.jsail package are the
builders, and we need another package for immutable instances.

Sorry for the duplicate.

I’m wrapping my mind around how to do ProtoDeclare translations in the C++
SAI without support from the createX3DFromString() method.   I don’t feel
it’s appropriate to reference a file or stream, but a data: URL may be
adequate but unreadable.

I’m hoping to see a new c/c++/c# SAI release with the createX3DFromString()
method, or a loosening of the standard.

I need to look a bit at the C++ spec.


On Mon, Aug 9, 2021 at 5:49 PM John Carlson <yottzumm at gmail.com> wrote:

> Some feedback:
> https://www.web3d.org/documents/specifications/19775-2/V3.3/index.html
> 5.2.27. SAIProtoDeclaration
> Essentially says that Protos need to be declared in a file, stream or
> string.   Protos may not be changed at runtime.   To me, that means that
> setters are not legal on ProtoDeclare statements and nodes and statements
> inside the ProtoDeclare.   What does X3DJSAIL support?
> This further motivates me to discuss the Importer or Builder pattern.
> Protos may be made immutable by passing a builder to the constructor and by
> not providing setters or providing ways to modify objects returned from
> methods.   How does X3DJSAIL support this?
> Are we going to change the standard?   Would this be bad for “proto
> expanders” which don’t leave protos around for modification?
> Maybe I’m crying wolf?
> Are PROTOs not compatible with HTML JavaScript, or can we hide the Proto
> interface such that a client JavaScript program cannot change PROTOs?
> John
> On Sat, Aug 7, 2021 at 5:15 AM John Carlson <yottzumm at gmail.com> wrote:
>> As far as I can tell, the C++ SAI code hasn't changed in 100 days in the
>> x3d project on Sourceforge. Will there be a release in the next 80 days
>> (would a 6 month cycle be good?)?
>> I have been diligently working today on getting HelloWorld.cpp working
>> on Linux.  It's minus meta statements, (oops) and maybe a few other
>> things.  I have got the code in shape such that I want someone else to
>> try to compile it, especially on Windows.
>> Attached you will find the HelloWorld.cpp.   I've purposefully reverted
>> the sourceforge library code on my local box, hoping to get a Windows 10
>> o r 11 running in a virtual machine. Or just out of frustration.
>> Note that there are no statements in the example, I do have other
>> examples with statements, if you're interested.  I don't know how SAI is
>> going to create statements, but I'll look it up.
>> If someone is interested enough to see my transpiler in it's buggy
>> state, i can release it. I'll probably create some documentation before
>> I do that.
>> Does anyone know if Xamarin contains a C/C++ compiler compatible with
>> Windows source code?
>> Thanks for any insight.
>> John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20210809/698f0f29/attachment.html>

More information about the x3d-public mailing list