[x3d-public] Turning on and off simultaneous animations individually
Holger Seelig
holger.seelig at yahoo.de
Tue Feb 4 11:01:36 PST 2025
The default value for a field is either specified for each node type or the default value for Script or ComposedShader node custom fields is defined in https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/fieldTypes.html. Mostly false, 0, „“, identity, ...
A proto instance will inherit its default values from the proto declaration its fields. Fields such as outputOnly will normally have a default value from fieldTypes.html.
There is an exception with X3DInterpolatorNode.value_changed:
https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/interpolators.html#X3DInterpolatorNode
If an X3DInterpolatorNode value_changed outputOnly field is read before it receives any inputs, keyValue[0] is returned if keyValue is not empty...
Best regards,
Holger
--
Holger Seelig
Leipzig, Germany
holger.seelig at yahoo.de
https://create3000.github.io/x_ite/
> Am 04.02.2025 um 19:26 schrieb Andreas Plesch via x3d-public <x3d-public at web3d.org>:
>
> Hi John, all,
>
> It turns out that x3dom currently expects a default value for Proto fields even for outputOnly fields. This is due to how Proto fields are initialized. They always need to have a value. While the spec. does not require this, it seems still good practice to always define a default value in the ProtoInterface. There may be a case where an outputOnly field is used in ISing where a valid value would be expected. There may be other corner cases.
>
> Here is your example with added default values for outputOnly fields:
>
> https://andreasplesch.github.io/Library/Viewer/index.html?url=https://gist.githubusercontent.com/andreasplesch/af5ff3148c1159f71d34fb78c1f63024/raw/b3d4470107ab74e301ed48448ab2a4f4154672e0/ManyClocks_John.x3d
>
> This could be fixed in x3dom, by always setting some default value. Is there a list of recommended defaults for each data type if no other source of defaults is available? For SFTime it seems to be -1.
>
> -Andreas
>
>
> On Mon, Feb 3, 2025 at 7:39 AM Andreas Plesch <andreasplesch at gmail.com <mailto:andreasplesch at gmail.com>> wrote:
>> Hi John,
>>
>> On Mon, Feb 3, 2025 at 12:48 AM John Carlson <yottzumm at gmail.com <mailto:yottzumm at gmail.com>> wrote:
>>> Andreas, "startTime" is an accessType outputOnly field, so why do I need to provide a value attribute in fieldValue? I'm kind of confused. I'm probably missing something in the spec.
>>
>> You are right, I only outlined scenarios where the accessType allows input or initialization..
>> In the outputOnly case it is not necessary to provide a fieldValue node at all since there is no value which can be provided. Providing the node would indeed be confusing, to both the user code reader and any X3D browser.
>> I believe the spec. is silent on this case in any encoding.
>>
>> Best, Andreas
>>
>>> Thanks for any clarification.
>>>
>>> I have finally enabled schematron on the project, but I'm finding it hard to understand the messages, and modifications that I make, while removing the immediate problems, seem to move the problems elsewhere.
>>>
>>> Explaining why I need a "startTime" fieldValue value is my main lack of understanding, but perhaps I need a whole review of accessType.
>>>
>>> Castle Model Converter reports:
>>>
>>> castle-model-converter: Warning: X3D: X3D XML: <fieldValue> element references unknown field name "enabled"
>>> castle-model-converter: Warning: X3D: X3D XML: <fieldValue> element references unknown field name "startTime"
>>> castle-model-converter: Warning: X3D: X3D XML: <fieldValue> element references unknown field name "stopTime"
>>>
>>> I will try providing a field value in the ProtoInterface
>>>
>>> If I "cleanup" enabled, startTime and stopTime, I get:
>>>
>>> castle-model-converter: Warning: VRML/X3D: Within prototype "MenuItem", event "inputTrue" references (by "IS" clause) non-existing event "enabled"
>>> castle-model-converter: Warning: VRML/X3D: Within prototype "MenuItem", event "triggerTime" references (by "IS" clause) non-existing event "startTime"
>>> castle-model-converter: Warning: VRML/X3D: Within prototype "MenuItem", event "triggerTime" references (by "IS" clause) non-existing event "stopTime"
>>>
>>> I guess what I conclude at this point is, startTime and stopTime are bad DEF names, but what about enabled as a field? The dominoes are falling.
>>>
>>> About your two scenarios in the other message, perhaps this is revealing.
>>>
>>> See attached attempt to fix original issue, which resulted in the above.
>>>
>>> John
>>>
>>> On Sun, Feb 2, 2025 at 3:59 PM Andreas Plesch <andreasplesch at gmail.com <mailto:andreasplesch at gmail.com>> wrote:
>>>> I think x3dom, reasonably, expects a value for the fieldValue nodes:
>>>>
>>>> For example:
>>>>
>>>> <fieldValue name="startTime" />
>>>>
>>>> and others.
>>>>
>>>> On Sun, Feb 2, 2025 at 5:42 AM John Carlson <yottzumm at gmail.com <mailto:yottzumm at gmail.com>> wrote:
>>>>> Andreas, Joe,
>>>>>
>>>>> Reset Button, Reset_Clock added.
>>>>>
>>>>> See attached zip for details, or visit link;
>>>>>
>>>>> https://create3000.github.io/x_ite/playground/?url=https://raw.githubusercontent.com/coderextreme/ci2had/refs/heads/main/resources/CleanedYouClocks.x3d
>>>>>
>>>>> For some reason, this link doesn't show the live scene?
>>>>>
>>>>> https://andreasplesch.github.io/Library/Viewer/index.html?url=https://raw.githubusercontent.com/coderextreme/ci2had/refs/heads/main/resources/CleanedYouClocks.x3d
>>>>>
>>>>> Puzzled, haven't researched it yet. Looks good in Sunrize and X_ITE, will try FreeWRL next.
>>>>>
>>>>> John
>>>>
>>>>
>>>>
>>>> --
>>>> Andreas Plesch
>>>> Waltham, MA 02453
>>
>>
>>
>> --
>> Andreas Plesch
>> Waltham, MA 02453
>
>
>
> --
> Andreas Plesch
> Waltham, MA 02453
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org <mailto:x3d-public at web3d.org>
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20250204/b1406bd2/attachment-0001.html>
More information about the x3d-public
mailing list