<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Main issues in output JSON seem to include</p>
    <p>1. Missing arrays</p>
    <p>2. Missing keys with a leading "-", like "-appearance",
      "-material", "-children", "-geometry", "-texture", "-fontStyle"<br>
    </p>
    <p>3.  I don't do comments yet.</p>
    <p>Attached JSON import/export module attached, with sample JSON
      input.</p>
    <p><br>
    </p>
    <p>I will dig a bit into the x3d.py code to see what's happening.</p>
    <p><br>
    </p>
    <p>John<br>
    </p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 12/6/21 04:13, John Carlson wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:59e3b74f-0012-1add-4c9b-e4958f4ab2c5@gmail.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p>I was able to install the 4.0.44 release after uninstalling
        4.0.43</p>
      <p>I hope good reports now.</p>
      <p>!!<br>
      </p>
      <div class="moz-cite-prefix">On 12/6/21 00:08, Brutzman, Donald
        (Don) (CIV) wrote:<br>
      </div>
      <blockquote type="cite"
cite="mid:BY3PR13MB488469062552F7613EBAD1C7C46D9@BY3PR13MB4884.namprd13.prod.outlook.com">
        <meta http-equiv="Content-Type" content="text/html;
          charset=UTF-8">
        <meta name="Generator" content="Microsoft Word 15 (filtered
          medium)">
        <style>@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}span.EmailStyle21
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}div.WordSection1
        {page:WordSection1;}ol
        {margin-bottom:0in;}ul
        {margin-bottom:0in;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
        <div class="WordSection1">
          <p class="MsoNormal">Thanks for reports and correct
            diagnosis.  I did take out the three “object” inheritances
            earlier today, pylint says it is no longer required in
            Python 3, no ill effects noted.<o:p></o:p></p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal">I have tried to follow X3D4 Architecture
            exactly, and am keen to avoid overwriting!  Hopefully
            tonight’s build looks a bit better.<o:p></o:p></p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal">The specification does not show X3DField
            inheriting from anything.<o:p></o:p></p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <ul style="margin-top:0in" type="disc">
            <li class="MsoListParagraph"
              style="margin-left:0in;mso-list:l0 level1 lfo1">X3D4
              Architecture, 5.2.3 X3DField<o:p></o:p></li>
            <li class="MsoListParagraph"
              style="margin-left:0in;mso-list:l0 level1 lfo1"><a
                class="moz-txt-link-freetext"
href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/fieldTypes.html#X3DField"
                moz-do-not-send="true">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/fieldTypes.html#X3DField</a><o:p></o:p></li>
          </ul>
          <p class="MsoNormal"><o:p> </o:p></p>
          <ul style="margin-top:0in" type="disc">
            <li class="MsoListParagraph"
              style="margin-left:0in;mso-list:l0 level1 lfo1">X3D4
              Architecture, 54.4.2.3 Interface hierarchy <o:p></o:p></li>
            <li class="MsoListParagraph"
              style="margin-left:0in;mso-list:l0 level1 lfo1">(looks
              like first line of Figure 4.2 needs more whitespace)<o:p></o:p></li>
            <li class="MsoListParagraph"
              style="margin-left:0in;mso-list:l0 level1 lfo1"><a
                class="moz-txt-link-freetext"
href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/concepts.html#InterfaceHierarchy"
                moz-do-not-send="true">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/concepts.html#InterfaceHierarchy</a><o:p></o:p></li>
          </ul>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal">Sure enough, searching for “class _
            X3DField” in x3d.py reveals two abstract class definitions,
            ouch!  That’s more like multiple personalities that multiple
            inheritance…<o:p></o:p></p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal">Will work on fixing the autogeneration of
            offending version.<o:p></o:p></p>
          <div>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New",serif"><o:p> </o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New",serif">all the best, Don<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New",serif">-- <o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New",serif">Don Brutzman  Naval Postgraduate
                School, Code USW/Br        <a
                  class="moz-txt-link-abbreviated moz-txt-link-freetext"
                  href="mailto:brutzman@nps.edu" moz-do-not-send="true">brutzman@nps.edu</a><o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New",serif">Watkins 270,  MOVES Institute, Monterey
                CA 93943-5000 USA    +1.831.656.2149<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New",serif">X3D graphics, virtual worlds, navy
                robotics https://</span> <span
                style="font-size:10.0pt;font-family:"Courier
                New",serif">faculty.nps.edu/brutzman<o:p></o:p></span></p>
          </div>
          <p class="MsoNormal"><o:p> </o:p></p>
          <div>
            <div style="border:none;border-top:solid #E1E1E1
              1.0pt;padding:3.0pt 0in 0in 0in">
              <p class="MsoNormal"><b>From:</b> <a
                  class="moz-txt-link-abbreviated moz-txt-link-freetext"
                  href="mailto:vmarchetti@kshell.com"
                  moz-do-not-send="true">vmarchetti@kshell.com</a> <a
                  class="moz-txt-link-rfc2396E"
                  href="mailto:vmarchetti@kshell.com"
                  moz-do-not-send="true"><vmarchetti@kshell.com></a>
                <br>
                <b>Sent:</b> Sunday, December 5, 2021 3:59 AM<br>
                <b>To:</b> John Carlson <a
                  class="moz-txt-link-rfc2396E"
                  href="mailto:yottzumm@gmail.com"
                  moz-do-not-send="true"><yottzumm@gmail.com></a><br>
                <b>Cc:</b> Brutzman, Donald (Don) (CIV) <a
                  class="moz-txt-link-rfc2396E"
                  href="mailto:brutzman@nps.edu" moz-do-not-send="true"><brutzman@nps.edu></a>;
                X3D-Public <a class="moz-txt-link-rfc2396E"
                  href="mailto:x3d-public@web3d.org"
                  moz-do-not-send="true"><x3d-public@web3d.org></a><br>
                <b>Subject:</b> Re: [x3d-public] Results for today with
                x3d.py, _X3DField<o:p></o:p></p>
            </div>
          </div>
          <p class="MsoNormal"><o:p> </o:p></p>
          <div>
            <p class="MsoNormal">Python does support multiple
              inheritance, but these fragments are not an example of a
              multiple-inheritance situation -- rather, the later class
              definition -- where _X3DField is a subclass of _X3DNode,
              overwrites the earlier class definition. <o:p></o:p></p>
            <div>
              <p class="MsoNormal"><o:p> </o:p></p>
            </div>
            <div>
              <p class="MsoNormal">In the x3d.py file, only three
                classes are defined as direct subclasses of object:<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"><o:p> </o:p></p>
            </div>
            <div>
              <p class="MsoNormal">class _X3DField<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal">class _X3DNode<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal">class _X3DStatement<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"><o:p> </o:p></p>
            </div>
            <div>
              <p class="MsoNormal">So I think the operative question is
                whether it is a design intent that _X3DField also should
                be a subclass of _X3DNode.  I judge the answer is no,
                since that would include support for DEF, USE, and
                metadata. In that light, the second class defintion for
                _X3DField would be regarded as a bug, to be corrected by
                modifying the X3duomToX3dPythonPackage.xslt stylesheet.<o:p></o:p></p>
            </div>
            <div>
              <div>
                <div>
                  <div>
                    <p class="MsoNormal"><br>
                      <br>
                      <o:p></o:p></p>
                    <blockquote
                      style="margin-top:5.0pt;margin-bottom:5.0pt">
                      <div>
                        <p class="MsoNormal">On Dec 4, 2021, at 11:40
                          PM, John Carlson <<a
                            href="mailto:yottzumm@gmail.com"
                            moz-do-not-send="true"
                            class="moz-txt-link-freetext">yottzumm@gmail.com</a>>
                          wrote:<o:p></o:p></p>
                      </div>
                      <p class="MsoNormal"><o:p> </o:p></p>
                      <div>
                        <div>
                          <p class="MsoNormal"
                            style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span
                              style="font-family:"Courier
                              New",serif;color:black;background:white">Two
                              declarations of _X3DField?</span><o:p></o:p></p>
                          <p class="MsoNormal"
                            style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span
                              style="font-family:"Courier
                              New",serif;color:black;background:white">$
                              grep "class _X3DField" x3d.py          </span><o:p></o:p></p>
                          <div>
                            <p class="MsoNormal"><o:p> </o:p></p>
                          </div>
                          <p class="MsoNormal"><b><span
                                style="font-family:"Courier
                                New",serif;color:#FF5454;background:white">class
                                _X3DField</span></b><span
                              style="font-family:"Courier
                              New",serif;color:black;background:white">(object):
                            </span><o:p></o:p></p>
                          <p class="MsoNormal"
                            style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span
                                style="font-family:"Courier
                                New",serif;color:#FF5454;background:white">class
                                _X3DField</span></b><span
                              style="font-family:"Courier
                              New",serif;color:black;background:white">(_X3DNode):</span><o:p></o:p></p>
                          <p class="MsoNormal"
                            style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span
                              style="font-family:"Courier
                              New",serif;color:black;background:white">Is
                              there a pylint?</span><o:p></o:p></p>
                          <p class="MsoNormal"
                            style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span
                              style="font-family:"Courier
                              New",serif;color:black;background:white">Isn't
                              multiple inheritance possible?</span><o:p></o:p></p>
                          <p class="MsoNormal"
                            style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span
                              style="font-family:"Courier
                              New",serif;color:black;background:white">Thanks!</span><o:p></o:p></p>
                          <p class="MsoNormal"
                            style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span
                              style="font-family:"Courier
                              New",serif;color:black;background:white">John</span><o:p></o:p></p>
                          <div>
                            <p class="MsoNormal"><o:p> </o:p></p>
                          </div>
                        </div>
                        <p class="MsoNormal">_______________________________________________<br>
                          x3d-public mailing list<br>
                          <a href="mailto:x3d-public@web3d.org"
                            moz-do-not-send="true"
                            class="moz-txt-link-freetext">x3d-public@web3d.org</a><br>
                          <a
                            href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org"
                            moz-do-not-send="true"
                            class="moz-txt-link-freetext">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><o:p></o:p></p>
                      </div>
                    </blockquote>
                  </div>
                  <p class="MsoNormal"><o:p> </o:p></p>
                </div>
              </div>
            </div>
          </div>
        </div>
      </blockquote>
    </blockquote>
  </body>
</html>