[x3d-public] Fw: ProtoInstance USE without name
John Carlson
yottzumm at gmail.com
Sun Nov 29 10:51:17 PST 2020
This seems to be a pointer to part of the thread:
http://web3d.org/pipermail/x3d-public_web3d.org/2017-September/007480.html
John
On Sun, Nov 29, 2020 at 12:46 PM John Carlson <yottzumm at gmail.com> wrote:
> Everyone please remember this conversation. Or perhaps put a link to this
> thread on a website which discusses USE and name tradeoffs for nodes.
>
> There's another thread somewhere on the same ProtoInstance topic, if
> anyone cares to look.
>
> No changes to JSON Schema that I know of required!
>
> I believe there are still some statements which may have both USE and
> name. Those are OK, and noted.
>
> Thanks, guys!
>
> John
>
> On Sun, Nov 29, 2020 at 12:24 PM Andreas Plesch <andreasplesch at gmail.com>
> wrote:
>
>> Some results of testing browsers:
>>
>> freeWrl: A and B works, C does not
>> InstantPlayer: A and C renders, B does not, warning: "obligatory name is
>> missing"; no sound in any on my system
>> view3dscene: A, B and C work, no warnings in any.
>> Octaga: A,B and C work, no warnings in any.
>>
>> In addition, I replaced "Script" with "Group" in C, with the same results
>> in all browsers. This indicates that some browsers essentially ignore the
>> Node type in a xml encoded USE node, following the VRML style of USE.
>>
>> [ So, in the XML encoding, we could have had a <USE name="DEFname" />
>> construct which may have been discussed but was decided against, perhaps
>> for reasons of validation. ]
>>
>> Only InstantPlayer requires the name attribute in a USE ProtoInstance,
>> indicating a gap in the xml specification. While requiring the name
>> attribute would be cleaner, in my view, it would break backward
>> compatibility. Therefore explicitly USE without name for ProtoInstances
>> makes the most sense to me. This would make InstantPlayer a little
>> non-compliant.
>>
>> Cheers, -Andreas
>>
>>
>>
>> On Sun, Nov 29, 2020 at 10:00 AM Christoph Valentin <
>> christoph.valentin at gmx.at> wrote:
>>
>>> The archive has been updated.
>>>
>>> . Removed the unused prototype
>>> two additional editorial corrections
>>>
>>>
>>> to be crystal clear: the optimum would be to have a clear X3D standard
>>> and to remove the workaround forever.
>>>
>>> @all: do other users have similar experiences with ProtoInstances, DEF
>>> and USE? I am not the only user of X3D, am I?
>>>
>>> kr
>>>
>>>
>>> *Gesendet:* Sonntag, 29. November 2020 um 15:39 Uhr
>>> *Von:* "Christoph Valentin" <christoph.valentin at gmx.at>
>>> *An:* "Andreas Plesch" <andreasplesch at gmail.com>
>>> *Cc:* "X3D Graphics public mailing list" <x3d-public at web3d.org>
>>> *Betreff:* Re: [x3d-public] ProtoInstance USE without name
>>> Hi Andreas,
>>>
>>> The MoosTrigger can be deleted. I forgot it there, sorry (it would be
>>> used for MU capability). I will correct asap.
>>>
>>> The only theory I have is that the external behaviour of scripts and
>>> protos regarding the event cascade is very similar. Both have fields that
>>> can be arbitrarily defined. So a reference to a script can hold a reference
>>> to a ProtoInstance.
>>>
>>> Sorry I am not a Browser developer, but I am a (potential) user of X3D,
>>> dont know so much about X3D internals. It could even be an intention of the
>>> standard.
>>>
>>> kr
>>>
>>> --
>>> Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail
>>> gesendet.
>>> Am 29.11.20, 15:24 schrieb Andreas Plesch <andreasplesch at gmail.com>:
>>>>
>>>> Hi Christoph,
>>>>
>>>> The Pig proto is using a "Moostrigger" proto. Should the Mosstrigger
>>>> proto be included in the archive, or can it be ignored, eg. commented out ?
>>>>
>>>> I am struggling to understand how Version C, the Script workaround,
>>>> could work:
>>>>
>>>> <!-- the second pig , version C - ProtoInstance WITHOUT name -->
>>>> <Transform translation='3 0 0' rotation='0 1 0 -1.57'>
>>>> <Script USE="ThePig"/>
>>>> </Transform>
>>>>
>>>> and the ThePig DEF is:
>>>>
>>>> <ProtoInstance DEF="ThePig" name='Pig'/>
>>>>
>>>> So the ThePig DEF is not a Script node. ( And the Pig proto is of Group
>>>> type. ). It seems like it is just a coincidence that it works with
>>>> BSContact. Perhaps BSContact somehow treats all ProtoInstances as Scripts ?
>>>>
>>>> Do you have a theory why the workaround actually works with some
>>>> browsers ?
>>>>
>>>> Thanks, Andreas
>>>>
>>>>
>>>> On Sat, Nov 28, 2020 at 3:46 PM Andreas Plesch <andreasplesch at gmail.com>
>>>> wrote:
>>>>
>>>>> Thanks, I will take a look.
>>>>>
>>>>> ---on the phone---
>>>>>
>>>>> On Sat, Nov 28, 2020, 9:17 AM Christoph Valentin <
>>>>> christoph.valentin at gmx.at> wrote:
>>>>>
>>>>>> Hi Andreas,
>>>>>>
>>>>>> I felt free to provide an example scene in three flavors.
>>>>>>
>>>>>> The prototype renders a little pig that says "Eatme!", when you touch
>>>>>> it (in remembrance of Douglas Adams)
>>>>>>
>>>>>> Version A: <ProtoInstance USE="xxx" name="yyy"/> WITH name
>>>>>> attribute - standards compliant
>>>>>> Version B: <ProtoInstance USE="xxx"/> WITHOUT name attribute
>>>>>> Version C: <Script USE="xxx"/> WORKAROUND - works for all browsers
>>>>>>
>>>>>> I tested with BS Contact --- he can cope with all three versions.
>>>>>>
>>>>>> Download the .zip file at
>>>>>> https://lc-soc-lc.at/experimental/ProtoInstanceWithUSE/ I
>>>>>> provide it by a GPLv3.
>>>>>>
>>>>>> Feed Back welcome. You may take it and give it to your benchmark
>>>>>> tests, if you like.
>>>>>>
>>>>>> Kind regards,
>>>>>> Christoph
>>>>>>
>>>>>>
>>>>>> *Gesendet:* Dienstag, 24. November 2020 um 00:30 Uhr
>>>>>> *Von:* "Andreas Plesch" <andreasplesch at gmail.com>
>>>>>> *An:* "Christoph Valentin" <christoph.valentin at gmx.at>
>>>>>> *Cc:* "X3D Graphics public mailing list" <x3d-public at web3d.org>
>>>>>> *Betreff:* Re: [x3d-public] ProtoInstance USE without name
>>>>>> Hi Christoph,
>>>>>>
>>>>>> thanks, interesting. Perhaps it will be useful to try a USE
>>>>>> ProtoInstance in a very simple scene, in multiple browsers.
>>>>>>
>>>>>> -Andreas
>>>>>>
>>>>>> On Mon, Nov 23, 2020 at 1:01 PM Christoph Valentin <
>>>>>> christoph.valentin at gmx.at> wrote:
>>>>>>
>>>>>>>
>>>>>>> Hi
>>>>>>>
>>>>>>> This bug is common to many X3D players (even classical non-WebGL X3D
>>>>>>> players).
>>>>>>>
>>>>>>> I was used to use following workaround, which worked for all
>>>>>>> relevant players:
>>>>>>>
>>>>>>> If I want to USE a DEFd ProtoInstance, I will actually instantiate a
>>>>>>> <Script> node with USE.
>>>>>>>
>>>>>>> KR,
>>>>>>> Christoph
>>>>>>>
>>>>>>> *Gesendet:* Montag, 23. November 2020 um 00:00 Uhr
>>>>>>> *Von:* "Andreas Plesch" <andreasplesch at gmail.com>
>>>>>>> *An:* "X3D Graphics public mailing list" <x3d-public at web3d.org>
>>>>>>> *Betreff:* [x3d-public] ProtoInstance USE without name
>>>>>>> Looking at why the old Prototypes for HAnim did not work properly
>>>>>>> for x3dom, I found that the xml examples typically have a ProtoInstance
>>>>>>> statement with a USE attribute but without the corresponding name attribute
>>>>>>> defining the actual node type. However, x3dom expects a name attribute with
>>>>>>> every ProtoInstance statement, even USE ones, to be able to insert the
>>>>>>> appropriate node.
>>>>>>>
>>>>>>> The xml spec at
>>>>>>>
>>>>>>>
>>>>>>> https://www.web3d.org/documents/specifications/19776-1/V3.3/Part01/concepts.html#ProtoInstanceAndFieldValueStatement
>>>>>>>
>>>>>>> does not address USE of ProtoInstances but all examples always have
>>>>>>> a name attribute.
>>>>>>>
>>>>>>> Also, in my quite extensive testing of Protos, I did not come across
>>>>>>> other examples of ProtoInstance elements without a name attribute.
>>>>>>>
>>>>>>> To be fair, the name attribute is not strictly necessary for USE
>>>>>>> ProtoInstances since the type of the inserted node can be determined from
>>>>>>> the referenced DEF node. But having the name attribute makes ProtoInstance
>>>>>>> elements more similar to regular nodes. So I think not requiring the name
>>>>>>> attribute for USE ProtoInstances should be explicitly allowed in the xml
>>>>>>> spec., but still be encouraged.
>>>>>>>
>>>>>>> I do not think the xml spec. would be otherwise affected by V.4 ?
>>>>>>>
>>>>>>> Best, Andreas
>>>>>>>
>>>>>>> --
>>>>>>> Andreas Plesch
>>>>>>> Waltham, MA 02453
>>>>>>> _______________________________________________ x3d-public mailing
>>>>>>> list x3d-public at web3d.org
>>>>>>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Andreas Plesch
>>>>>> Waltham, MA 02453
>>>>>>
>>>>>
>>>>
>>>> --
>>>> Andreas Plesch
>>>> Waltham, MA 02453
>>>>
>>> _______________________________________________ x3d-public mailing list
>>> x3d-public at web3d.org
>>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>>
>>
>>
>> --
>> Andreas Plesch
>> Waltham, MA 02453
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20201129/75a8cd11/attachment-0001.html>
More information about the x3d-public
mailing list