<div dir="ltr"><div dir="ltr">Here are specific HAnimMotion differences from Spec present in X3DUOM, but you really want to change XML Schema (see type= changes).  This is critical for VRML generation based on X3DUOM.</div><div dir="ltr"><br></div><div dir="ltr">Thanks!</div><div dir="ltr"><br></div><div dir="ltr">John<br><div><br></div><div><div>       <ConcreteNode name="HAnimMotion"></div><div>          <InterfaceDefinition specificationUrl="<a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/hanim.html#HAnimMotion">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/hanim.html#HAnimMotion</a>"</div><div>-                               appinfo="An HAnimMotion node supports discrete frame-by-frame playback for H-Anim motion data animation."></div><div>+                               appinfo="An HAnimMotion node supports discrete frame-by-frame playback for HAnim motion data animation."></div><div>             <componentInfo name="HAnim" level="2"/></div><div>             <Inheritance baseType="X3DChildNode"/></div><div>             <field name="channels"</div><div><font color="#ff0000">-                    type="MFString"</font></div><div><font color="#ff0000">+                    type="SFString"</font></div><div>                     accessType="inputOutput"</div><div>                     description="list of number of channels for transformation, followed by transformation type of each channel of data."/></div><div>             <field name="channelsEnabled"</div><div>@@ -22515,7 +22520,8 @@</div><div>             <field name="frameCount"</div><div>                     type="SFInt32"</div><div>                     accessType="outputOnly"</div><div>-                    minInclusive="0"/></div><div>+                    minInclusive="0"</div><div>+                    description="frameCount is computed at run time and indicates the total number of frames present in the animation, equaling the number of sets of channel data rows present in the values array."/></div><div>             <field name="frameDuration"</div><div>                     type="SFTime"</div><div>                     accessType="inputOutput"</div><div>@@ -22540,7 +22546,7 @@</div><div>                     acceptableNodeTypes="IS"</div><div>                     inheritedFrom="X3DNode"/></div><div>             <field name="joints"</div><div><font color="#ff0000">-                    type="MFString"</font></div><div><font color="#ff0000">+                    type="SFString"</font></div><div>                     accessType="inputOutput"</div><div>                     description="joints field lists names of joints that raw motion data is to be applied to."/></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Nov 2, 2023 at 10:23 AM 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"><div dir="auto"><br></div><div dir="auto">I too would like to see motionsEnabled added to X3DUOM and schema.</div><div dir="auto"><br></div><div dir="auto">I’ve noticed some fieldType differences, particularly in HAnimMotion, joints field and channels field, previously reported, but not in Holger's list. You may want to double check your script, if any, Holger.</div><div dir="auto"><br></div><div dir="auto">Thanks,</div><div dir="auto"><br></div><div dir="auto">John</div></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 1, 2023 at 5:21 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">Wow, thanks Holger!  Super helpful.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Am expecting that a lot of the repetitions are recurring due to  mistake(s) in abstract types, which get inherited by concrete nodes.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Will check and report back.<u></u><u></u></p><div><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">all the best, Don<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">-- <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;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:9pt;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:9pt;font-family:"Courier New"">X3D graphics, virtual worlds, navy robotics <a href="https://faculty.nps.edu/brutzman" target="_blank">https://faculty.nps.edu/brutzman</a><u></u><u></u></span></p></div><p class="MsoNormal"><u></u> <u></u></p><div><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> Holger Seelig <<a href="mailto:holger.seelig@yahoo.de" target="_blank">holger.seelig@yahoo.de</a>> <br><b>Sent:</b> Wednesday, November 1, 2023 2:56 PM<br><b>To:</b> X3D <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br><b>Cc:</b> Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>><br><b>Subject:</b> List of Differences between Spec and X3DUOM<u></u><u></u></p></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">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:<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/Architecture.html" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/Architecture.html</a><u></u><u></u></p></div><div><p class="MsoNormal"><a href="https://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml" target="_blank">https://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml</a><u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">My guess is that a lot of issues are correct in X3DUOM, but as far as I can see, not all.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">The list still misses Sound component.<u></u><u></u></p></div><div><p class="MsoNormal">Below is the list of differences:<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Field 'solid' in node IndexedQuadSet has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node QuadSet has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">ComposedCubeMapTexture number of fields differ (Spec <=> X3DUOM): 9 <=> 8.<u></u><u></u></p></div><div><p class="MsoNormal">  Where [textureProperties] not in X3DUOM.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'size' in node GeneratedCubeMapTexture has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node ArcClose2D has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node Disk2D has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'size' in node Rectangle2D has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node Rectangle2D has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node TriangleSet2D has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'size' in node Box has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node Box has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node Cone has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node Cylinder has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field SFInt32 'xDimension' in node ElevationGrid has different value (Spec <=> X3DUOM): 0 !== 2.<u></u><u></u></p></div><div><p class="MsoNormal">Field SFInt32 'zDimension' in node ElevationGrid has different value (Spec <=> X3DUOM): 0 !== 2.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node ElevationGrid has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field MFFloat 'height' in node ElevationGrid has different value (Spec <=> X3DUOM):  !== 0 0 0 0.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node Extrusion has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'orientation' in node Extrusion has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'scale' in node Extrusion has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node IndexedFaceSet has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node Sphere has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'set_height' in node GeoElevationGrid has different type (Spec <=> X3DUOM): MFDouble !== MFFloat.<u></u><u></u></p></div><div><p class="MsoNormal">Field SFInt32 'xDimension' in node GeoElevationGrid has different value (Spec <=> X3DUOM): 0 !== 2.<u></u><u></u></p></div><div><p class="MsoNormal">Field SFInt32 'zDimension' in node GeoElevationGrid has different value (Spec <=> X3DUOM): 0 !== 2.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node GeoElevationGrid has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field MFDouble 'height' in node GeoElevationGrid has different value (Spec <=> X3DUOM): 0, 0 !== 0 0 0 0.<u></u><u></u></p></div><div><p class="MsoNormal">Field SFFloat 'fieldOfView' in node GeoViewpoint has different value (Spec <=> X3DUOM): 0.785398 !== 0.7854.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'coordIndex' in node HAnimDisplacer has different access type (Spec <=> X3DUOM): inputOutput !== initializeOnly.<u></u><u></u></p></div><div><p class="MsoNormal">HAnimHumanoid number of fields differ (Spec <=> X3DUOM): 31 <=> 30.<u></u><u></u></p></div><div><p class="MsoNormal">  Where [motionsEnabled] not in X3DUOM.<u></u><u></u></p></div><div><p class="MsoNormal">HAnimMotion number of fields differ (Spec <=> X3DUOM): 20 <=> 18.<u></u><u></u></p></div><div><p class="MsoNormal">  Where [next,previous] not in X3DUOM.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'closed' in node SplinePositionInterpolator has different access type (Spec <=> X3DUOM): inputOutput !== initializeOnly.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'closed' in node SplinePositionInterpolator2D has different access type (Spec <=> X3DUOM): inputOutput !== initializeOnly.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'closed' in node SplineScalarInterpolator has different access type (Spec <=> X3DUOM): inputOutput !== initializeOnly.<u></u><u></u></p></div><div><p class="MsoNormal">Unknown field 'closed' of node SquadOrientationInterpolator in X3DUOM.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'order' in node LayerSet has different access type (Spec <=> X3DUOM): inputOutput !== initializeOnly.<u></u><u></u></p></div><div><p class="MsoNormal">ScreenFontStyle number of fields differ (Spec <=> X3DUOM): 10 <=> 9.<u></u><u></u></p></div><div><p class="MsoNormal">  Where [style] not in X3DUOM.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'radius' in node PointLight has different access type (Spec <=> X3DUOM): inputOutput !== initializeOnly.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'radius' in node SpotLight has different access type (Spec <=> X3DUOM): inputOutput !== initializeOnly.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'knot' in node NurbsOrientationInterpolator has different access type (Spec <=> X3DUOM): inputOutput !== initializeOnly.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node NurbsPatchSurface has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'knot' in node NurbsPositionInterpolator has different access type (Spec <=> X3DUOM): inputOutput !== initializeOnly.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node NurbsSweptSurface has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node NurbsSwungSurface has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node NurbsTrimmedSurface has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'fieldOfView' in node OrthoViewpoint has different type (Spec <=> X3DUOM): MFFloat !== SFVec4f.<u></u><u></u></p></div><div><p class="MsoNormal">Field SFFloat 'fieldOfView' in node Viewpoint has different value (Spec <=> X3DUOM): 0.785398 !== 0.7854.<u></u><u></u></p></div><div><p class="MsoNormal">Field SFFloat 'angle' in node ConeEmitter has different value (Spec <=> X3DUOM): 0.785398 !== 0.7854.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'color' in node ParticleSystem has different type (Spec <=> X3DUOM): SFNode !== MFNode.<u></u><u></u></p></div><div><p class="MsoNormal">SurfaceEmitter number of fields differ (Spec <=> X3DUOM): 7 <=> 9.<u></u><u></u></p></div><div><p class="MsoNormal">  Where [coordIndex,set_coordIndex] not in Spec.<u></u><u></u></p></div><div><p class="MsoNormal">Field SFRotation 'axisRotation' in node PlaneSensor has different value (Spec <=> X3DUOM): 0 0 1 0 !== 0 1 0 0.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node IndexedTriangleFanSet has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node IndexedTriangleSet has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node IndexedTriangleStripSet has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node TriangleFanSet has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node TriangleSet has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node TriangleStripSet has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'body2Axis' in node UniversalJoint has different type (Spec <=> X3DUOM): SFVec3f !== SFFloat.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'name' in node FloatVertexAttribute has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'name' in node Matrix3VertexAttribute has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'name' in node Matrix4VertexAttribute has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Appearance number of fields differ (Spec <=> X3DUOM): 12 <=> 11.<u></u><u></u></p></div><div><p class="MsoNormal">  Where [backMaterial] not in X3DUOM.<u></u><u></u></p></div><div><p class="MsoNormal">FontStyle number of fields differ (Spec <=> X3DUOM): 10 <=> 9.<u></u><u></u></p></div><div><p class="MsoNormal">  Where [style] not in X3DUOM.<u></u><u></u></p></div><div><p class="MsoNormal">Field 'solid' in node Text has different access type (Spec <=> X3DUOM): initializeOnly !== inputOutput.<u></u><u></u></p></div><div><p class="MsoNormal">Field SFFloat 'fieldOfView' in node TextureProjector has different value (Spec <=> X3DUOM): 0.785398 !== 0.7854.<u></u><u></u></p></div><div><p class="MsoNormal">TextureProjectorParallel number of fields differ (Spec <=> X3DUOM): 20 <=> 16.<u></u><u></u></p></div><div><p class="MsoNormal">  Where [upVector,shadowColor,shadowBias,shadowMapSize] not in X3DUOM.<u></u><u></u></p></div><div><p class="MsoNormal">TextureTransform number of fields differ (Spec <=> X3DUOM): 6 <=> 5.<u></u><u></u></p></div><div><p class="MsoNormal">  Where [mapping] not in X3DUOM.<u></u><u></u></p></div><div><p class="MsoNormal">TextureTransform3D number of fields differ (Spec <=> X3DUOM): 6 <=> 5.<u></u><u></u></p></div><div><p class="MsoNormal">  Where [mapping] not in X3DUOM.<u></u><u></u></p></div><div><p class="MsoNormal">TextureTransformMatrix3D number of fields differ (Spec <=> X3DUOM): 3 <=> 2.<u></u><u></u></p></div><div><p class="MsoNormal">  Where [mapping] not in X3DUOM.<u></u><u></u></p></div><div><p class="MsoNormal">Test done.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><div><div><div><div><div><div><div><p class="MsoNormal"><span style="color:black">--<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="color:black">Holger Seelig<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="color:black">Leipzig, Germany<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="color:black"><u></u> <u></u></span></p></div><div><p class="MsoNormal"><span style="color:black"><a href="mailto:holger.seelig@yahoo.de" target="_blank">holger.seelig@yahoo.de</a><u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="color:black"><a href="https://create3000.github.io/x_ite/" target="_blank">https://create3000.github.io/x_ite/</a><u></u><u></u></span></p></div></div></div></div></div></div></div></div><p class="MsoNormal"><u></u> <u></u></p></div></div></div>_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</blockquote></div></div>
</blockquote></div>