<div dir="ltr"><div>As previously posted:</div><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>Apparently it pays to have a non-empty schema!</div><div><br></div><div>Changes:</div><div><br></div><div>diff --git a/x3d-4.0-JSONSchema.json b/x3d-4.0-JSONSchema.json<br>index 5834443..abfcd9f 100644<br>--- a/x3d-4.0-JSONSchema.json<br>+++ b/x3d-4.0-JSONSchema.json<br>@@ -1,7 +1,7 @@<br> {<br>   "$schema": "<a href="https://json-schema.org/draft/2020-12/schema">https://json-schema.org/draft/2020-12/schema</a>",<br>   "$id": "<a href="https://www.web3d.org/specifications/x3d-4.0-JSONSchema.json">https://www.web3d.org/specifications/x3d-4.0-JSONSchema.json</a>",<br>-  "title": "X3D V4.0 JSON Schema, generated 2022/05/24 17:50:41",<br>+  "title": "X3D V4.0 JSON Schema, generated 2022/07/04 17:13:07",<br>   "description": "Experimental JSON Schema for X3D V4.0",<br>   "type": "object",<br>   "properties": {<br>@@ -19398,8 +19398,10 @@<br>               "type": "number"<br>             },<br>             "@fieldOfView": {<br>-              "$comment": "MFFloat inputOutput",<br>+              "$comment": "SFVec4f inputOutput",<br>               "type": "array",<br>+              "minItems": 4,<br>+              "maxItems": 4,<br>               "prefixItems": [<br>                 {<br>                   "default": -1,<br>@@ -19418,9 +19420,7 @@<br>                   "type": "number"<br>                 }<br>               ],<br>-              "items": {<br>-                "type": "number"<br>-              }<br>+              "items": false<br>             },<br>             "@jump": {<br>               "default": true,<br></div><div><br></div><div><br></div><div><br></div><div>Sorry for confusion!</div><div><br></div><div>John</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jul 3, 2022 at 11:24 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:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US" style="overflow-wrap: break-word;"><div class="gmail-m_-9050148034264208964WordSection1"><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 class="gmail-m_-9050148034264208964MsoListParagraph">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 class="gmail-m_-9050148034264208964MsoListParagraph" 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 class="gmail-m_-9050148034264208964MsoListParagraph">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 class="gmail-m_-9050148034264208964MsoListParagraph">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></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">all the best, Don<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">-- <u></u><u></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">brutzman@nps.edu</a><u></u><u></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></u><u></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">faculty.nps.edu/brutzman</a><u></u><u></u></span></p><p class="MsoNormal"><u></u> <u></u></p><div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in"><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>