[x3d-public] x3d.py Re: Tree-to-tree transformation
GPU Group
gpugroup at gmail.com
Wed Aug 2 12:27:31 PDT 2023
I haven't seen any import functions in x3d.py. The code isn't too hard to
read. I think import is harder than export, because there are so many
things that can be wrong with an import file, and it's not 1:1. But
exporting --once you have a clean scenegraph-- is easy.
I think the default brute force way to import is to load a file into its
native tree -- html into an html tree, json into a json tree (like we load
glTF), x3d into an xml tree. There are standard loaders for those. Is there
a loader like that for vrml/classic/x3dv?
Then traverse that tree and convert to x3d.py nodes as you go.
-Doug
Here's another example code of a standalone program using x3d.py I was
working on recently.
https://freewrl.sourceforge.io/tests/43_MIDI/88key/OLD/keyboard_gen_x3dpy.py
- which shows a few more examples of the syntax x3d.py needs.
- program didn't work due to hard thing: a ProtoInstance with SFNode in an
MFNode fieldvalue. Hypotheses: H0: I'm not using the right syntax for
x3d.py in that case H1: x3d.py has a bug.
- But generally works pretty good once you figure out the syntax, class
names, fields etc.
On Wed, Aug 2, 2023 at 1:00 PM John Carlson <yottzumm at gmail.com> wrote:
> I am thinking about X3d.py design.
>
> I was not aware if x3d.py had any input, clarification?
>
> I’m trying to read this:
>
> https://www.web3d.org/x3d/stylesheets/python/python.html
>
>
> It would seem appropriate to have a core X3D abstract python model, call
> it the python object model or POM, and then add what i call python “view,”
> “presentation,” or “encoding” models for XML, JSON, X3DOM, VRML, and X_ITE
> …input/output, perhaps generated by more than one stylesheet. I think
> stuffing the encodings into one package is not the right design. We should
> follow the standards way of separating abstract architecture from encoding
> and binding.
>
> I would propose stylesheets for each encoding, just like we have for
> converting XML to various encodings, X3dTo….xslt.
>
> What’s the counter argument?
>
> I welcome any discussion, this is kind of the monolithic kernel versus
> microkernel idea i realize. Monolithic won.
>
> This is also along the lines of HTMLElement, SVGElement, Node, and Element
> in ECMAScript.
>
> You can still stuff it all in the same x3d.py file, one can also support
> XML(), VRML() methods on the abstract model that defer or delegate to
> encoding models. I don’t think anything breaks.
>
> Is this somehow un-pythonic?
>
> John
>
> On Wed, Aug 2, 2023 at 1:21 PM John Carlson <yottzumm at gmail.com> wrote:
>
>> Does anyone know good tools for tree-to-tree transformation? I know
>> ANTLR and XML/XSL/XSLT. I guess this is pretty much a compiler task. Are
>> there tools for Classic VRML and JSON? Python/Perl/ECMAScrpt?
>>
>> John
>>
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230802/dab0ae8f/attachment-0001.html>
More information about the x3d-public
mailing list