<div dir="auto">Okay, awake, and motivation is kicking in.</div><div dir="auto"><br></div><div dir="auto">Tasks:</div><div dir="auto"><br></div><div dir="auto">1. Download latest X3DUOM, overwrite my changes.</div><div dir="auto"><br></div><div dir="auto">2. Double check that needed changes are present in X3DUOM</div><div dir="auto"><br></div><div dir="auto">3. Copy X3DUOM to working folder</div><div dir="auto"><br></div><div dir="auto">4. Merge X3DUOM with X_ITE UOM</div><div dir="auto"><br></div><div dir="auto">5. Create<span style="font-family:-apple-system,sans-serif"> JSON schemas, fieldTypes.js and mapToMethod.js.</span></div><div dir="auto"><br></div><div dir="auto">6. Create any needed JSON files to test MultiTextureTransform.</div><div dir="auto"><br></div><div dir="auto">7. Copy schemas and test files to x3dvalidate repository.</div><div dir="auto"><br></div><div dir="auto">8. Test.</div><div dir="auto"><br></div><div dir="auto">9. Report Success/Failure.</div><div dir="auto"><br></div><div dir="auto">10. Validate the entire archive.</div><div dir="auto"><br></div><div dir="auto">11. Make a decision whether to report more potential issues or not. Ignore flagged files.</div><div dir="auto"><br></div><div dir="auto">12. Check-in and publish.</div><div dir="auto"><br></div><div dir="auto">If anyone is interested in my UOM merger, let me know. It’s written in Python.</div><div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Tue, Oct 7, 2025 at 3:11 PM John Carlson <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">Okay. I will see how the change affects JSON schema. I will be validating Aaron’s models as well. Should be fun!</div><div dir="auto"><br></div><div dir="auto">But first I get some sleep!</div><div dir="auto"><br></div><div dir="auto">Thanks a bunch!</div><div dir="auto"><br></div><div dir="auto">John<br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Tue, Oct 7, 2025 at 3:02 PM Don Brutzman <<a href="mailto:don.brutzman@gmail.com" target="_blank">don.brutzman@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div>Shifting this conversation to x3d-public from x3d (member-only) mailing list. Original thread:</div><div><ul><li>[x3d] Zoom meeting to discuss inheritance in TextureTransforms</li><li><a href="https://www.web3d.org/mailman/private/x3d_web3d.org/2025-October/008869.html" target="_blank">https://www.web3d.org/mailman/private/x3d_web3d.org/2025-October/008869.html</a></li></ul><div>Problem summary: X3D 4.0 introduced X3DSingleTextureTransformNode as an intermediate interface for three nodes. This was not reflected in X3D XML Schema appinfo and X3DUOM. </div></div><div><br></div><div>The thread below indicates problems with interface mismatch for three nodes: </div><div> | -+- TextureTransform</div> | +- TextureTransformMatrix3D<br> | +- TextureTransform3D</div><div dir="ltr"><br></div><div dir="ltr"><span style="color:rgb(0,0,0)">Background details:</span><span style="color:rgb(0,0,0)"> </span>X3D version 4.0 introduced a new intermediate interface <span style="color:rgb(0,0,0)">X3DSingleTextureTransformNode between these nodes and the parent interface </span>X3DTextureTransformNode.</div><div dir="ltr"><br></div><div dir="ltr">This change was not reflected in X3D XML Schema inheritance appinfo, which left X3D Unified Object Model (X3DUOM) out of date for version 4.0. Now corrected.</div><div dir="ltr"><ul><li>X3D XML Schema update activity:</li><li><a href="https://www.web3d.org/specifications/x3d-schema-changelog.txt" target="_blank">https://www.web3d.org/specifications/x3d-schema-changelog.txt</a></li><li><font face="monospace">7 OCT 2025, carlson, brutzman</font></li></ul></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><font face="monospace">- (v4.0) X3D version 4.0 introduced a new intermediate interface X3DSingleTextureTransformNode.</font></div><div><font face="monospace"> Correct annotations for TextureTransform, TextureTransformMatrix3D, TextureTransform3D</font></div><div><font face="monospace"> to inherit X3DSingleTextureTransformNode vice X3DTextureTransformNode.</font></div><div><font face="monospace"> Similarly remove 'mapping' field from these three nodes, since that field </font></div><div><font face="monospace"> is defined as part of X3DSingleTextureTransformNode.</font></div><div><font face="monospace"> TODO: update X3D XML Schema documentation using Altova XMLSpy.</font></div></blockquote><div dir="ltr"><br></div><div dir="ltr">X3D XML Schema changes and X3DUOM changes visible at</div><div dir="ltr"><ul><li>SourceForge x3d revision, </li><li><a href="https://sourceforge.net/p/x3d/code/37586/" target="_blank">https://sourceforge.net/p/x3d/code/37586/</a></li></ul></div><div dir="ltr">Applied and tested changes by rebuilding and releasing X3DJSAIL.</div><div><ul><li>X3D Java Scene Access Interface Library (X3DJSAIL)</li><li>X3D Java Scene Access Interface Library (X3DJSAIL) supports programmers with standards-based X3D Java interfaces and objects, all as open source.</li><li><a href="https://www.web3d.org/specifications/java/X3DJSAIL.html" target="_blank">https://www.web3d.org/specifications/java/X3DJSAIL.html</a></li></ul></div><div><div>Incidentally, while troubleshooting, I found a previously overlooked bug in X3DJSAIL deployment. Updated Javadoc was not getting uploaded to the correct directory. Now fixed.</div></div><div><br></div><div></div><div dir="ltr">Confirmation of changed interfaces for these three nodes can be found at</div><div dir="ltr"><ul><li>X3DJSAIL Javadoc, Interface X3DSingleTextureTransformNode</li><li><a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/sai/Texturing/X3DSingleTextureNode.html" target="_blank">https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/sai/Texturing/X3DSingleTextureNode.html</a></li></ul><div>John, rather than creating a new ticket on sourceforge, I clarified and updated your other ticket.</div><div><ul><li>ticket #72, X3DUOM inheritance for three texture-transform nodes needs to be X3DSingleTextureTransformNode</li><li>(renamed from
<a href="https://sourceforge.net/p/x3d/tickets/72/" style="box-sizing:inherit;margin:0px;padding:0px;font-size:14px;vertical-align:baseline;background:rgba(0,0,0,0);outline:none;color:rgb(0,153,204);text-decoration-line:none;font-family:Lato,sans-serif" target="_blank">X3DUOM please take action!</a>)</li><li><a href="https://sourceforge.net/p/x3d/tickets/72/" target="_blank">https://sourceforge.net/p/x3d/tickets/72/</a></li></ul><div>Again thanks for detecting and reporting this complex issue, glad we have it fixed.</div></div><div><br></div><div>Have fun with X3D! 😀</div><div><br></div><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div style="color:rgb(34,34,34)"><font face="monospace">all the best, Don</font></div><div style="color:rgb(34,34,34)"><font face="monospace">-- </font></div><div style="color:rgb(34,34,34)"><font face="monospace">X3D Graphics, Maritime Robotics, Distributed Simulation</font></div><div style="color:rgb(34,34,34)"><font face="monospace">Relative Motion Consulting <a href="https://RelativeMotion.info" target="_blank">https://RelativeMotion.info</a></font></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Oct 7, 2025 at 11:37 AM Don Brutzman <<a href="mailto:don.brutzman@gmail.com" target="_blank">don.brutzman@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>I am shifting this conversation to x3d-public mailing list since potential impact is broad.</div><div><br></div><div>Summary: X3D 4.0 introduced X3DSingleTextureTransformNode as an intermediate interface for three nodes. This was not reflected in X3D XML Schema appinfo and X3DUOM. Corrections are needed.</div><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div style="color:rgb(34,34,34)"><font face="monospace"><br></font></div><div style="color:rgb(34,34,34)"><font face="monospace">all the best, Don</font></div><div style="color:rgb(34,34,34)"><font face="monospace">-- </font></div><div style="color:rgb(34,34,34)"><font face="monospace">X3D Graphics, Maritime Robotics, Distributed Simulation</font></div><div style="color:rgb(34,34,34)"><font face="monospace">Relative Motion Consulting <a href="https://RelativeMotion.info" target="_blank">https://RelativeMotion.info</a></font></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Oct 7, 2025 at 9:50 AM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Please do create a ticket. Thanks!</div><div dir="auto"><br></div><div dir="auto">Feel free to copy and paste my text into the ticket.</div><div dir="auto"><br></div><div dir="auto">I have not looked at XML schema in-depth. Probably there’s some issue with how X3DUOM is created, if the XML schema follows the specification.</div><div dir="auto"><br></div><div dir="auto">Perhaps the question becomes, should a MultiTextureTransform be able to contain another MultiTextureTransform in the textureTransform field?</div><div dir="auto"><br></div><div dir="auto">John </div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Oct 7, 2025 at 11:38 AM Don Brutzman <<a href="mailto:don.brutzman@gmail.com" target="_blank">don.brutzman@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>Thanks for the well-defined, in-depth trouble report. I look forward to following your points in detail by checking X3DUOM, and then the originating X3D XML Schema, where information about inheritance relationships is captured. The X3D Architecture specification of course remains authoritative, and X3DUOM is a reflection of those relationships.</div><div><ul><li>X3D Architecture, draft v4.1, clause 18 Texturing component, 18.3 Abstract types</li><li><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/texturing.html#AbstractTypes" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/texturing.html#AbstractTypes</a></li></ul><div>The following specification diagram is also helpful, reference and excerpt here:</div></div><div><ul><li>X3D Architecture, draft v4.1, clause 4 Concepts, 4.4.2.3 Interface hierarchy</li><li><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/concepts.html#InterfaceHierarchy" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/concepts.html#InterfaceHierarchy</a></li></ul></div><div><pre style="color:rgb(0,0,0);font-size:11.05px"> +- X3DAppearanceChildNode -+- AcousticProperties
| +- FillProperties
| [...]
| |
| +- X3DTextureNode -+- MultiTexture
| | |
| | + X3DSingleTextureNode -+- X3DEnvironmentTextureNode -+- ComposedCubeMapTexture
| | | +- GeneratedCubeMapTexture
| | | +- ImageCubeMapTexture (X3DUrlObject)*
| | |
| | +- X3DTexture2DNode -+- ImageTexture (X3DUrlObject)*
| | | +- MovieTexture (X3DSoundSourceNode, X3DUrlObject)*
| | | +- PixelTexture
| | |
| | +- X3DTexture3DNode -+- ComposedTexture3D
| | +- ImageTexture3D (X3DUrlObject)*
| | +- PixelTexture3D
| |
| |
| +- X3DTextureTransformNode +- MultiTextureTransform
| +- X3DSingleTextureTransformNode -+- TextureTransform
| +- TextureTransformMatrix3D
| +- TextureTransform3D</pre><pre style="color:rgb(0,0,0);font-size:11.05px"><br></pre></div><div>For now this issue is best handled as a trouble ticket - you are welcome to create it, or I can. Again thanks.</div><div><ul><li>SourceForge: X3D Trouble Tickets</li><li><a href="https://sourceforge.net/p/x3d/tickets/" target="_blank">https://sourceforge.net/p/x3d/tickets/</a></li></ul></div><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div style="color:rgb(34,34,34)"><span style="font-family:monospace">all the best, Don</span></div><div style="color:rgb(34,34,34)"><font face="monospace">-- </font></div><div style="color:rgb(34,34,34)"><font face="monospace">X3D Graphics, Maritime Robotics, Distributed Simulation</font></div><div style="color:rgb(34,34,34)"><font face="monospace">Relative Motion Consulting <a href="https://RelativeMotion.info" target="_blank">https://RelativeMotion.info</a></font></div></div></div></div><br></div><br><div class="gmail_quote"></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Oct 7, 2025 at 2:38 AM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"></blockquote></div><div class="gmail_quote"><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">First off, I don't see a problem with the specification!<div><br></div><div>The inheritance in X3DUOM for these 3 nodes needs to be investigated.<div><br></div><div>TextureTransform</div><div>TextureTransform3D</div><div>TextureTransformMatrix3D</div><div><br></div><div>Specifically I would like to additionally inherit from</div><div><br></div><div>X3DSingleTextureTransformNode</div><div><br></div><div>See details below:</div><div><br></div><div><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px">TextureTransform : X3DSingleTextureTransformNode {
SFVec2f [in,out] center 0 0 (-∞,∞)
SFString [in,out] mapping ""
SFNode [in,out] metadata NULL [X3DMetadataObject]
SFFloat [in,out] rotation 0 (-∞,∞)
SFVec2f [in,out] scale 1 1 (-∞,∞)
SFVec2f [in,out] translation 0 0 (-∞,∞)
}</pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><br></pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><pre style="margin-left:25px">TextureTransform3D : X3DSingleTextureTransformNode {
SFVec3f [in,out] center 0 0 0 (-∞,∞)
SFString [in,out] mapping ""
SFNode [in,out] metadata NULL [X3DMetadataObject]
SFRotation [in,out] rotation 0 0 1 0 (-∞,∞)
SFVec3f [in,out] scale 1 1 1 (-∞,∞)
SFVec3f [in,out] translation 0 0 0 (-∞,∞)
}</pre>
<pre style="margin-left:25px">TextureTransformMatrix3D : X3DSingleTextureTransformNode {
SFString [in,out] mapping ""
SFMatrix4f [in,out] matrix 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 (-∞,∞)
SFNode [in,out] metadata NULL [X3DMetadataObject]
}</pre>
<pre style="margin-left:25px">X3DSingleTextureTransformNode : X3DTextureTransformNode {
SFString [in,out] mapping ""
SFNode [in,out] metadata NULL [X3DMetadataObject]
}</pre></pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px">Apparently, the TextureTransform nodes DO</pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px">inherit from X3DTextureTransformNode in X3DUOM<span style="font-family:Arial,Helvetica,sans-serif">, but currently,</span></pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><span style="font-family:Arial,Helvetica,sans-serif"> MultiTextureTransform has a field, </span>textureTransform, which requires an</pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px">X3DSingleTextureTransformNode</pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><br></pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px">So in X3DUOM, either additional inheritance needs to be added,</pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px">or the acceptableNodeTypes needs to include the super type,</pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px">X3DSingleTextureTransformNode.</pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><br></pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px">John</pre></div></div></div></blockquote></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
_______________________________________________<br>
x3d mailing list<br>
<a href="mailto:x3d@web3d.org" target="_blank">x3d@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d_web3d.org</a><br>
</blockquote></div>
</blockquote></div></div>
</blockquote></div>
</blockquote></div></div>
</blockquote></div></div>
</blockquote></div></div>