<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 gmail_quote_container"><div dir="ltr" class="gmail_attr">On Tue, Dec 30, 2025 at 3:42 AM 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><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!important"> ”</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:0 0 0 .8ex;border-left:1px #ccc solid;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>