[x3d-public] appinfo attribute/field

Michalis Kamburelis michalis.kambi at gmail.com
Thu Aug 21 03:42:36 PDT 2025


Thank you -- but that's not yet enough :)

The fact that appinfo is SFString says what information it can carry
(OK, 1 string), but not yet how it's encoded. If "appinfo" would be a
regular field inside a regular X3D node, it would be all we need...
alas, it is not.

As it stands, "appinfo" is part of "ProtoDeclare" and "field" in
prototype interface -- these are special concepts with special syntax,
in both X3D XML and classic encodings.

- For the X3D 3.3 classic encoding, this is the relevant section:
https://www.web3d.org/documents/specifications/19776-2/V3.3/Part02/concepts.html#PROTOStatementSyntax

- For the X3D 3.3 XML encoding, this is the relevant section:
https://www.web3d.org/documents/specifications/19776-1/V3.3/Part01/concepts.html#PrototypeAndFieldDeclarationSyntax

I think we need "X3D 4.0 classic encoding" and "X3D 4.0 XML encoding"
specs and they should extend above sections to include how the
additional X3D 4.0 information ("appinfo", "documentation") is
encoded.

The XML encoding is kind of obvious in this case (as "ProtoDeclare"
and "field" are XML elements, so "appinfo" and "documentation" can be
just XML attributes), so it's not a big question. But classic encoding
of them is really unknown, at least to me :)

Regards,
Michalis

wt., 19 sie 2025 o 18:59 John Carlson via x3d-public
<x3d-public at web3d.org> napisał(a):
>
> What I meant to say is appinfo is an SFString, but I don’t know if that’s enough information for the classic encoding.  Anyone?
>
> John
>
> On Tue, Aug 19, 2025 at 11:17 AM John Carlson <yottzumm at gmail.com> wrote:
>>
>> Sorry, I the previous message contained 2 large images.
>>
>> The direct links are:
>>
>> https://www.web3d.org/x3d/content/X3dTooltips.html#ProtoDeclare.appinfo
>>
>>
>> https://www.web3d.org/x3d/content/X3dTooltips.html#field.appinfo
>>
>> John
>>
>> ---------- Forwarded message ---------
>> From: John Carlson <yottzumm at gmail.com>
>> Date: Tue, Aug 19, 2025 at 10:54 AM
>> Subject: Re: [x3d-public] appinfo attribute/field
>> To: Michalis Kamburelis <michalis.kambi at gmail.com>
>> CC: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org>
>>
>>
>> Michalis:
>>
>> Tooltips may help again here, they are SFStrings.   I don’t know the meaning of CDATA or #IMPLIED though, see attached images.  The issue you mentioned contains direct links, FMI.
>>
>> Thanks,
>>
>> John
>>
>>
>> On Tue, Aug 19, 2025 at 10:46 AM Michalis Kamburelis <michalis.kambi at gmail.com> wrote:
>>>
>>> Let me add another question to this thread: Where is the specification
>>> of how to *encode* appinfo information in the X3D classic encoding?
>>>
>>> To add some background/context to this question:
>>>
>>> - Thanks to John pointing out in
>>> https://github.com/castle-engine/castle-engine/issues/688 , in CGE we
>>> lack support for "appinfo" attribute in ProtoDeclare / field.
>>>
>>> - I found a mention of new "appinfo" and "documentation" in the
>>> abstract X3D 4.0 spec:
>>> https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/concepts.html#PROTOinterfacedeclsemantics
>>> ,"""Prototype and field declarations may optionally include appinfo
>>> functional descriptions (i.e., tooltip summary) and a documentation
>>> url providing a link to further related information."""
>>>
>>> - However, as the above is the "abstract" part of the spec ("X3D
>>> Abstract : Architecture and base components") so it naturally doesn't
>>> say how these "appinfo" and "documentation" are actually encoded. The
>>> official XML encoding and classic encoding specs are now at 3.3
>>> version -- so they don't mention how to encode this new X3D 4.0
>>> feature.
>>>
>>> - For XML encoding, it seems straightforward, judging from the
>>> testcase in https://github.com/castle-engine/castle-engine/issues/688
>>> . They are just XML attributes.
>>>
>>>     <ProtoDeclare appinfo='...' name='...' ...>
>>>
>>>     <field appinfo='...' ...>'
>>>
>>>     OK, so XML encoding is simple enough:)
>>>
>>> - We need to know how to encode this information in X3D classic, to
>>> enable lossless conversion between X3D encodings (classic, XML etc.).
>>>
>>> - If there is a spec, and/or a clear example of how to do this in X3D
>>> classic encoding, please point me to it :) Thank you!
>>>
>>> Regards,
>>> Michalis
>
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org



More information about the x3d-public mailing list