<div dir="ltr"><a href="https://sourceforge.net/p/x3d/tickets/103/">https://sourceforge.net/p/x3d/tickets/103/</a><div><br></div><div>Validated by CommandLine -validate</div><div><br></div><div>Invalid by Schematron:</div><div><br></div><div>&lt;X3D profile='Immersive'&gt; definition is insufficient since nodes in scene have actual<br>profile='CADInterchange'<br>[/X3D, info]<br>&lt;X3D profile='Immersive'&gt; definition is insufficient since nodes in scene have actual<br>profile='MedicalInterchange'<br>[/X3D, info]<br>&lt;X3D profile='Immersive'&gt; definition is insufficient since nodes in scene have actual<br>profile='Interchange'<br>[/X3D, info]<br>X3D version 4.0 was approved by Web3D Consortium and ISO in 2023.[/X3D, diagnostic]<br>X3D version 4.0 offers many new features including interoperability with HTML5, glTF<br>2.0 Physically Based Rendering (PBR), and Web Audio API.[/X3D, diagnostic]<br>&lt;Transform DEF='first'/&gt; element has no child node [/X3D/Scene/Transform[1], warning]<br>&lt;Shape USE='ball'/&gt; USE node has no matching DEF node or IMPORT statement [/X3D/Scene/Transform[2]/Shape, error]<br>&lt;Shape USE='ball'/&gt; USE node has no matching DEF node or IMPORT statement [/X3D/Scene/Transform[3]/Shape, error]</div><div><br></div><div>I will download the latest X3DJSAIL and stylesheets.</div><div><br></div><div>John</div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Tue, Apr 28, 2026 at 5:12 PM John Carlson <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Here’s the plan:  using X3DJSAIL in a program, create a Group of Transforms.  As a child of the first Transform, create a DEFed Shape.  Under all the other Transforms, USE the first Shape.  Call setChildren() on the first Transform with a null, an empty list or an empty array of Shapes as a parameter.  Validate, or otherwise write out the scene graph.  Who wants to predict what will happen?</div><div dir="auto"><br></div><div dir="auto"><span style="font-family:-apple-system,sans-serif">John</span><br></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Apr 28, 2026 at 2:41 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Before one says, X3DJSAIL doesn’t support delete/remove, I wrote a whole API such that I could do it in conjunction with X3DJSAIL:</div><div dir="auto"><br></div><div dir="auto"><div style="font-size:inherit"><a href="https://github.com/coderextreme/jaminate/tree/main/Jaminate/app/src/main/java/net/coderextreme/remove" style="font-size:inherit" target="_blank">https://github.com/coderextreme/jaminate/tree/main/Jaminate/app/src/main/java/net/coderextreme/remove</a></div></div><div dir="auto"><br></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, Apr 28, 2026 at 2:32 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="font-size:inherit" dir="auto"><span style="font-family:-apple-system,sans-serif;font-size:inherit;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;background-color:rgba(0,0,0,0);border-color:rgb(0,0,0);color:rgb(0,0,0);display:inline">If one deletes a DEFed node in X3DJSAIL or X3DPSAIL, what happens to the USEd nodes on export?  Does the file fail to validate?</span></div><div style="font-size:inherit" dir="auto"><span style="font-family:-apple-system,sans-serif;font-size:inherit;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;background-color:rgba(0,0,0,0);border-color:rgb(0,0,0);color:rgb(0,0,0);display:inline"><br></span></div><div style="font-size:inherit" dir="auto"><span style="font-family:-apple-system,sans-serif;font-size:inherit;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;background-color:rgba(0,0,0,0);border-color:rgb(0,0,0);color:rgb(0,0,0);display:inline">John </span></div>
</blockquote></div></div>
</blockquote></div></div>
</blockquote></div>