<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@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;}
/* Style Definitions */
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;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
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.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:668099015;
        mso-list-type:hybrid;
        mso-list-template-ids:-1073188018 -1 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0D8;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:"Times New Roman";
        mso-bidi-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l1
        {mso-list-id:2064209323;
        mso-list-type:hybrid;
        mso-list-template-ids:-1761812084 -1 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l1:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0D8;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:"Times New Roman";
        mso-bidi-font-family:"Courier New";}
@list l1:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l1:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l1:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l1:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l1:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style></head><body lang=EN-US link=blue vlink="#954F72" style='word-wrap:break-word'><div class=WordSection1><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo2'>Classic VRML does not allow to declare ROUTEs inside MFNode fields. Move them outside.<o:p></o:p></li></ul><pre><o:p> </o:p></pre><pre>HI Patrick, </pre><pre>Gee, I wish the tool would have told me that directly. Expecting DEF and finding ROUTE didn’t really lead me to the solution which to me now is specific to this tool. But really, what is special about Classic? This code was wrung from old VRML. </pre><pre><span style='color:black'><o:p> </o:p></span></pre><pre><span style='color:black'>Statement Object: <o:p></o:p></span></pre><pre><span style='color:black'><br>ROUTE {<o:p></o:p></span></pre><pre><span style='color:black'>  X3DNode  [in,out] FromNode  [IDREF]<o:p></o:p></span></pre><pre><span style='color:black'>  X3DField [in,out] FromField [fieldName]<o:p></o:p></span></pre><pre><span style='color:black'>  X3DNode  [in,out] ToNode    [IDREF]<o:p></o:p></span></pre><pre><span style='color:black'>  X3DField [in,out] ToField   [fieldName]<o:p></o:p></span></pre><pre><span style='color:black'>}<o:p></o:p></span></pre><div><pre><span style='color:black'><o:p> </o:p></span></pre><pre><span style='color:black'><o:p> </o:p></span></pre><pre><span style='color:black'>There may be other x3d Statements and some rules, but I don’t see any spec language for what you describe regarding ROUTE. Really, not too much about built-in Statement Objects in the Abstract standard that I see yet. Also, first experience I see this requirement enforced. <o:p></o:p></span></pre><pre><span style='color:black'><o:p> </o:p></span></pre><pre><span style='color:black'>Of course I will expect that all routes everywhere in live scene graph must be assembled from everywhere every frame I had no idea there was a rule like this. Glad I’m not hearing that all routes have to be at the end.  <o:p></o:p></span></pre><pre><span style='color:black'><o:p> </o:p></span></pre><pre><span style='color:black'>Same rule for XML? XML is easier because Route can be allowed anywhere comment can appear? Oops, if same rule, which it must be, No Route(s) in children, or, only as childs of scene?<o:p></o:p></span></pre><pre><span style='color:black'><o:p> </o:p></span></pre><div><pre><span style='color:black'>If Route can not be child of children or embedded like a field in an SFNode or not between any SFNode(s)in an MFNode field does that mean Route always has to be at root (scene) level in the user code. I want to leave them wherever it serves me best, any competent browser should be able to find them. Or, is it because we don’t want them to cause a problem being included in </span>add/removeChildren or some other technical reason? </pre></div><pre><span style='color:black'><o:p> </o:p></span></pre><pre><span style='color:black'>Again, since I have never encountered this before, to me it was/is a bug. I will check more with other tools, but as far as I can find not in spec. <o:p></o:p></span></pre><pre><span style='color:black'><o:p> </o:p></span></pre><pre><span style='color:black'>The SAI only needs the specific execution context, then add or delete route(s). Thus, I assume that regardless where the statement is located in the scene, it is regarded as part of the root scene or a specific child scene. <o:p></o:p></span></pre><pre><span style='color:black'>So, my main idea is to collect the timer(s), interpolator(s), and route(s) into  <o:p></o:p></span></pre><pre><span style='color:black'>Group {children[actions routes]} <o:p></o:p></span></pre><pre><span style='color:black'>but view3dscene would only let me do <o:p></o:p></span></pre><pre><span style='color:black'>Group {children[actions]} routes  <o:p></o:p></span></pre><pre><span style='color:black'><o:p> </o:p></span></pre><pre><span style='color:black'>As usual, when a browser rule appears we look at the spec for abstract and sai to figure it out. Please help either find this rule in the spec, make the use case and comparison with other tools and add the rule to the spec, or remove that demand from your tool. I am now getting the latest view3dscene downloaded.<o:p></o:p></span></pre><pre><span style='color:black'><o:p> </o:p></span></pre><pre><span style='color:black'>I think Thanks for finding what might be a gap in the spec.<o:p></o:p></span></pre><pre><span style='color:black'>Joe<o:p></o:p></span></pre><pre><span style='color:black'><o:p> </o:p></span></pre><pre><a name=ROUTE></a><span style='color:black'><o:p> </o:p></span></pre></div><p class=MsoNormal><a name=component></a><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:pdaehne@gmail.com">Patrick Dähne</a><br><b>Sent: </b>Wednesday, January 4, 2023 12:17 PM<br><b>To: </b><a href="mailto:x3d-public@web3d.org">X3D Public Mailing List (x3d-public@web3d.org)</a><br><b>Subject: </b>Re: [x3d-public] [...] HAnim2 X3D4 BoxMan update</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> Am 04.01.2023 um 20:32 schrieb Brutzman, Donald (Don) (CIV) <brutzman@nps.edu>:</p><p class=MsoNormal>> </p><p class=MsoNormal>>            • The online BoxMan4 is flawed because converters were unable to import your hand-edited .x3dv version properly.  During our last call, it sounded like you isolated the problem, occurring due to ROUTE children within a Group not getting handled.  If able to diagnose and fix VRML/ClassicVRML import problems, that is worthwhile.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Classic VRML does not allow to declare ROUTEs inside MFNode fields. Move them outside.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>_______________________________________________</p><p class=MsoNormal>x3d-public mailing list</p><p class=MsoNormal>x3d-public@web3d.org</p><p class=MsoNormal>http://web3d.org/mailman/listinfo/x3d-public_web3d.org</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>