[source] Fwd: Re: [x3d] reviewing Mantis items for Java SAI

Don Brutzman brutzman at nps.edu
Mon May 18 19:21:37 PDT 2015


Of interest to X3D Java programmers.  Comments and improvements are always welcome.


-------- Forwarded Message --------
Subject: Re: [x3d] reviewing Mantis items for Java SAI
Date: Mon, 18 May 2015 09:24:30 -0700
From: Don Brutzman <brutzman at nps.edu>
Organization: Naval Postgraduate School
To: X3D Graphics Working Group <x3d at web3d.org>, Richard F. Puk <puk at igraphics.com>, Roy Walmsley <roy.walmsley at ntlworld.com>
CC: X3D Graphics Working Group <x3d at web3d.org>

Attendees:  Puk, Walmsley, Glascoe, Brutzman.

Minutes:

a. Mantis:
- some intermittent login difficulties reported on separate thread, inconsistent browser response.
- We need a filter for each SAI so that we can isolate issues.

=================================================
We reviewed draft Java SAI prose, sent separately by Dick.
ISO_IEC_CD_19777_2_WorkingVersion_2015_05_18.zip

...  and autogenerated bindings:
http://www.web3d.org/specifications/#AutogeneratedProducts

Annex B Abstract node Interfaces
http://www.web3d.org/specifications/JavaLanguageBinding/Part2/abstracts.html

Annex C Concrete node interfaces
http://www.web3d.org/specifications/JavaLanguageBinding/Part2/concretes.html

We also referred to the Abstract SAI 19775-2
http://www.web3d.org/documents/specifications/19775-2/V3.3/index.html

=================================================
b. Issue 0000215: 19777-2: setValue Interaction
http://www.web3d.org/member-only/mantis/view.php?id=215

> Specification: X3D Java Bindings (ISO/IEC FDIS 19777-2)
>  Section: setValue
>  URL:
>  Comment:
>  How are the field length modification methods supposed to interact with the set1Value methods?
>
>  It seems reasonable that
>  beginUpdate
>  fieldA.set1Value
>  fieldA.append
>  fieldA.insert
>  fieldA.set1Value
>  endUpdate
>
>  should coallesce into one setValue call to fieldA, but the specification has no clear support for this interpretation.
>
>  Proposed solution:
>  Add verbage similar to "Append, insert and remove requests are subject to the set1Value request combination semantics and combine with set1Value requests as appropriate."
> Additional Information Submitted by: Bradley Vender, Email: bradley.vender at ndsu.edu

Relevant:

Java SAI
6.3.18 updateControl
void ExternalBrowser.beginUpdate()
     throws InvalidBrowserException

void ExternalBrowser.endUpdate()
     throws InvalidBrowserException

This service is split into two separate methods beginUpdate and endUpdate. The functionality is as described in 6.3.19, Update Control of ISO/IEC 19775-2 (see 2.[I19775]).

Going there, we found (excerpted):

http://www.web3d.org/documents/specifications/19775-2/V3.3/Part02/servRef.html#UpdateControl
> 6.3.19 updateControl
> [...]
> The updateControl species the manner in which buffered updates are processed.
>
> The SAIAction parameter specifies the actions that may be applied against the buffer. Other actions may be added, such as to query the number of items, or the state of the buffer and are implementation dependent. Table 6.3 defines the actions specified in this part of ISO/IEC 19775.
> [...]
> The timestamp of events generated at the call to EndUpdate are implementation dependent but should be consistent with the time within the current world. That is, timestamps cannot be in the "past" relative to the other current events generated internally with event model at the time when they are generated.
>
> BeginUpdate and EndUpdate are not nesting calls. Once BeginUpdate has been called, it may be called any number of times, but only a single EndUpdate call is needed to release the buffered events into the scene graph. A call to EndUpdate without a previous matching BeginUpdate has no effect.

Based on this prose, we think that the comment by Brad is handled OK already.

Leonard, assigned to you, hopefully you can confirm status is assigned OK.

=================================================
c. Issue 0000650   19777-2 (Java) minor new 2014-02-05 3.1.2 - Formatting
http://www.web3d.org/member-only/mantis/view.php?id=650

> Comment on 19777-2: Java Binding - V3.3
>  3.1.2
>  -----------------
>  In Table 3.1, the entry for 3.3.5.1 is incorrectly indented.

Dick reports it is now fixed.

=================================================
d. Issue 0000673   19777-2 (Java) minor new 2014-02-05 Annex A - Remove Section
http://www.web3d.org/member-only/mantis/view.php?id=673

> Comment on 19777-2: Java Binding - V3.0
>  Annex A
> http://www.web3d.org/files/specifications/19777-2/V3.0/Part2/compilation.html [^]
>
>  -----------------
>  We do not appear to need to retain "Compilation order" as a section since such an ordering is optional in any case. The title of the annex might then be renamed as Class Hierarchy.

Dick discussed how this annex title is common to all the language bindings.  Prior spelling is fixed.

No structural issues remain.

An actual implementation (or at least interfaces) needs to be compiled to verify A.2 Class hierarchy and A.3 Compilation order.

Assigned to me.

=================================================
f. Issue  0000674 1 19777-2 (Java) minor new 2014-02-05 23.4.3 - Missing default behavior
http://www.web3d.org/member-only/mantis/view.php?id=674

This issue is in the incorrect category.  It needs to be assigned to 19775-1 Abstract spec.

=================================================

g. GeoOrigin deprecation:  added as issue 689.

The implementation of this is partly complete, will check the missing pieces and then clear it.

http://www.web3d.org/member-only/mantis/view.php?id=689

> Java SAI should indicate that use of GeoOrigin is deprecated, wherever it appears in both the class and accessor methods.
>
> http://www.web3d.org/specifications/JavaLanguageBinding/Part2/concretes.html

=================================================

h.  Background: DEF/USE handling has been identified as something that is only partly specified in the Java SAI.

Xj3D has some example code that applies DOM to get DEF and USE string values.

Different programmers (and indeed different programming languages) may have different ways of handling object references (either for a DEF instance or a USE reference). Programmers might decide to create a full-fledged instance of a USE node, for example.

The Abstract SAI says a little but not a lot.
  6.4.7 getNode
http://www.web3d.org/documents/specifications/19775-2/V3.3/Part02/servRef.html#getNode [^]

getNode only can return a DEFNode, IMPORTNode or EXPORTNode type.

Lack of DEF and USE labels (i.e. simple field strings) within the scene graph means that there is no way to "round trip" a serialization of loading and then saving a scene graph.

Probably applies to ECMAScript language binding as well.

Appears to be an issue for next version of SAI.

Entered as new issue 690:
DEF/USE identification and functionalilty needs to be better specified
http://www.web3d.org/member-only/mantis/view.php?id=690

=================================================

Review welcome.

_______________________________________________
x3d mailing list
x3d at web3d.org
http://web3d.org/mailman/listinfo/x3d_web3d.org


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 source mailing list