[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