[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