<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">Tested again, and did not found any issues :), Thanks again.<div><br id="lineBreakAtBeginningOfMessage"><div>
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px;">--</div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px;">Holger Seelig</div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px;">Leipzig, Germany</div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px;"><br></div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px;">holger.seelig@yahoo.de</div><div>https://create3000.github.io/x_ite/</div></div></div></div></div></div></div>
</div>
<div><br><blockquote type="cite"><div>Am 21.11.2023 um 18:06 schrieb Brutzman, Donald (Don) (CIV) <brutzman@nps.edu>:</div><br class="Apple-interchange-newline"><div><meta charset="UTF-8"><div class="WordSection1" style="page: WordSection1; caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><div style="border-width: medium medium 1.5pt; border-style: none none solid; border-color: currentcolor currentcolor windowtext; border-image: none; padding: 0in 0in 1pt;"><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif; border: medium; padding: 0in;">Thanks for excellent followup. Again thanks for essential value. Belated revisions:<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif; border: medium; padding: 0in;"><o:p> </o:p></div></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">X3D XML Schema update activity:<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><a href="https://www.web3d.org/specifications/x3d-schema-changelog.txt" style="color: blue; text-decoration: underline;">https://www.web3d.org/specifications/x3d-schema-changelog.txt</a><o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">20 NOV 2023, seelig, brutzman<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">- X3DEnvironmentalSensorNode size field has accessType inputOutput which affects<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> ProximitySensor TransformSensor VisibilitySensor GeoProximitySensor<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">- HAnimHumanoid motionsEnabled field is an attribute, not an element<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">- ArcClose2D Disk2D Rectangle2D TriangleSet2D field solid has default value false<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">- Extrusion fields have accessType initializeOnly, creaseAngle has type SFFloat<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">- HAnimHumanoid fields jointBindingPositions jointBindingRotations jointBindingScales<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> have default value of empty array<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">- HAnimMotion fields channels, joints have type SFString<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">- HAnimMotion field enabled has default value true<o:p></o:p></div><div style="border-width: medium medium 1.5pt; border-style: none none solid; border-color: currentcolor currentcolor windowtext; border-image: none; padding: 0in 0in 1pt;"><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif; border: medium; padding: 0in;">- Text field solid has default value false<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif; border: medium; padding: 0in;"><o:p> </o:p></div></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">X3D DTD update activity:<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><a href="https://www.web3d.org/specifications/x3d-dtd-changelog.txt" style="color: blue; text-decoration: underline;">https://www.web3d.org/specifications/x3d-dtd-changelog.txt</a><o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">20 NOV 2023, seelig, brutzman<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">- ArcClose2D Disk2D Rectangle2D TriangleSet2D field solid has default value false<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">- HAnimMotion field enabled has default value true<o:p></o:p></div><div style="border-width: medium medium 1.5pt; border-style: none none solid; border-color: currentcolor currentcolor windowtext; border-image: none; padding: 0in 0in 1pt;"><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif; border: medium; padding: 0in;"><o:p> </o:p></div></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Regarding default value of height field, no embedded commas are in spec or X3DUOM.<o:p></o:p></div><ul type="disc" style="margin-bottom: 0in;"><li class="MsoListParagraph" style="margin-right: 0in; margin-left: -0.25in; font-size: 11pt; font-family: Calibri, sans-serif;">Field MFDouble 'height' in node GeoElevationGrid has different value (Spec <=> X3DUOM): 0, 0 !== 0 0.<o:p></o:p></li></ul><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Regarding FloatVertexAttribute, Matrix3VertexAttribute,Matrix4VertexAttribute name field, type xs:NMTOKEN (name token) is a restriction on string type in an effort to avoid whitespace and illegal characters. We use this type restriction a number of other times in the schema as well.<o:p></o:p></div><ul type="disc" style="margin-bottom: 0in;"><li class="MsoListParagraph" style="margin-right: 0in; margin-left: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><a href="https://www.web3d.org/x3d/content/X3dTooltips.html#NMTOKEN" style="color: blue; text-decoration: underline;">https://www.web3d.org/x3d/content/X3dTooltips.html#NMTOKEN</a><o:p></o:p></li><li class="MsoNormal" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif; background: rgb(153, 204, 204);"><b><span style="font-size: 13.5pt; font-family: "Times New Roman", serif;"><a href="https://www.w3.org/TR/REC-xml/#sec-common-syn" target="_blank" style="color: blue; text-decoration: underline;">NMTOKEN</a></span></b><span style="font-size: 13.5pt; font-family: "Times New Roman", serif;"> is an XML term for <a href="https://www.w3.org/TR/REC-xml/#sec-common-syn" style="color: blue; text-decoration: underline;">Name Token</a>. NMTOKEN is a special kind of <a href="https://www.web3d.org/x3d/content/X3dTooltips.html#CDATA" style="color: blue; text-decoration: underline;">CDATA</a> string that must match naming requirements for legal characters, with no whitespace characters allowed. Additionally, from XML specification: disallowed initial characters for Names include numeric digits, diacritics (letter with accent or marking), the "." period character (sometimes called full stop) and the "-" hyphen character. For further information see <a href="https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#NamingConventions" style="color: blue; text-decoration: underline;">X3D Scene Authoring Hints: Naming Conventions</a>.<o:p></o:p></span></li></ul><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Updated X3D 4.0 XML Schema, DTD, Tooltips, and XSLT conversion stylesheets. Performing further regression testing to check correctness, no problems expected.<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Checked in and ready for retest.<o:p></o:p></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 9pt; font-family: "Courier New";"><o:p> </o:p></span></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 9pt; font-family: "Courier New";">all the best, Don<o:p></o:p></span></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 9pt; font-family: "Courier New";">--<span class="Apple-converted-space"> </span><o:p></o:p></span></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 9pt; font-family: "Courier New";">Don Brutzman Naval Postgraduate School, Code USW/Br <span class="Apple-converted-space"> </span><a href="mailto:brutzman@nps.edu" style="color: blue; text-decoration: underline;">brutzman@nps.edu</a><o:p></o:p></span></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 9pt; font-family: "Courier New";">Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149<o:p></o:p></span></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 9pt; font-family: "Courier New";">X3D graphics, virtual worlds, navy robotics<span class="Apple-converted-space"> </span><a href="https://faculty.nps.edu/brutzman" style="color: blue; text-decoration: underline;">https://faculty.nps.edu/brutzman</a><o:p></o:p></span></div></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div><div style="border-width: 1pt medium medium; border-style: solid none none; border-color: rgb(225, 225, 225) currentcolor currentcolor; border-image: none; padding: 3pt 0in 0in;"><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><b>From:</b><span class="Apple-converted-space"> </span>Holger Seelig <<a href="mailto:holger.seelig@yahoo.de" style="color: blue; text-decoration: underline;">holger.seelig@yahoo.de</a>><span class="Apple-converted-space"> </span><br><b>Sent:</b><span class="Apple-converted-space"> </span>Monday, November 6, 2023 3:36 AM<br><b>To:</b><span class="Apple-converted-space"> </span>Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" style="color: blue; text-decoration: underline;">brutzman@nps.edu</a>><br><b>Cc:</b><span class="Apple-converted-space"> </span>X3D <<a href="mailto:x3d-public@web3d.org" style="color: blue; text-decoration: underline;">x3d-public@web3d.org</a>><br><b>Subject:</b><span class="Apple-converted-space"> </span>Re: List of Differences between Spec and X3DUOM<o:p></o:p></div></div></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Thank you Don for quick change, I run the script again and still found these:<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'size' in node ProximitySensor has different access type (Spec <=> X3DUOM): inputOutput !== initializeOnly.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'size' in node TransformSensor has different access type (Spec <=> X3DUOM): inputOutput !== initializeOnly.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'size' in node VisibilitySensor has different access type (Spec <=> X3DUOM): inputOutput !== initializeOnly.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field SFBool 'solid' in node ArcClose2D has different value (Spec <=> X3DUOM): false !== true.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field SFBool 'solid' in node Disk2D has different value (Spec <=> X3DUOM): false !== true.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field SFBool 'solid' in node Rectangle2D has different value (Spec <=> X3DUOM): false !== true.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field SFBool 'solid' in node TriangleSet2D has different value (Spec <=> X3DUOM): false !== true.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'beginCap' in node Extrusion has different access type (Spec <=> X3DUOM): initializeOnly !== inputOnly.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'endCap' in node Extrusion has different access type (Spec <=> X3DUOM): initializeOnly !== inputOnly.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'ccw' in node Extrusion has different access type (Spec <=> X3DUOM): initializeOnly !== inputOnly.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'convex' in node Extrusion has different access type (Spec <=> X3DUOM): initializeOnly !== inputOnly.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'creaseAngle' in node Extrusion has different access type (Spec <=> X3DUOM): initializeOnly !== inputOnly.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'creaseAngle' in node Extrusion has different type (Spec <=> X3DUOM): SFFloat !== SFBool.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'crossSection' in node Extrusion has different access type (Spec <=> X3DUOM): initializeOnly !== inputOnly.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'orientation' in node Extrusion has different access type (Spec <=> X3DUOM): initializeOnly !== inputOnly.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'scale' in node Extrusion has different access type (Spec <=> X3DUOM): initializeOnly !== inputOnly.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'spine' in node Extrusion has different access type (Spec <=> X3DUOM): initializeOnly !== inputOnly.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field MFDouble 'height' in node GeoElevationGrid has different value (Spec <=> X3DUOM): 0, 0 !== 0 0.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'size' in node GeoProximitySensor has different access type (Spec <=> X3DUOM): inputOutput !== initializeOnly.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field MFVec3f 'jointBindingPositions' in node HAnimHumanoid has different value (Spec <=> X3DUOM): !== 0 0 0.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field MFRotation 'jointBindingRotations' in node HAnimHumanoid has different value (Spec <=> X3DUOM): !== 0 0 1 0.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field MFVec3f 'jointBindingScales' in node HAnimHumanoid has different value (Spec <=> X3DUOM): !== 0 0 0.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field SFBool 'enabled' in node HAnimMotion has different value (Spec <=> X3DUOM): true !== false.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'joints' in node HAnimMotion has different type (Spec <=> X3DUOM): SFString !== MFString.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'channels' in node HAnimMotion has different type (Spec <=> X3DUOM): SFString !== MFString.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'name' in node FloatVertexAttribute has different type (Spec <=> X3DUOM): SFString !== xs:NMTOKEN.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'name' in node Matrix3VertexAttribute has different type (Spec <=> X3DUOM): SFString !== xs:NMTOKEN.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'name' in node Matrix4VertexAttribute has different type (Spec <=> X3DUOM): SFString !== xs:NMTOKEN.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field SFBool 'solid' in node Text has different value (Spec <=> X3DUOM): false !== true.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div></div><div><div><div><div><div><div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="">--<o:p></o:p></span></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="">Holger Seelig<o:p></o:p></span></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="">Leipzig, Germany<o:p></o:p></span></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style=""><o:p> </o:p></span></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style=""><a href="mailto:holger.seelig@yahoo.de" style="color: blue; text-decoration: underline;">holger.seelig@yahoo.de</a><o:p></o:p></span></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style=""><a href="https://create3000.github.io/x_ite/" style="color: blue; text-decoration: underline;">https://create3000.github.io/x_ite/</a><o:p></o:p></span></div></div></div></div></div></div></div></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><br><br><o:p></o:p></div><blockquote style="margin-top: 5pt; margin-bottom: 5pt;"><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Am 06.11.2023 um 05:38 schrieb Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" style="color: blue; text-decoration: underline;">brutzman@nps.edu</a>>:<o:p></o:p></div></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Again wow!! and thank you Holger for tremendous work. Super valuable.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">I have tried to carefully handle each issue and think the results should be pretty clean now. Results in version control and also online at<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div><ul type="disc" style="margin-bottom: 0in; margin-top: 0in;"><li class="MsoListParagraph" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">X3D Specifications: Schema and DOCTYPE Validation<o:p></o:p></li><li class="MsoListParagraph" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><a href="https://www.web3d.org/specifications" style="color: blue; text-decoration: underline;">https://www.web3d.org/specifications</a><o:p></o:p></li></ul><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Here are summaries of what I changed and tested.<o:p></o:p></div></div><div style="border-width: medium medium 1.5pt; border-style: none none solid; padding: 0in 0in 1pt; border-color: currentcolor currentcolor windowtext; border-image: none;"><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div><p class="MsoListParagraph" style="margin-right: 0in; margin-left: 0.25in; font-size: 11pt; font-family: Calibri, sans-serif; margin-bottom: 0in; text-indent: -0.25in;"><span>a.<span style="font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 7pt; line-height: normal; font-family: "Times New Roman"; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"> <span class="Apple-converted-space"> </span></span></span>X3D Schema (which is used to autogenerate X3DUOM)<o:p></o:p></p><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div><ul type="disc" style="margin-bottom: 0in; margin-top: 0in;"><li class="MsoListParagraph" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">X3D XML Schema update activity:<o:p></o:p></li><li class="MsoListParagraph" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><a href="https://www.web3d.org/specifications/x3d-schema-changelog.txt" style="color: blue; text-decoration: underline;">https://www.web3d.org/specifications/x3d-schema-changelog.txt</a><o:p></o:p></li></ul><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">5 NOV 2023, seelig, brutzman</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- all solid fields have accessType initializeOnly</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- (4.0) added ComposedCubeMapTexture textureProperties</span><span class="apple-converted-space"> </span><span style="font-size: 10pt; font-family: "Courier New";">, must follow other textures</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- several size fields have accessType initializeOnly (rather than inputOutput):</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";"> X3DEnvironmentalSensorNode, Box, GeneratedCubeMapTexture, Rectangle2D</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- ElevationGrid default values xDimension 0, zDimension 0, height is empty array</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- GeoElevationGrid default values xDimension 0, zDimension 0, height is [0 0]</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";"> with difference noted as X3D 4.1 erratum in issue tracker under Mantis 1447.</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- GeoElevationGrid set_height has type MFDouble</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- Extrusion fields beginCap, ccw, convex, creaseAngle, crossSection, endCap,</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";"> orientation, scale, solid, spine have accessType initializeOnly.</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- note fieldOfView default values set to 0.7854 rather than spec value 0.785398</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";"> in order to avoid false-positive validation errors, also avoid roundoff errors in tools</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- HAnimDisplacer attribute coordIndex has accessType inputOutput</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- added HAnimHumanoid MFBool [in out] motionsEnabled</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- HAnimMotion added next, previous fields</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- SplinePositionInterpolator, SplinePositionInterpolator2D, SplineScalarInterpolator</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";"> closed field has accessType inputOutput</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- SquadOrientationInterpolator has no closed field</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- LayerSet order field has accessType inputOutput</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- PointLight, SpotLight radius field has accessType inputOutput</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- NurbsOrientationInterpolator, NurbsPositionInterpolator knot field</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";"> has accessType inputOutput</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- (4.0) OrthoViewpoint fieldOfView has type MFFloat even though SFVec3f is more</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";"> correct to prevent modeling errors, deficiency recorded as Mantis 1398</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- (4.0) ParticleSystem color field has type SFNode (synonym for prior colorRamp field)</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- SurfaceEmitter has no coordIndex fields, removed</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- CylinderSensor, PlaneSensor field axisRotation default value 0 0 1 0</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- UniversalJoint field body2axis is type SFVec3f</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- X3DVertexAttributeNode, FloatVertexAttribute, Matrix3VertexAttribute Matrix4VertexAttribute</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";"> field name has accessType inputOutput</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- (4.0) added Appearance backMaterial field</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- (4.0) added TextureTransform, TextureTransform3D, TextureTransformMatrix3D mapping field</span><o:p></o:p></div></div><div style="border-width: medium medium 1.5pt; border-style: none none solid; padding: 0in 0in 1pt; border-color: currentcolor currentcolor windowtext; border-image: none;"><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div><p class="MsoListParagraph" style="margin-right: 0in; margin-left: 0.25in; font-size: 11pt; font-family: Calibri, sans-serif; margin-bottom: 0in; text-indent: -0.25in;"><span>b.<span style="font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 7pt; line-height: normal; font-family: "Times New Roman"; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"> <span class="Apple-converted-space"> </span></span></span>X3D DOCTYPE 3.0..4.0<o:p></o:p></p><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div><ul type="disc" style="margin-bottom: 0in; margin-top: 0in;"><li class="MsoListParagraph" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">X3D DTD update activity:<o:p></o:p></li><li class="MsoListParagraph" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><a href="https://www.web3d.org/specifications/x3d-dtd-changelog.txt" style="color: blue; text-decoration: underline;">https://www.web3d.org/specifications/x3d-dtd-changelog.txt</a><o:p></o:p></li></ul><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">5 NOV 2023, seelig, brutzman</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- (4.0) added ComposedCubeMapTexture textureProperties</span><span class="apple-converted-space"> </span><span style="font-size: 10pt; font-family: "Courier New";">, must follow other textures</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- ElevationGrid default values xDimension 0, zDimension 0, height is empty array</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- GeoElevationGrid default values xDimension 0, zDimension 0, height is [0 0]</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";"> with difference noted as X3D 4.1 erratum in issue tracker under Mantis 1447.</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- note fieldOfView default values set to 0.7854 rather than spec value 0.785398</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";"> in order to avoid false-positive validation errors, also avoid roundoff errors in tools</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- (4.0) OrthoViewpoint fieldOfView has type MFFloat even though SFVec3f is more</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";"> correct to prevent modeling errors, deficiency recorded as Mantis 1398</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- SurfaceEmitter has no coordIndex field, removed</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- CylinderSensor, PlaneSensor field axisRotation default value 0 0 1 0</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 10pt; font-family: "Courier New";">- (4.0) added TextureTransform3D, TextureTransformMatrix3D mapping field</span><o:p></o:p></div></div><div style="border-width: medium medium 1.5pt; border-style: none none solid; padding: 0in 0in 1pt; border-color: currentcolor currentcolor windowtext; border-image: none;"><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div><p class="MsoListParagraph" style="margin-right: 0in; margin-left: 0.25in; font-size: 11pt; font-family: Calibri, sans-serif; margin-bottom: 0in; text-indent: -0.25in;"><span>c.<span style="font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 7pt; line-height: normal; font-family: "Times New Roman"; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"> <span class="Apple-converted-space"> </span></span></span>Lots of corresponding adjustments to X3D Tooltips, hopefully consistently.<o:p></o:p></p><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div><ul type="disc" style="margin-bottom: 0in; margin-top: 0in;"><li class="MsoListParagraph" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Extensible 3D (X3D) 4.0 Tooltips<o:p></o:p></li><li class="MsoListParagraph" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><a href="https://www.web3d.org/x3d/tooltips/X3dTooltips.html" style="color: blue; text-decoration: underline;">https://www.web3d.org/x3d/tooltips/X3dTooltips.html</a><o:p></o:p></li></ul><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div><p class="MsoListParagraph" style="margin-right: 0in; margin-left: 0.25in; font-size: 11pt; font-family: Calibri, sans-serif; margin-bottom: 0in; text-indent: -0.25in;"><span>d.<span style="font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 7pt; line-height: normal; font-family: "Times New Roman"; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"> <span class="Apple-converted-space"> </span></span></span>Things that I was unable to reconcile from your log:<o:p></o:p></p><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div><ul type="disc" style="margin-bottom: 0in; margin-top: 0in;"><li class="MsoListParagraph" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">FontStyle, ScreenFontStyle already have style field OK<o:p></o:p></li><li class="MsoListParagraph" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">TextureProjectorParallel does not have fields upVector,shadowColor,shadowBias,shadowMapSize<o:p></o:p></li></ul><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">So, a major step forward. Much appreciated. Further double/triple-checking welcome, by anyone. High-quality X3D validation and tools and libraries and documentation are important.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Looking ahead: I’ll need some time to further test autogenerated Java X3DJSAIL and Python X3DPSAIL x3d.py libraries. Will announce when updated., likely another week or two Am thinking of adding consistent convenience/utility methods (perhaps something like showXMLcontainerFields) to help people gain greater confidence (and better diagnostic possibilities) when serializing a model out to X3D XML form.<o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Have fun with high-quality X3D! 8)<o:p></o:p></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 9pt; font-family: "Courier New";"> </span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 9pt; font-family: "Courier New";">all the best, Don</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 9pt; font-family: "Courier New";">--<span class="apple-converted-space"> </span></span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 9pt; font-family: "Courier New";">Don Brutzman Naval Postgraduate School, Code USW/Br <span class="apple-converted-space"> </span><a href="mailto:brutzman@nps.edu" style="color: blue; text-decoration: underline;">brutzman@nps.edu</a></span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 9pt; font-family: "Courier New";">Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149</span><o:p></o:p></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><span style="font-size: 9pt; font-family: "Courier New";">X3D graphics, virtual worlds, navy robotics<span class="apple-converted-space"> </span><a href="https://faculty.nps.edu/brutzman" style="color: blue; text-decoration: underline;">https://faculty.nps.edu/brutzman</a></span><o:p></o:p></div></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div><div><div style="border-width: 1pt medium medium; border-style: solid none none; padding: 3pt 0in 0in; border-color: currentcolor; border-image: none;"><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><b>From:</b><span class="apple-converted-space"> </span>Holger Seelig <<a href="mailto:holger.seelig@yahoo.de" style="color: blue; text-decoration: underline;">holger.seelig@yahoo.de</a>><span class="apple-converted-space"> </span><br><b>Sent:</b><span class="apple-converted-space"> </span>Wednesday, November 1, 2023 2:56 PM<br><b>To:</b><span class="apple-converted-space"> </span>X3D <<a href="mailto:x3d-public@web3d.org" style="color: blue; text-decoration: underline;">x3d-public@web3d.org</a>><br><b>Cc:</b><span class="apple-converted-space"> </span>Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" style="color: blue; text-decoration: underline;">brutzman@nps.edu</a>><br><b>Subject:</b><span class="apple-converted-space"> </span>List of Differences between Spec and X3DUOM<o:p></o:p></div></div></div></div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div><div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">I have compared the specification from proof with X3DUOM and found a lot of differences of field values, number of fields, and access type. I have double checked all issues from:<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/Architecture.html" style="color: blue; text-decoration: underline;">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/Architecture.html</a><o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><a href="https://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml" style="color: blue; text-decoration: underline;">https://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml</a><o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">My guess is that a lot of issues are correct in X3DUOM, but as far as I can see, not all.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">The list still misses Sound component.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Below is the list of differences:<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node IndexedQuadSet has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node QuadSet has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">ComposedCubeMapTexture number of fields differ (Spec <=> X3DUOM): 9 <=> 8.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> Where [textureProperties] not in X3DUOM.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'size' in node GeneratedCubeMapTexture has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node ArcClose2D has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node Disk2D has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'size' in node Rectangle2D has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node Rectangle2D has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node TriangleSet2D has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'size' in node Box has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node Box has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node Cone has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node Cylinder has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field SFInt32 'xDimension' in node ElevationGrid has different value (Spec <=> X3DUOM): 0 !== 2.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field SFInt32 'zDimension' in node ElevationGrid has different value (Spec <=> X3DUOM): 0 !== 2.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node ElevationGrid has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field MFFloat 'height' in node ElevationGrid has different value (Spec <=> X3DUOM): !== 0 0 0 0.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node Extrusion has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'orientation' in node Extrusion has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'scale' in node Extrusion has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node IndexedFaceSet has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node Sphere has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'set_height' in node GeoElevationGrid has different type (Spec <=> X3DUOM): MFDouble !== MFFloat.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field SFInt32 'xDimension' in node GeoElevationGrid has different value (Spec <=> X3DUOM): 0 !== 2.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field SFInt32 'zDimension' in node GeoElevationGrid has different value (Spec <=> X3DUOM): 0 !== 2.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node GeoElevationGrid has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field MFDouble 'height' in node GeoElevationGrid has different value (Spec <=> X3DUOM): 0, 0 !== 0 0 0 0.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field SFFloat 'fieldOfView' in node GeoViewpoint has different value (Spec <=> X3DUOM): 0.785398 !== 0.7854.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'coordIndex' in node HAnimDisplacer has different access type (Spec <=> X3DUOM): inputOutput !== initializeOnly.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">HAnimHumanoid number of fields differ (Spec <=> X3DUOM): 31 <=> 30.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> Where [motionsEnabled] not in X3DUOM.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">HAnimMotion number of fields differ (Spec <=> X3DUOM): 20 <=> 18.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> Where [next,previous] not in X3DUOM.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'closed' in node SplinePositionInterpolator has different access type (Spec <=> X3DUOM): inputOutput !== initializeOnly.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'closed' in node SplinePositionInterpolator2D has different access type (Spec <=> X3DUOM): inputOutput !== initializeOnly.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'closed' in node SplineScalarInterpolator has different access type (Spec <=> X3DUOM): inputOutput !== initializeOnly.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Unknown field 'closed' of node SquadOrientationInterpolator in X3DUOM.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'order' in node LayerSet has different access type (Spec <=> X3DUOM): inputOutput !== initializeOnly.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">ScreenFontStyle number of fields differ (Spec <=> X3DUOM): 10 <=> 9.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> Where [style] not in X3DUOM.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'radius' in node PointLight has different access type (Spec <=> X3DUOM): inputOutput !== initializeOnly.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'radius' in node SpotLight has different access type (Spec <=> X3DUOM): inputOutput !== initializeOnly.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'knot' in node NurbsOrientationInterpolator has different access type (Spec <=> X3DUOM): inputOutput !== initializeOnly.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node NurbsPatchSurface has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'knot' in node NurbsPositionInterpolator has different access type (Spec <=> X3DUOM): inputOutput !== initializeOnly.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node NurbsSweptSurface has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node NurbsSwungSurface has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node NurbsTrimmedSurface has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'fieldOfView' in node OrthoViewpoint has different type (Spec <=> X3DUOM): MFFloat !== SFVec4f.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field SFFloat 'fieldOfView' in node Viewpoint has different value (Spec <=> X3DUOM): 0.785398 !== 0.7854.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field SFFloat 'angle' in node ConeEmitter has different value (Spec <=> X3DUOM): 0.785398 !== 0.7854.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'color' in node ParticleSystem has different type (Spec <=> X3DUOM): SFNode !== MFNode.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">SurfaceEmitter number of fields differ (Spec <=> X3DUOM): 7 <=> 9.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> Where [coordIndex,set_coordIndex] not in Spec.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field SFRotation 'axisRotation' in node PlaneSensor has different value (Spec <=> X3DUOM): 0 0 1 0 !== 0 1 0 0.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node IndexedTriangleFanSet has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node IndexedTriangleSet has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node IndexedTriangleStripSet has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node TriangleFanSet has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node TriangleSet has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node TriangleStripSet has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'body2Axis' in node UniversalJoint has different type (Spec <=> X3DUOM): SFVec3f !== SFFloat.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'name' in node FloatVertexAttribute has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'name' in node Matrix3VertexAttribute has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'name' in node Matrix4VertexAttribute has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Appearance number of fields differ (Spec <=> X3DUOM): 12 <=> 11.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> Where [backMaterial] not in X3DUOM.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">FontStyle number of fields differ (Spec <=> X3DUOM): 10 <=> 9.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> Where [style] not in X3DUOM.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field 'solid' in node Text has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Field SFFloat 'fieldOfView' in node TextureProjector has different value (Spec <=> X3DUOM): 0.785398 !== 0.7854.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">TextureProjectorParallel number of fields differ (Spec <=> X3DUOM): 20 <=> 16.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> Where [upVector,shadowColor,shadowBias,shadowMapSize] not in X3DUOM.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">TextureTransform number of fields differ (Spec <=> X3DUOM): 6 <=> 5.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> Where [mapping] not in X3DUOM.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">TextureTransform3D number of fields differ (Spec <=> X3DUOM): 6 <=> 5.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> Where [mapping] not in X3DUOM.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">TextureTransformMatrix3D number of fields differ (Spec <=> X3DUOM): 3 <=> 2.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> Where [mapping] not in X3DUOM.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Test done.<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div></div><div><div><div><div><div><div><div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">--<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Holger Seelig<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Leipzig, Germany<o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><a href="mailto:holger.seelig@yahoo.de" style="color: blue; text-decoration: underline;">holger.seelig@yahoo.de</a><o:p></o:p></div></div></div><div><div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcreate3000.github.io%2Fx_ite%2F&data=05%7C01%7Cbrutzman%40nps.edu%7C968de1a6ac4d44b8755408dbdebca3e4%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638348674058018008%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=ugUZhYZrRbub2hjfmdP9JsPTzQ%2BAmQ6k6IM4Fb3Md2M%3D&reserved=0" style="color: blue; text-decoration: underline;">https://create3000.github.io/x_ite/</a></div></div></div></div></div></div></div></div></div></div></div></div></blockquote></div></div></div></div></blockquote></div><br></div></body></html>