<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">I am in favor of allowing Metadata to
      be attached to any node.<br>
      <br>
      I am suggesting that ClassicVRML encoding be enlarged to have an
      explicit Scene node (for V4+) and implied when dealing with V3.x
      or less. Metadata could be a child of Scene like it is a child of
      any other node. <br>
      <br>
      I see the advantages as:<br>
      1) It makes Scene explicit like all other nodes<br>
      2) Scene has Metadata like all other nodes<br>
      3) It does not require WorldInfo to contain the metadata at the
      root level.<br>
      <br>
      <br>
      Leonard Daly<br>
      <br>
      <br>
    </div>
    <blockquote cite="mid:56A0369C.4090000@nps.edu" type="cite">The X3D
      working group is taking a close look at what nodes are allowed to
      be root nodes in a scene graph.
      <br>
      <br>
      This makes it useful to look at whether diverse metadata ought to
      be allowed at the root of an X3D scene. - more than just
      WorldInfo.
      <br>
      <br>
      Wondering if this might e an X3D architecture design issue that
      has further use cases, such as
      <br>
      - Re-usable metadata libraries for CAD, humans, medical, 3D
      printing, etc.
      <br>
      - Modeling and simulation
      <br>
      - HTML microformats/metadata, perhaps
      <br>
      - Database and Semantic Web queries
      <br>
      - Other potential application areas.
      <br>
      <br>
      Please advise if you know of any uses of metadata for entire or
      multiple scenes, that will help.
      <br>
      <br>
      ================================
      <br>
      <br>
      Preliminary technical analysis follows.  All comments and
      reactions welcome.
      <br>
      <br>
      Typically, a WorldInfo node is used to provide information about a
      scene.
      <br>
      <br>
      GeoMetaData can also be used to provide metadata information about
      other geospatial nodes in a scene.
      <br>
      <br>
      GeoOrigin has some similarities since it is not rendered but is
      typically shared among multiple geospatial nodes in a scene - and
      so consistency is particularly important in this case.  Because
      GeoOrigin cannot be placed at the root of a scene, it is difficult
      to share among multiple scenes, which is commonly needed when
      building a large terrain set.
      <br>
      <br>
      The various typed Metadata* nodes in the Core component are
      typically used to annotate another node in the 'metadata' field. 
      MetadataSet collections can collect large amounts of metadata in
      one place.
      <br>
      <br>
      Conceivably authors may want to have scenes that contain complex
      metadata structures, or even metadata libraries, that can be
      easily re-used by other scenes via Inline/IMPORT/EXPORT.
      <br>
      <br>
      Currently only WorldInfo and GeoMetadata would appear to be legal
      root nodes, because each implements the X3DInfoNode interface
      which in turn implements X3DChildNode, which in turn is an allowed
      root node.
      <br>
      <br>
      Related point.  As a holdover from the original VRML97 design, the
      root of a scene itself is defined a bit inconsistently expressed
      in the various encodings.
      <br>
      - implicit, not referencable in VRML97 or ClassicVRML encoding
      <br>
      - explicit, referencable as Scene element in .x3d XML encoding,
      compressed binary encoding, draft JSON encoding and when contained
      within HTML document
      <br>
      <br>
      The recent work on the JSON encoding mapped the VRML/X3D document
      model to a strict object model, the JavaScript _Object_ notation. 
      Close scrutiny showed that the root (as embodied by Scene) is
      directly similar to a Grouping node with children.  This is
      identical to the case when an Inline brings another scene graph
      into a parent scene - it acts as a type of remotely-loaded
      Grouping node.
      <br>
      <br>
      NPS has some good experience with metadata collections via the
      SAVAGE Modeling and Analysis Language (SMAL), in which we collect
      many kinds of metadata in a metadata template that allows a
      simulation tool to load an X3D model and utilize modifiable
      metadata regarding the scene's utilization in a larger model.
      <br>
      <br>
      In order to pass validation, the SMAL design pattern for
      containing metadata in a scene is
      <br>
      <br>
          X3D/Scene/WorldInfo/MetadataSet/[lots of structured metadata]
      <br>
      <br>
      Not so bad, but multiple WorldInfo peers might be present.  That
      means the root of the scene (e.g. Scene element) does not have a
      single 'metadata' field, thus making it different that other
      grouping nodes.
      <br>
      <br>
      Pretty involved! The X3D Working Group will continue to consider
      potential specification improvements on this issue, all feedback
      remains welcome.
      <br>
      <br>
      References:
      <br>
      <br>
      4.3.2 Root nodes
      <br>
<a class="moz-txt-link-freetext" href="http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/concepts.html#Rootnodes">http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/concepts.html#Rootnodes</a>
      <br>
      <br>
      X3D Core Component (WorldInfo, Metadata* nodes)
      <br>
<a class="moz-txt-link-freetext" href="http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html">http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html</a>
      <br>
      <br>
      X3D Geospatial Component (GeoMetadataSet, GeoOrigin)
      <br>
<a class="moz-txt-link-freetext" href="http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/geodata.html">http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/geodata.html</a>
      <br>
      <br>
      X3D for Web Authors: online chapter 14, Metadata Information
      <br>
      <a class="moz-txt-link-freetext" href="http://x3dgraphics.com/chapters/Chapter15-MetadataInformation.html">http://x3dgraphics.com/chapters/Chapter15-MetadataInformation.html</a>
      <br>
          
      <br>
      SAVAGE Modeling and Analysis Language (SMAL)
      <br>
      <a class="moz-txt-link-freetext" href="https://savage.nps.edu/Savage/Tools/SMAL/SMAL.html">https://savage.nps.edu/Savage/Tools/SMAL/SMAL.html</a>
      <br>
      <br>
      all the best, Don
      <br>
    </blockquote>
    <br>
    <br>
    <div class="moz-signature">-- <br>
      <font class="tahoma,arial,helvetica san serif" color="#333366">
        <font size="+1"><b>Leonard Daly</b></font><br>
        X3D Co-Chair<br>
        Cloud Consultant<br>
        President, Daly Realism - <i>Creating the Future</i>
      </font></div>
  </body>
</html>