[x3d-public] X3Dv4: hidden field specification and deployment, GeoOrigin deprecation removed

Don Brutzman brutzman at nps.edu
Mon Jan 13 06:40:49 PST 2020


Progress report summary follows, with review and refinement actions needed for specification.

[Re: X3D working group minutes, 9 JAN 2020]
On 1/11/2020 5:13 PM, Don Brutzman wrote:
> Agenda: ongoing review of progress and issues list for X3Dv4.
> [...]
> 
> Priority: issues that affect schemas, validation and examples.
> 
> 5.a. Mantis 1271: add hidden field to Shape
>     https://www.web3d.org/member-only/mantis/view.php?id=1271
> 
> Discussion:
> - More sensible from a modeling perspective: put it on any X3DGroupingNode.
>    10.3.2 X3DGroupingNode
>    https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#X3DGroupingNode
> - Note that 'hidden' only relates to visual display, not behavior animation.
> - Add to X3Dv4 specification, review prose next week
> - Update X3D schemas and X3DUOM to support implementation examples.
> 
> TODO: add hidden field to X3DGroupingNode nodes
Hidden field has been added to draft X3Dv4 specification and deployed to X3D XML Schema, X3D DOCTYPE, X3DUOM, X3DJSAIL Java, X3DPSAIL Python, and X3D v4 Tooltips.  Initial tests sat.

* draft X3Dv4 specification
   X3D/ISO-IEC19775/ISO-IEC19775-1/ISO-IEC19775-1v4.0/ISO-IEC19775-1v4-WD1/Part01/
   https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC19775/ISO-IEC19775-1/ISO-IEC19775-1v4.0/ISO-IEC19775-1v4-WD1/Part01

* Github changelog of 20 html files in specification:
   https://github.com/Web3DConsortium/X3D/commit/3aa2629d9163be6ee2d6e67d4fe9b99c9c8f085f#diff-05251bb2a8915b20faa0101c6190a6ec

* Additional github specification change: applied edits for removal of GeoOrigin deprecation.
   https://github.com/Web3DConsortium/X3D/commit/dd1af5fd2ac694350067f2e0fc201106e96d996f#diff-20f884c701ebc9253ac8a87a6cbf0cfd

* X3D XML Schema and X3D DOCTYPE
   https://www.web3d.org/specifications
   https://www.web3d.org/specifications/x3d-4.0.xsd
   https://www.web3d.org/specifications/X3dSchemaDocumentation4.0.html
   https://www.web3d.org/specifications/x3d-4.0.dtd
   https://www.web3d.org/specifications/x3d-dtd-changelog.txt

* X3DUOM
   https://www.web3d.org/specifications/X3DUOM.html
   https://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml
   https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml

* 3D Java Scene Access Interface Library (X3DJSAIL)
   https://www.web3d.org/specifications/java/X3DJSAIL.html

* X3DPSAIL Python X3D Package x3d.py
   https://www.web3d.org/x3d/stylesheets/python/python.html

* X3D v4 Tooltips
   https://www.web3d.org/x3d/tooltips/X3dTooltips.html
   https://www.web3d.org/x3d/tooltips/X3dTooltips.html#Anchor.hidden
	(X3D version 4.0 draft) [hidden accessType inputOutput, type SFBool (true|false) "false"]
	Whether or not renderable content within this node is visually displayed.
	Hint: the hidden field has no effect on animation behaviors, event passing or other non-visual characteristics.

Mantis 1271: add hidden field to Shape and X3DGroupingNode, consider X3DHidableObject
https://www.web3d.org/member-only/mantis/view.php?id=1271
===========================================================
> X3D Working Group consensus:
> 
> * [x3d-public] X3D working group minutes, 9 JAN 2020: recent events, X3Dv4 progress, name restrictions, hidden field, Mantis issue resolution
>   http://web3d.org/pipermail/x3d-public_web3d.org/2020-January/011640.html
> 
> More sensible from a modeling perspective: put it on any X3DGrouping node.
> 
> Note that 'hidden' only relates to visual display, not behavior animation.
> 
> TODO
> - Add to X3Dv4 specification, review prose next week
> - Update X3D schemas and X3DUOM to support implementation examples.
> 
> Suggested node signature addition and prose:
> 
> ======================
> 10.3.2 X3DGroupingNode
> 
>   SFBool [in out] hidden FALSE
> 
> The /hidden/ field specifies whether or not the renderable content within this node is visually displayed. The value of this field has no effect on animation behaviors, event passing or other non-visual characteristics.
> ======================
> 
> A list of all nodes that implement X3DGroupingNode can be found in X3DJSAIL (which is derived from X3DUOM) at
> https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/sai/Grouping/X3DGroupingNode.html
> 
> * Anchor, Billboard, CADAssembly, CADLayer, CADPart, Collision, EspduTransform, GeoLocation, GeoTransform, Group, HAnimSegment, HAnimSite, LayoutGroup, LOD, PickableGroup, ScreenGroup, Switch, Transform, Viewport, X3DViewportNode
> 
> Also included renderable parent nodes:
> 
> * GeoLOD, HAnimHumanoid, HAnimJoint, Inline, Shape, StaticGroup
> 
> Did not include ProtoInstance since an author might define that field... workaround is for author to put ProtoInstance inside of a Group node if that kind of a workaround is needed for hidden field.
===========================================================

Changes to this first work on hidden fieldare  welcome. Adjustments to specification prose and content model are simple to accomplish at this point through search/replace.

*TODO actions, also have some lookahead actions for next meeting:*

===========================================================
https://www.web3d.org/member-only/mantis/view.php?id=1271#c2493

> Potential, desirable inheritance (object model) changes:
> 
> a. StaticGroup is quite similar to Group but does not inherit X3DGroupingNode because it does not support remove_children and children_changed events. Adding 'hidden' field, consider adjusting the inheritance to X3DGroupingNode and simply adjusting the prose to note those inputOnly/outputOnly fields are not functionally supported. This would be much better for regularizing the scene graph.
> 
> b. ViewpointGroup has field 'displayed' with similar semantics. Probably we should match names. Since the field 'hidden' is common with HTML5, that seems to be the better name.
> 
> c. Given the variations we are encountering and the desirable capability for identification/introspection to reveal all nodes with 'hidden' field, we might be best served by identifying and adding the following object property as part of all of these related nodes.
> 
> =======================
> 10.3.3 X3DHidableObject
> 
> X3DHidableObject {
>   SFBool [in out] hidden FALSE
> }
> 
> This abstract node type is the basis for all node types that have the /hidden/ field specified as part of the definition.
> 
> The /hidden/ field specifies whether or not the content within an node type is visually displayed. The value of this field has no effect on animation behaviors, event passing or other non-visual characteristics.
> =======================
===========================================================

I will work up an example to help test.  Everything is in place now for anyone to implement.

Thanks for excellent insights and clarity on X3D teleconference, more to follow this week.

Have fun with X3Dv4!  8)

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