[x3d-public] Topics for Discussion at JSON meeting: SFNode/MFNode field/fieldValue content, ProtoBody, regexes
Roy Walmsley
roy.walmsley at ntlworld.com
Sat Feb 6 16:05:08 PST 2016
Don,
I don't have any problem with that. What about for default values within a field in a ProtoInterface? Or a Shader? Or a Script?
Roy
-----Original Message-----
From: Don Brutzman [mailto:brutzman at nps.edu]
Sent: 06 February 2016 23:11
To: Roy Walmsley; John Carlson
Cc: x3d-public at web3d.org
Subject: Re: [x3d-public] Topics for Discussion at JSON meeting: SFNode/MFNode field/fieldValue content, ProtoBody, regexes
Testing reconsideration: using "-value" for children SFNode/MFNode content inside a fieldValue can be improved.
Better: use "-children" instead. Common semantics, simpler encoding rules, easier to remember, less failure prone.
Next version (test suite in progress) will use "-children" instead of "-value" for contained content.
Test suite conversion checks appear to be performing well, update should be complete late tonite.
Examples attached. As always, comments are welcome.
p.s. here's one comment: i had great trouble getting "-value" to work properly. "-children" fell right into place and seems like an obvious improvement, since the earlier "-value" was an arbitrary choice.
On 2/5/2016 7:04 PM, Don Brutzman wrote:
> Summary: Once again the X3D JSON design is looking pretty solid, and our tool suites are pretty powerful at detecting edge-case issues.
>
> On 2/5/2016 10:37 AM, Don Brutzman wrote:
>> [correction: shifted to x3d-public]
>> [...]
>> On 2/4/2016 10:56 AM, Roy Walmsley wrote:
>>> Topics for Discussion for JSON encoding meeting February 5^th 2016 at 1000 PST, 1800 GMT.
>>> [...]
>>> 2) *Encoding of node fields in ‘field’ and ‘fieldValue’ elements
>>> within Script and Prototypes.* [...snip/shuffle...] Illustration of
>>> 2) above is in X3D Example Archives: Basic, CAD, Cad Geometry Extern
>>> Prototypes (see
>>> http://www.web3d.org/x3d/content/examples/Basic/CAD/_pages/page02.ht
>>> ml)
>>>
>>> Find the ProtoInstance named ‘IndexedQuadSet’. It has two fieldValue children. The second has the name ‘coord’, and a child Coordinate node. When converted into JSON this Coordinate node is allocated to a field /-coord/, which is the default containerField name for this node. This is incorrect. It should be allocated to the /-value/ field. This is because the element fieldValue has attributes of ‘name’ and ‘value’.
>>>
>>> A similar issue arises with default values for node fields within the field element.
>
> OK this change is worth close scrutiny to avoid confusion later.
>
> For <field> and <fieldValue>, when the "@value" attribute is used for simple types, everything works OK.
>
> For <field> and <fieldValue>, with contained SFNode/MFNode content or contained comments or contained ROUTEs, the key is now "-value" (hyphen instead of ampersand).
> [...]
Summary, revising the prior sentence:
For <field> and <fieldValue>, with contained SFNode/MFNode content or contained comments or contained ROUTEs, the key is now "-children" as with most other child content.
all the best, Don
--
Don Brutzman Naval Postgraduate School, Code USW/Br brutzman at nps.edu
Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman
More information about the x3d-public
mailing list