<div dir="auto">The last paragraph  is the most important.</div><div dir="auto"><br></div><div dir="auto">Thanks, Don, for aptly applying a fix.   I’m hoping the patches applied will lead us to a pattern for JSON to _____ load and export, both for your python validation and your XML/VRML/Other generation, as used by people using x3d.py and JSON.   Using JSON and x3d.py on the web is a compelling use case right now.   Hopefully we can get to a place where x3djsonld.py can generate python to be loaded into jupyter.</div><div dir="auto"><br></div><div dir="auto">I do not know if XML or VRML loading is or will be supported by x3d.py.  We might discuss if we want to use stylesheets for a core feature, generating subclasses of x3d.py, or x3dxmlld.py for generating python.   We’ve already spoken a tiny bit about this.   I believe the first was tossed out, so I'm assuming the Python SAI keeps some Browser def’s outside the x3d.py package,  createX3DFromString() comes to mind.  I have not checked this.</div><div dir="auto"><br></div><div dir="auto">I am not ready to submit x3djsonld.py to Pypl or whatever the python package distribution site is, but I’m hoping to copy the breadcrumbs left by x3d.py and apply them to x3djsonld.py distribution.</div><div dir="auto"><br></div><div dir="auto">While a example advanced use of shadows would be useful, I have pretty minimal experience with Lights.  Maybe I can add something in X3D4.1 timeframe.  Perhaps getting some experience with Blender’s lighting would be good.</div><div dir="auto"><br></div><div dir="auto">We have this X3DUOM which might be used for other things, like generating x3djsonld.py using a stylesheet, generating  X3dTo*.xslt, and generating JavaScript serializers for X3DJSONLD.</div><div dir="auto"><br></div><div dir="auto">Ideally, a single change to XML Schema would ripple through the whole codebase easily.</div><div dir="auto"><br></div><div dir="auto">John</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jul 1, 2022 at 7:33 PM Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word"><div class="m_6750592048654392600WordSection1"><p class="MsoNormal">Thank you for noting that type for the X3DLightNode field ‘shadows’ (DirectionalLight, PointLight, SpotLight) was not being checked by the converters.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Now fixed.  I have added it to several stylesheets (X3dTo.xslt X3dTo.xslt X3dTo.xslt X3dTo.xslt X3dTo.xslt) and also added a validation test in HelloWorldX3D4.x3d, adding a fancier example scene to archives is welcome.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">All checked in at<u></u><u></u></p><ul style="margin-top:0in" type="disc"><li class="m_6750592048654392600MsoListParagraph" style="margin-left:0in"><a href="https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets" target="_blank">https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets</a><u></u><u></u></li><li class="m_6750592048654392600MsoListParagraph" style="margin-left:0in"><a href="https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling" target="_blank">https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling</a><u></u><u></u></li></ul></div></div><div lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word"><div class="m_6750592048654392600WordSection1"><div><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New""><u style="font-family:"Courier New""></u> <u style="font-family:"Courier New""></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">all the best, Don<u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">-- <u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">Don Brutzman  Naval Postgraduate School, Code USW/Br        <a href="mailto:brutzman@nps.edu" target="_blank" style="font-family:"Courier New"">brutzman@nps.edu</a><u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149<u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">X3D graphics, virtual worlds, Navy robotics https://</span> <span style="font-size:10pt;font-family:"Courier New""><a href="http://faculty.nps.edu/brutzman" target="_blank" style="font-family:"Courier New"">faculty.nps.edu/brutzman</a><u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p></div><p class="MsoNormal"><u></u> <u></u></p><div><div style="border-style:solid none none;border-top-width:1pt;padding:3pt 0in 0in;border-top-color:rgb(225,225,225)"><p class="MsoNormal"><b>From:</b> John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> <br><b>Sent:</b> Friday, July 1, 2022 2:36 PM<br><b>To:</b> Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>><br><b>Cc:</b> Holger Seelig <<a href="mailto:holger.seelig@yahoo.de" target="_blank">holger.seelig@yahoo.de</a>>; X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br><b>Subject:</b> Re: [x3d-public] X3dToPython.xslt warnings and errors produced from Holger's examples<u></u><u></u></p></div></div><div><div><p class="MsoNormal"><span style="font-size:10pt"><u></u> <u></u></span></p><p class="MsoNormal">No "shadows" in Savage.  So unless Don has something in SavageDefense, we'll have to roll our own example, or find someone else's (Holger's). <u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">It looks like the attribute type for "shadows" the shadows field is not being found in X3dToPython.xslt.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I'm wanting to do code coverage analysis again.<u></u><u></u></p></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Fri, Jul 1, 2022 at 4:23 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<u></u><u></u></p></div><blockquote style="border-style:none none none solid;border-left-width:1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in;border-left-color:rgb(204,204,204)"><div><p class="MsoNormal">Here are rereported issues. <u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">One can download the create3000 Library with:<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">git clone <a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcreate3000%2FLibrary&data=05%7C01%7Cbrutzman%40nps.edu%7C2d61febca1d64ef57a1b08da5ba9a998%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637923081677633994%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=%2BuY8E%2FRFAETrfC3CeL9c2G2BUR6z80Mga4%2F%2Fi8k1N14%3D&reserved=0" target="_blank">https://github.com/create3000/Library</a><u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Then use X3dToPython.xslt in Library/Tests/Components/ParticleSystems/.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">translating to python<br>BEGIN ../Library/Tests/Components/ParticleSystems/Bubbles.x3d > py, *** Warning: X3dToPython.xslt attribute type not found for DirectionalLight field 'shadows'<br>*** Error: tuple-size not found for type '' (type value missing)<br>END ../Library/Tests/Components/ParticleSystems/Bubbles.x3d<br><br>BEGIN ../Library/Tests/Components/ParticleSystems/Fire.x3d > py, *** Warning: X3dToPython.xslt attribute type not found for DirectionalLight field 'shadows'<br>*** Error: tuple-size not found for type '' (type value missing)<br>END ../Library/Tests/Components/ParticleSystems/Fire.x3d<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Since shadows is an SFBool, there is no tuple-size, perhaps?<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">The above errors show that type is '', not SFBool.  I can't figure out the XSLT yet.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I will look at the XML.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Here's one example from Bubbles.x3d:<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">        <MetadataSet DEF='Selection' containerField='value'<br>            name='Selection'<br>            reference='<a href="https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftitania.create3000.de%2F&data=05%7C01%7Cbrutzman%40nps.edu%7C2d61febca1d64ef57a1b08da5ba9a998%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637923081677633994%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=l85nKgb4QKdpprKFUR%2BRyp%2Bb0svk1w%2BROEXrISRxfAw%3D&reserved=0" target="_blank">http://titania.create3000.de</a>'><br>          <MetadataSet DEF='previous' containerField='value'<br>              name='previous'<br>              reference='<a href="https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftitania.create3000.de%2F&data=05%7C01%7Cbrutzman%40nps.edu%7C2d61febca1d64ef57a1b08da5ba9a998%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637923081677633994%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=l85nKgb4QKdpprKFUR%2BRyp%2Bb0svk1w%2BROEXrISRxfAw%3D&reserved=0" target="_blank">http://titania.create3000.de</a>'/><br>          <MetadataSet DEF='children' containerField='value'<br>              name='children'<br>              reference='<a href="https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftitania.create3000.de%2F&data=05%7C01%7Cbrutzman%40nps.edu%7C2d61febca1d64ef57a1b08da5ba9a998%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637923081677633994%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=l85nKgb4QKdpprKFUR%2BRyp%2Bb0svk1w%2BROEXrISRxfAw%3D&reserved=0" target="_blank">http://titania.create3000.de</a>'><br>            <DirectionalLight DEF='_1' containerField='value'<br>                direction='-0.372556 -3.8217e-05 -0.92801'<br>                shadows='true'<br>                shadowIntensity='0.518717'/><br>          </MetadataSet><br>        </MetadataSet><br>      </MetadataSet><u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Here's another from Fire.x3d:<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">    <DirectionalLight DEF='_1'<br>        direction='-0.531638 -0.672816 -0.51447'<br>        shadows='true'<br>        shadowIntensity='0.605'/><u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Hope this helps.  I'm bamboozled until I can find  a better XSLT debugger.  We're a bit over budget the last few months.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Looks like everything is up-to-date.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I'd like to make sure Fire.py works before proceeding to further debug x3djsonld.py, so I know I have a good example python to pull ideas from.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">There are no examples of DirectionalLight and attribute shadows in the X3D Examples on sourceforge.  Perhaps it's time to add an example?<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I'm presently downloading Savage.  Maybe we'll get lucky.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Thanks!<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">John<u></u><u></u></p></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Fri, Jul 1, 2022 at 3:48 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<u></u><u></u></p></div><blockquote style="border-style:none none none solid;border-left-width:1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in;border-left-color:rgb(204,204,204)"><div><p class="MsoNormal">Background for what I’m going to test. I’m in-line with your analysis of this one issue.  I don’t recall if ‘shadows’ in DirectionalLight is still an issue (see thread).  I’ve been able to address the gzip issue on my own system.   There may be more issues to address.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Here’s how i test in X3DJSONLD:<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">X3DJSONLD/src/main/shell $ bash don.sh ../Library/Tests/Components/ParticleSystems/*.x3d<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">You may use a single .x3d file.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I’m going to run downstairs to run the test.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Fri, Jul 1, 2022 at 9:16 AM Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>> wrote:<u></u><u></u></p></div><blockquote style="border-style:none none none solid;border-left-width:1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in;border-left-color:rgb(204,204,204)"><div><div><p class="MsoNormal">Nor is particleElasticity (or the word “elasticity”) found in X3D4 specification.  Thus not in any other validation tools.<u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><ul type="disc"><li class="MsoNormal"><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/components/particleSystems.html" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/components/particleSystems.html</a><u></u><u></u></li></ul><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal">And so, looking around, wondering what is being talked about.  Presumably a browser-specific extension, building on the X in X3D.<u></u><u></u></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New""> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">all the best, Don</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">-- </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">Don Brutzman  Naval Postgraduate School, Code USW/Br        <a href="mailto:brutzman@nps.edu" target="_blank" style="font-family:"Courier New"">brutzman@nps.edu</a></span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">X3D graphics, virtual worlds, Navy robotics https://</span> <span style="font-size:10pt;font-family:"Courier New""><a href="http://faculty.nps.edu/brutzman" target="_blank" style="font-family:"Courier New"">faculty.nps.edu/brutzman</a></span><u></u><u></u></p></div></div><div><div><p class="MsoNormal"> <u></u><u></u></p><div style="border-style:solid none none;border-top-width:1pt;padding:3pt 0in 0in;border-top-color:rgb(225,225,225)"><p class="MsoNormal"><b>From:</b> x3d-public <<a href="mailto:x3d-public-bounces@web3d.org" target="_blank">x3d-public-bounces@web3d.org</a>> <b>On Behalf Of </b>John Carlson<br><b>Sent:</b> Sunday, June 26, 2022 1:46 PM<br><b>To:</b> Holger Seelig <<a href="mailto:holger.seelig@yahoo.de" target="_blank">holger.seelig@yahoo.de</a>>; X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br><b>Subject:</b> Re: [x3d-public] X3dToPython.xslt warnings and errors produced from Holger's examples<u></u><u></u></p></div><p class="MsoNormal"> <u></u><u></u></p><div><div><p class="MsoNormal">Holger's example:<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><blockquote style="border-style:none none none solid;border-left-width:1pt;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt;border-left-color:rgb(204,204,204)"><div><div><p class="MsoNormal">translating to json<br>BEGIN ../Library/Tests/Components/ParticleSystems/Waterfall.x3d > json, Warning: X3dToJson.xslt attribute type not found for ParticleSystem particleElasticity<br>END ../Library/Tests/Components/ParticleSystems/Waterfall.x3d<u></u><u></u></p></div></div></blockquote><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">particleElasticity not found in X3DUOM<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">So specific to Holger's use case, I guess.<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div></div></div></div></div></blockquote></div></div></blockquote></div></blockquote></div></div></div></div></blockquote></div></div>