<div dir="auto">Thanks, it wasn’t clear to me that multi-line comments were not supported in X3D XML encoding. That clears up most of my questions!</div><div dir="auto"><br></div><div dir="auto">I will replace multi-line comments with single-line comments in my examples. Does X3D-Edit support this feature? This would be great, and encourage me to use it!</div><div dir="auto"><br></div><div dir="auto">John</div><div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Sun, Jan 4, 2026 at 2:46 PM Don Brutzman <<a href="mailto:don.brutzman@gmail.com">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>For clarity, here is a recap of key points that can be found in prior responses and ticket issues:</div><div><ul><li>Persistent single-line comments are an important feature for X3D model conversions and interoperability.</li><li>You are welcome to use all Python features, including multi-line comments, whenever programming with Python and x3d.py.</li><li>Individual multi-line comments are not supported in a number of file encodings and programming languages. Nor are they defined by X3D Architecture, nor are they supported by several X3D encodings (such as XML and ClassicVRML). Thus multi-line comments are not a required feature.</li><li>Persistent comments in x3d.py Python are already supported via a Comment class.</li><li>Persistent single-line comments are now partially supported by X3dToPython.xslt converter, if present as children of Scene head and grouping nodes. Further future work on content-model representations in the Python class hierarchy may be able to add them elsewhere (e.g. inside Shape Appearance Material geometry etc.</li><li>Tickets are closed after careful review if they are unrepeatable or unactionable. Suggestions and questions about a clearer ticket are usually included.</li></ul><div>Hope this helps.</div></div></div><div dir="ltr"><div><br></div><div><div dir="ltr" class="gmail_signature" data-smartmail="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 Sun, Jan 4, 2026 at 5:57 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">Blowing off some steam. Apologies, I probably should work out instead.</div><div dir="auto"><br></div><div dir="auto">I am unsure if it’s easier to output straight line code instead of hierarchical code in Python; multi-line non-persistent comments might become easier in straight line code. I don’t know about comments() in XSLT. In straight line code, wrapping a multi or single line comment in “””…””” is a cinch. Even if newlines need to be added for the Python interpreter. </div><div dir="auto"><span style="font-family:-apple-system,sans-serif">AFAIK, I’ve already mentioned that straight line code is easier to debug</span><span style="font-family:-apple-system,sans-serif">, in my mind</span><span style="font-family:-apple-system,sans-serif">. I think the Java large file discussion is still open; I know hierarchical code is more succinct, and less likely to stack overflow. I think the choices between code structure in Python and Java might be different.</span><br></div><div dir="auto"><br></div><div dir="auto">Persistent multi-line comments are desirable, even if they aren’t present in the archive. We will probably make different choices between hierarchical and straight line code when this feature is available.</div><div dir="auto"><br></div><div dir="auto">Short term hacks like single line comments work until features are introduced. That doesn’t mean tickets should be closed prematurely, or examples outside the archives are invalid.</div><div dir="auto"><br></div><div dir="auto">John </div><div dir="auto"><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Dec 30, 2025 at 3:42 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><div dir="auto">Don, thanks for your comment on this ticket that naively adding Comment to a children field might not work. That was one of my intentions on expressing myself so vocally. I apologize for using your time to do this, but I think it revealed a possible design consideration. I think if I had discovered it, it would have gone over like a wet balloon.</div></div><div dir="auto"><br></div><div dir="auto">Thank you again, I will not put comments arbitrarily in the scenegraph for now with my PythonSerializer.js, until you indicate it’s ready! I will leave them out of the scenegraph, as they are now. Since I handle comments generically, I will have to research the nodes you’ve accomplished.</div><div dir="auto"><br></div><div dir="auto">Now, can we have other multi-line comments, not in the persistent scenegraph, in Python translated from .x3d, in the short term, like:</div><div dir="auto"><br></div><div dir="auto">#</div><div dir="auto"># This is comment line 2</div><div dir="auto"># This is comment line 3</div><div dir="auto">#</div><div dir="auto"><br></div><div dir="auto">?</div><div dir="auto"><br></div><div dir="auto"><span style="font-family:-apple-system,sans-serif">John</span><br></div><div><div dir="auto"><br></div><div dir="auto">From the ticket:</div><div dir="auto"><br></div><div dir="auto">“<div dir="auto" style="font-size:inherit"><div style="margin:0px;padding:0px;border:0px;outline:0px;font-size:inherit;vertical-align:baseline;background:rgba(0,0,0,0);color:rgb(85,85,85);font-family:lato,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><div style="margin:0px;padding:0px;border:0px;outline:0px;font-size:14px;vertical-align:baseline;background:rgba(0,0,0,0)"><p style="margin:0px;padding:0px 10px 1em;border:0px;outline:0px;font-size:14px;vertical-align:baseline;background:rgba(0,0,0,0)">This is not an easy fix for converting files because Comment is not part of the content model for all nodes. Solving this will probably require extending class _ X3DNode in x3d.py and sorting out possible subclass collisions. It will also be difficult to retain the original order of child nodes and child comments within a parent node.</p><p style="margin:0px;padding:0px 10px 1em;border:0px;outline:0px;font-size:14px;vertical-align:baseline;background:rgba(0,0,0,0)">This might be fixable someday - after some effort I got it working for head, Scene, field, fieldValue.. Deferred as future work.</p></div></div><span style="color:rgb(85,85,85);font-family:lato,sans-serif;font-size:inherit;font-style:normal;font-weight:400;letter-spacing:normal;text-align:left;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration:none;float:none;display:inline"> ”</span></div></div><div><br><div class="gmail_quote"></div></div></div><div><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Dec 29, 2025 at 12:52 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:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div><br></div></div><div dir="ltr"><div><div>I have posted a new ticket to capture this point. Perhaps a useful exemplar, as well.</div><div><ul><li>X3D SourceForge ticket #82 creating persistent comments in python when converting from XML</li><li><a href="https://sourceforge.net/p/x3d/tickets/82/" target="_blank">https://sourceforge.net/p/x3d/tickets/82/</a></li></ul></div><div dir="auto">Hope this helps. Again thanks for your many efforts. Have fun improving X3D! 🤔 👍</div></div></div></div><div dir="ltr"><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><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 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 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 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><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><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><p></p></div> <div>
<div>
</div>
</div></blockquote></div></div>
</blockquote></div></div>
</div>
</blockquote></div>
</blockquote></div>
</blockquote></div>
</blockquote></div></div>
</blockquote></div>
</div>
</blockquote></div></div>
</div>
</blockquote></div></div>
</blockquote></div>
</blockquote></div></div>