<div dir="ltr"><div dir="ltr"><div><a href="http://dug9.users.sourceforge.net/web3d/tests/protos/Proto_context_inherit_and_declare.x3d">http://dug9.users.sourceforge.net/web3d/tests/protos/Proto_context_inherit_and_declare.x3d</a></div><div><br></div><div><a href="http://dug9.users.sourceforge.net/web3d/tests/protos/Proto_context_inherit_and_declare.jpg">http://dug9.users.sourceforge.net/web3d/tests/protos/Proto_context_inherit_and_declare.jpg</a></div><div><br></div><div><a href="http://dug9.users.sourceforge.net/web3d/tests/protos/Proto_context_inherit.jpg">http://dug9.users.sourceforge.net/web3d/tests/protos/Proto_context_inherit.jpg</a></div><div><br></div><div><a href="http://dug9.users.sourceforge.net/web3d/tests/protos/Proto_context_inherit.x3d">http://dug9.users.sourceforge.net/web3d/tests/protos/Proto_context_inherit.x3d</a></div><div><br></div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 25, 2022 at 4:11 PM GPU Group <<a href="mailto:gpugroup@gmail.com">gpugroup@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><a href="http://dug9.users.sourceforge.net/web3d/tests/protos/Proto_context_vs_name.x3d" target="_blank">http://dug9.users.sourceforge.net/web3d/tests/protos/Proto_context_vs_name.x3d</a> </div><div><br></div><div><a href="http://dug9.users.sourceforge.net/web3d/tests/protos/Proto_context_vs_name.jpg" target="_blank">http://dug9.users.sourceforge.net/web3d/tests/protos/Proto_context_vs_name.jpg</a></div><div><br></div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 25, 2022 at 4:01 PM GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank">gpugroup@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"><p class="MsoNormal"><a href="http://dug9.users.sourceforge.net/web3d/tests/protos/CircleFish.jpg" target="_blank">http://dug9.users.sourceforge.net/web3d/tests/protos/CircleFish.jpg</a>
<span></span></p><p class="MsoNormal"><br></p>

<p class="MsoNormal"><a href="http://dug9.users.sourceforge.net/web3d/tests/protos/Proto_nested.jpg" target="_blank">http://dug9.users.sourceforge.net/web3d/tests/protos/Proto_nested.jpg</a> <span></span></p><p class="MsoNormal"><br></p>

<p class="MsoNormal"><a href="http://dug9.users.sourceforge.net/web3d/tests/protos/Proto_nested.x3d" target="_blank">http://dug9.users.sourceforge.net/web3d/tests/protos/Proto_nested.x3d</a> <span></span></p><p class="MsoNormal"><br></p></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 25, 2022 at 1:10 PM Andreas Plesch <<a href="mailto:andreasplesch@gmail.com" target="_blank">andreasplesch@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">Hi Doug,<br>
<br>
Thank you for your response.<br>
<br>
> Date: Mon, 25 Apr 2022 07:09:14 -0600<br>
> From: GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank">gpugroup@gmail.com</a>><br>
><br>
> freewrl loads extern proto scenes as whole scene files, but as 'dead'<br>
> scenery like a library file: in binary form, ready to binary deep copy<br>
> parts to live scenery, but node initialization functions not yet<br>
> called, and not rendered. Subsequent # references to the same scene file<br>
> use the same loaded library scene. So any ProtoDeclares outside the<br>
> ProtoBody would be resolved.<br>
<br>
I think the issue in the CircleFishLod prototype is not directly<br>
related to extern proto use, but only to how the local ProtoDeclare<br>
definition needs to reach into the surrounding Scene. It sounds like<br>
freewrl allows for that mixing of Execution Contexts, assuming that<br>
the CircleFishLod proto works in freewrl.<br>
<br>
A stress test example would be a Scene which has two Protos, A and B.<br>
<br>
A is a simple Proto with the name "Joe". The scene uses it in an instance later.<br>
<br>
B is a nested Proto which internally uses another Proto. This internal<br>
Proto is also named "Joe" and has both a ProtoDeclare and instances<br>
within B. The scene then uses B in an instance later.<br>
<br>
How should a browser resolve which ProtoDeclaration to use for the<br>
internal ProtoInstance "Joe" ? Which one would freewrl choose ? The<br>
first one it finds ?<br>
<br>
Perhaps it is time to draft such a test.<br>
<br>
Thanks, Andreas<br>
<br>
PS: rough draft<br>
<br>
<ProtoDeclare name='Joe'><br>
  <ProtoBody red sphere /><br>
</ProtoDeclare><br>
<br>
<ProtoDeclare name='nestedBox'><br>
  <ProtoBody><br>
    <ProtoDeclare name='Joe'><br>
      <ProtoBody blue box /><br>
    </ProtoDeclare><br>
    <ProtoInstance name='Joe' /><br>
  </ProtoBody><br>
</ProtoDeclare><br>
<br>
<ProtoInstance name='Joe' /><br>
<ProtoInstance name='nested' /><br>
<br>
Should display a red sphere and blue box.<br>
<br>
> -Doug<br>
> PS this relates to:<br>
><br>
> PROTOTYPE STYLE IMPORTS<br>
><br>
> I had mentioned a prototype style import for gltf use:<br>
><br>
> Shape { url=?library.gltf#shapeName? }<br>
><br>
> Similar to how we load extern protos as a whole ?dead? scene, and then do<br>
> binary deep copies where used in the live scene to make live.<br>
><br>
> But interestingly, the same goes for x3d scenery ? don?t need glTF, don?t<br>
> need extern protos in library scene, don?t need Inline or IMPORT.<br>
><br>
> So the concept could be tested first with x3d scenery.<br>
><br>
> Shape { url=?library.x3dv#shapeName }<br>
><br>
> And then extended to gltf.<br>
><br>
> /PROTOTYPE STYLE IMPORTS<br>
><br>
> On Sun, Apr 24, 2022 at 10:43 PM Brutzman, Donald (Don) (CIV) <<br>
> <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>> wrote:<br>
><br>
> > Actually please look a little more closely at that (admittedly tricky)<br>
> > example.<br>
> ><br>
> > * CircleFish is an ExternProto, separately defined in another file<br>
> > * CircleFishLod is a ProtoDeclare defined in that first file,<br>
> > CircleFishLodPrototype.x3d<br>
> > * CircleFishLod ProtoBody contains two ProtoInstance copies of CircleFish<br>
> > * CircleFishLod ProtoDeclare is then followed by a CircleFishLod<br>
> > ProtoInstance (again  in CircleFishLodPrototype.x3d)<br>
> ><br>
> > So I would expect an X3D Browser to<br>
> ><br>
> > a. load ExternProtoDeclare      CircleFish<br>
> > b. build ProtoDeclare                CircleFishLod<br>
> > c. create inner ProtoInstance  CircleFish for use<br>
> > d. create outer ProtoInstance CircleFishLod<br>
> ><br>
> > Order of steps might vary a bit, but those are the dependencies.  Good luck<br>
> > sir.<br>
> ><br>
> > all the best, Don<br>
> > --<br>
> > Don Brutzman  Naval Postgraduate School, Code USW/Br<br>
> > <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><br>
> > Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA<br>
> > +1.831.656.2149<br>
> > X3D graphics, virtual worlds, Navy robotics https://<br>
> > <a href="http://faculty.nps.edu/brutzman" rel="noreferrer" target="_blank">faculty.nps.edu/brutzman</a><br>
> ><br>
> > -----Original Message-----<br>
> > From: x3d-public <<a href="mailto:x3d-public-bounces@web3d.org" target="_blank">x3d-public-bounces@web3d.org</a>> On Behalf Of Andreas<br>
> > Plesch<br>
> > Sent: Sunday, April 24, 2022 9:08 PM<br>
> > To: X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>
> > Subject: [x3d-public] ProtoBody completeness in nested Protos<br>
> ><br>
> > ProtoDeclarations may use ProtoInstances of other Protos inside their<br>
> > ProtoBody definitions.<br>
> ><br>
> > For example, the CircleFishLod proto here:<br>
> ><br>
> ><br>
> > <a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fx3dgraphic" rel="noreferrer" target="_blank">https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fx3dgraphic</a><br>
> > <a href="http://s.com" rel="noreferrer" target="_blank">s.com</a><br>
> > %2Fexamples%2FX3dForWebAuthors%2FKelpForestExhibit%2FCircleFishLodProto<br>
> > typeIndex.html&amp;data=05%7C01%7Cbrutzman%<a href="http://40nps.edu" rel="noreferrer" target="_blank">40nps.edu</a><br>
> > %7C0b4a867ba9874e371f9b0<br>
> ><br>
> > 8da267152fa%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637864565880708349%<br>
> ><br>
> > 7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwi<br>
> ><br>
> > LCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=upr4eckI8axT7MO5fAUvAWfyBzUJfhTwqcp<br>
> > BuH7tZjc%3D&amp;reserved=0<br>
> ><br>
> > uses ProtoInstances of the CircleFish proto.<br>
> ><br>
> > A more extreme case of nesting is:<br>
> ><br>
> ><br>
> > <a href="https://www.web3d.org/x3d/content/examples/ConformanceNist/Miscellaneous/PRO" rel="noreferrer" target="_blank">https://www.web3d.org/x3d/content/examples/ConformanceNist/Miscellaneous/PRO</a><br>
> > TO/fivedeepnestingIndex.html<br>
> > <<a href="https://www.web3d.org/x3d/content/examples/ConformanceNist/Miscellaneous/PROTO/fivedeepnestingIndex.html" rel="noreferrer" target="_blank">https://www.web3d.org/x3d/content/examples/ConformanceNist/Miscellaneous/PROTO/fivedeepnestingIndex.html</a>><br>
> ><br>
> > where Proto1 uses ProtoInstance of Proto2 inside its ProtoBody. Proto2<br>
> > itself uses a ProtoInstance of Proto3 inside its ProtoBody. And so on to<br>
> > five levels deep.<br>
> ><br>
> > The second example with the deep nesting currently works with x3dom but the<br>
> > seemingly simpler CircleFishLod proto does not.<br>
> ><br>
> > The reason is that x3dom expects the complete definition of a proto to be<br>
> > contained in its ProtoBody. However, The CircleFishLod proto only contains<br>
> > the CircleFish ProtoInstances in the body but not the associated CircleFish<br>
> > ProtoDeclaration which for some reason occurs outside the CircleFishLod<br>
> > ProtoBody (and outside the CircleFishLod ProtoDeclaration).<br>
> ><br>
> > Expecting the ProtoBody to be complete and self-contained seems rather<br>
> > natural. Is x3dom too strict in this regard, or is there an oversight in<br>
> > the<br>
> > example ? There is not much guidance in the spec., if any.<br>
> ><br>
> > Thanks, Andreas<br>
> ><br>
> > --<br>
> > Andreas Plesch<br>
> > Waltham, MA 02453<br>
> ><br>
> > _______________________________________________<br>
> > x3d-public mailing list<br>
> > <a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
> > <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
> > _______________________________________________<br>
> > x3d-public mailing list<br>
> > <a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
> > <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
> ><br>
> -------------- next part --------------<br>
> An HTML attachment was scrubbed...<br>
> URL: <<a href="http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20220425/fdcca17c/attachment-0001.html" rel="noreferrer" target="_blank">http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20220425/fdcca17c/attachment-0001.html</a>><br>
><br>
> ------------------------------<br>
><br>
> Message: 4<br>
> Date: Mon, 25 Apr 2022 15:14:25 +0000<br>
> From: "Brutzman, Donald (Don) (CIV)" <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>><br>
> To: Andreas Plesch <<a href="mailto:andreasplesch@gmail.com" target="_blank">andreasplesch@gmail.com</a>><br>
> Cc: "<a href="mailto:x3d@web3d.org" target="_blank">x3d@web3d.org</a>" <<a href="mailto:x3d@web3d.org" target="_blank">x3d@web3d.org</a>>, Spec Feedback<br>
>         <<a href="mailto:spec-comment@web3d.org" target="_blank">spec-comment@web3d.org</a>>, "X3D Public Mailing List<br>
>         (<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>)" <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>>, "Brutzman, Donald<br>
>         (Don) (CIV)" <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>><br>
> Subject: Re: [x3d-public] [x3d] Spec Comment by on 19775-1: X3D<br>
>         Architecture - V4.0: component support needed for glTF inline loading<br>
>         conversion<br>
> Message-ID:<br>
>         <<a href="mailto:BY3PR13MB48844D178FEBD3BCA8221B51C4F89@BY3PR13MB4884.namprd13.prod.outlook.com" target="_blank">BY3PR13MB48844D178FEBD3BCA8221B51C4F89@BY3PR13MB4884.namprd13.prod.outlook.com</a>><br>
><br>
> Content-Type: text/plain; charset="us-ascii"<br>
><br>
> [cc: x3d-public]<br>
><br>
> Thanks for insightful comment.  Happy to modify this statement to list all<br>
> appropriate components, possibly Immersive profile.<br>
><br>
> Michalis, do you have any opinions from writing your glTF->X3D conversion<br>
> code?<br>
><br>
> It helps to know full coverage.  If there is a glTF test file that includes<br>
> all constructs, that would also be helpful to convert and add to our<br>
> architecture.<br>
><br>
> all the best, Don<br>
> --<br>
> Don Brutzman  Naval Postgraduate School, Code USW/Br        <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><br>
> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149<br>
> X3D graphics, virtual worlds, Navy robotics https://<br>
> <a href="http://faculty.nps.edu/brutzman" rel="noreferrer" target="_blank">faculty.nps.edu/brutzman</a><br>
><br>
> -----Original Message-----<br>
> From: x3d <<a href="mailto:x3d-bounces@web3d.org" target="_blank">x3d-bounces@web3d.org</a>> On Behalf Of Spec Feedback<br>
> Sent: Thursday, April 21, 2022 12:47 PM<br>
> To: <a href="mailto:x3d@web3d.org" target="_blank">x3d@web3d.org</a><br>
> Subject: [x3d] Spec Comment by on 19775-1: X3D Architecture - V4.0<br>
><br>
> -- Submitter indicates that this comment may be public: *Yes* --<br>
><br>
> Comment on 19775-1: X3D Architecture - V4.0<br>
><br>
> <a href="https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/component" rel="noreferrer" target="_blank">https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/component</a><br>
> s/networking.html#X3DUrlObject<br>
><br>
> -----------------<br>
> "Support for loading glTF assets (see 2.[GLTF]) also requires support for<br>
> Shape component level 2 and Lighting component level 4."<br>
><br>
> Many different data fragments may be contained in the current standard gltf<br>
> asset structure, even animation data, so maybe also more general statement?<br>
><br>
><br>
><br>
> -----------------<br>
><br>
> Submitted on Thursday, 2022,  April 21 - 12:47pm by  (Joe D Williams )<br>
> IP: 12.206.82.58<br>
><br>
> See: <a href="https://www.web3d.org/node/1694/submission/5663" rel="noreferrer" target="_blank">https://www.web3d.org/node/1694/submission/5663</a><br>
><br>
><br>
> _______________________________________________<br>
> x3d mailing list<br>
> <a href="mailto:x3d@web3d.org" target="_blank">x3d@web3d.org</a><br>
> <a href="http://web3d.org/mailman/listinfo/x3d_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d_web3d.org</a><br>
> -------------- next part --------------<br>
> A non-text attachment was scrubbed...<br>
> Name: smime.p7s<br>
> Type: application/pkcs7-signature<br>
> Size: 5353 bytes<br>
> Desc: not available<br>
> URL: <<a href="http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20220425/1630c2b4/attachment.p7s" rel="noreferrer" target="_blank">http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20220425/1630c2b4/attachment.p7s</a>><br>
><br>
> ------------------------------<br>
><br>
> Subject: Digest Footer<br>
><br>
> _______________________________________________<br>
> x3d-public mailing list<br>
> <a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
><br>
><br>
> ------------------------------<br>
><br>
> End of x3d-public Digest, Vol 157, Issue 93<br>
> *******************************************<br>
<br>
<br>
<br>
-- <br>
Andreas Plesch<br>
Waltham, MA 02453<br>
<br>
_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</blockquote></div>
</blockquote></div>
</blockquote></div>