<div dir="ltr"><div>Changed subject to be more focused on what's not working. Thanks for the effort on VolumeEmitter.x3d, which despite not passing the x3d validator, products of the XML are passing jsonlint and python. Note that the VolumeEmitter.json passes jsonlint (and I guess the jshint and jslint or whatever you use), but it does not pass the Ajv validator.  Will respond on the other thread if something comes up.</div><div><br></div><div>Note extra commas in MFBool outputs from X3dToPython.xslt and X3dToJson.xslt.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 4, 2022 at 4:23 PM John Carlson <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Note, the following examples are unvalidated. Beware!<div><br></div><div>For example, from: 

<a href="https://raw.githubusercontent.com/create3000/Library/main/Tests/Components/ParticleSystems/BoundedPhysicsModel.x3d" target="_blank">https://raw.githubusercontent.com/create3000/Library/main/Tests/Components/ParticleSystems/BoundedPhysicsModel.x3d</a><div>    <BooleanSequencer DEF='_4'<br>        key='0, 0.3, 1'<br>        keyValue='true, false'/></div><div><br></div><div>Translates to JSON:<br><div><br></div><div>{ "BooleanSequencer":<br>            {<br>              "@DEF":"_4",<br>              "@key":[0,0.3,1],<br>              "@keyValue":[true,,false]<br>            }<br>          },</div></div></div><div><br></div><div>And python:</div><div><br></div><div>BooleanSequencer(DEF='_4',key=[0,0.3,1],keyValue=[True,,False]),<br></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 4, 2022 at 3:47 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Don, I am merely asking whether Holger’s examples with MFFloat (as is) and MFBool converted to JSON and Python are acceptable JSON and Python or not.  Misdirecting to SFVec4f, MFColor and SFColor is not progress.</div><div dir="auto"><br></div><div dir="auto">Please work on X3dToJson.xslt and X3dToPython.xslt improving MFBool and MFFloat handling, or state that inputs to the stylesheets should be canonical.</div><div dir="auto"><br></div><div dir="auto">Thanks!</div><div dir="auto"><br></div><div dir="auto">John</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 4, 2022 at 3:27 PM Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div><p class="MsoNormal">I was able to enter this issue in Mantis:<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><ul style="margin-top:0in" type="disc"><li style="margin-left:0in">Mantis 1398 <span>OrthoViewpoint fieldOfView type needs to be SFVec4f, not MFFloat</span><u></u><u></u></li><li style="margin-left:0in"><a href="https://www.web3d.org/member-only/mantis/view.php?id=1398" target="_blank">https://www.web3d.org/member-only/mantis/view.php?id=1398</a><u></u><u></u></li></ul><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Have applied changes to X3D XML DOCTYPE, Schema, X3DUOM, stylesheets, tooltips, X3DJSAIL, X3DPSAIL, and X3D Ontology.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Note that python syntax for a MFFloat 4-tuple is identical to a SFVec3f 4-tuple, e.g. (-1,-1,1,1)<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Dick and I will double-check this during next specification editors meeting, but I think all actions are complete.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Hopefully your tests continue to proceed well, every small issue detected and fixed continues to increase model validity and robustness.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Have fun with steadily improving X3D4 reliability!   8)<u></u><u></u></p></div></div><div lang="EN-US"><div><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" style="font-family:"Courier New"" target="_blank">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" style="font-family:"Courier New"" target="_blank">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> Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>> <br><b>Sent:</b> Sunday, July 3, 2022 9:24 PM<br><b>To:</b> John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>><br><b>Cc:</b> X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>>; <a href="mailto:holger.seelig@gmail.com" target="_blank">holger.seelig@gmail.com</a>; Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>><br><b>Subject:</b> RE: [x3d-public] X3dToJson.xslt, X3dToPython.xslt, OrthoViewpoint fieldOfView <u></u><u></u></p></div></div><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">[Changed subject line for readability/searchability – this is about OrthoViewpoint fieldOfView]<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><ol style="margin-top:0in" start="1" type="1"><li>Invalid source XML in your .x3d excerpt: simple types should not have commas within them.<u></u><u></u></li></ol><p class="MsoNormal"><u></u> <u></u></p><ul style="margin-top:0in" type="disc"><li style="margin-left:0in">OrthoViewpoint fieldOfView='-1.5, -1.5, 1.5, 1.5'<u></u><u></u></li></ul><p class="MsoNormal"><u></u> <u></u></p><ol style="margin-top:0in" start="2" type="1"><li>OrthoViewpoint fieldOfView is defined as MFFloat in specification but ought to be SFVec4f, since it must always have four numbers defining ordered values (minimum_x, minimum_y, maximum_x, maximum_y).<u></u><u></u></li></ol><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">I am somehow locked out of mantis and so can’t verify what we previously said about this (if anything).  Seems like a simple specification erratum.<u></u><u></u></p><p class="MsoNormal"><br>Correlation confirmation: TextureProjectorParallel has fieldOfView SFVec4f.  Meanwhile Viewpoint GeoViewpoint and TextureProjector have SFFloat.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><ol style="margin-top:0in" start="3" type="1"><li>I think that the various fieldOfView types are handled in the stylesheet s correctly now, checked in.<u></u><u></u></li></ol><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">I have also applied a tentative fix to X3D DOCTYPE, Schema, Tooltips and X3DUOM, but will wait to deploy any updates (including X3DJSAIL, X3DPSAIL) until checking mantis to confirm status.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Thanks John for reporting this error, very helpful.<u></u><u></u></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"">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" style="font-family:"Courier New"" target="_blank">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" style="font-family:"Courier New"" target="_blank">faculty.nps.edu/brutzman</a><u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p><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, July 3, 2022 12:10 AM<br><b>To:</b> X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>>; <a href="mailto:holger.seelig@gmail.com" target="_blank">holger.seelig@gmail.com</a><br><b>Subject:</b> [x3d-public] X3dToJson.xslt, X3dToPython.xslt, create3000/Library Test ParticleSystem possible issues. Though may not pass!<u></u><u></u></p></div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">Don,<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Here are some issues with various X3dTo*.xslt:<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">grep fieldOfView VolumeEmitter.py<br>VolumeEmitter.py:    OrthoViewpoint(description='OrthoViewpoint',fieldOfView=-1.5,-1.5,1.5,1.5),<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">$ grep fieldOfView VolumeEmitter*<br>VolumeEmitter.json:              "@fieldOfView":-1.5,-1.5,1.5,1.5<br>VolumeEmitter.x3d:        fieldOfView='-1.5, -1.5, 1.5, 1.5'/><u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">In the JSON, the MFFloat is does not appear to be an array, with [] around the numbers.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">In the python, there's no tuple or list markers denoting a tuple or list<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Note in the XML, both the "," and the space is separating the floats in the MFFloat.  I haven't seen that the MFBools with ", " as separators is working, but perhaps the problem is more general.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Links to XML below.<u></u><u></u></p></div><div><p class="MsoNormal">====================================================<u></u><u></u></p></div><div><p class="MsoNormal">Holger,<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I fully realize that these are test samples, and they may not pass, thus when I convert x3d  to python and run, these errors may appear (which may be totally valid).<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">BoundedPhysicsModel.py<br>x3d.py package 4.0.64.1 loaded, have fun with X3D Graphics!<br>Traceback (most recent call last):<br>  File "C:\Users\john\X3DJSONLD\src\main\python\net\x3djsonld\Library\Tests\Components\ParticleSystems\BoundedPhysicsModel.py", line 82, in <module><br>    emitter=ConeEmitter(position=(0,-3,0),direction=(1,4,0),angle=0.4,speed=0.2,mass=3200),<br>  File "C:\Users\john\X3DJSONLD\venv\lib\site-packages\x3d\x3d.py", line 29419, in __init__<br>    self.direction = direction<br>  File "C:\Users\john\X3DJSONLD\venv\lib\site-packages\x3d\x3d.py", line 29450, in direction<br>    assertLessThanEquals('direction', direction, 1)<br>  File "C:\Users\john\X3DJSONLD\venv\lib\site-packages\x3d\x3d.py", line 1847, in assertLessThanEquals<br>    assert isLessThanEquals(value, maximum), fieldName + '=' + str(value) + ' fails assertLessThanEquals maximum=' + str(maximum)<br>AssertionError: direction=(1, 4, 0) fails assertLessThanEquals maximum=1<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><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">PointEmitter.py<br>x3d.py package 4.0.64.1 loaded, have fun with X3D Graphics!<br>Traceback (most recent call last):<br>  File "C:\Users\john\X3DJSONLD\src\main\python\net\x3djsonld\Library\Tests\Components\ParticleSystems\PointEmitter.py", line 92, in <module><br>    WindPhysicsModel(speed=0.8,gustiness=0.8,turbulence=2),<br>  File "C:\Users\john\X3DJSONLD\venv\lib\site-packages\x3d\x3d.py", line 99589, in __init__<br>    self.turbulence = turbulence<br>  File "C:\Users\john\X3DJSONLD\venv\lib\site-packages\x3d\x3d.py", line 99643, in turbulence<br>    assertZeroToOne('turbulence', turbulence)<br>  File "C:\Users\john\X3DJSONLD\venv\lib\site-packages\x3d\x3d.py", line 1818, in assertZeroToOne<br>    assert isZeroToOne(value), str(fieldName) + '=' + str(value) + ' fails assertZeroToOne requirements: value(s) must be in range [0..1]'<br>AssertionError: turbulence=2 fails assertZeroToOne requirements: value(s) must be in range [0..1]<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><p class="MsoNormal" style="margin-bottom:12pt">SurfaceEmitter.py<br>x3d.py package 4.0.64.1 loaded, have fun with X3D Graphics!<br>Traceback (most recent call last):<br>  File "C:\Users\john\X3DJSONLD\src\main\python\net\x3djsonld\Library\Tests\Components\ParticleSystems\SurfaceEmitter.py", line 50, in <module><br>    MetadataSet(DEF='children',name='children',reference='<a href="https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftitania.create3000.de%2F&data=05%7C01%7Cbrutzman%40nps.edu%7C21c0ec8ed9424e5b9d1808da5cc31d7f%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637924290510977644%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000%7C%7C%7C&sdata=%2F4uxzeZzuYzvUqHz8AJaKk0zHgBuEfyrAyNzWK5XrYs%3D&reserved=0" target="_blank">http://titania.create3000.de</a>',<br>TypeError: MetadataSet.__init__() got an unexpected keyword argument 'appearance'<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Original XML here:  <a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcreate3000%2FLibrary%2Ftree%2Fmain%2FTests%2FComponents%2FParticleSystems&data=05%7C01%7Cbrutzman%40nps.edu%7C21c0ec8ed9424e5b9d1808da5cc31d7f%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637924290510977644%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000%7C%7C%7C&sdata=AXA6SvrhXPQysoFmBpTi8vsUFZPbJC9gW60AGXCyfW8%3D&reserved=0" target="_blank">Library/Tests/Components/ParticleSystems at main · create3000/Library (github.com)</a><u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Attached generated python code.<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><p class="MsoNormal"><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></div></blockquote></div></div>
</blockquote></div>
</blockquote></div></div>