<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Declarative 3D use case for creating a Web3D public Outreach timeline using an X3D scene</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Anita Havele</string-name>
          <email>anita.havele@web3d.org</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Don Brutzman</string-name>
          <email>brutzman@nps.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Naval Postgraduate School</institution>
          ,
          <addr-line>California</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Web3D Consortium</institution>
          ,
          <addr-line>California</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Declarative 3D needs to include a use case for public outreach models that serve as both good demos and good exemplars for authors. This demonstration shows how to structure a Web3D timeline scene using X3D Prototypes. We will also explore the evolution (or perhaps simplification) of this scene using the X3DOM environment and declarative 3D functionality. Categories and Subject Descriptors I.3.6 [Methodology and Techniques]: Standards|Languages; I.3.7 [Computer Graphics]: ThreeDimensional Graphics and Realism|Virtual Reality.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Copyright notice:
Copyright © 2012 for the individual papers by the
papers' authors. Copying permitted only for private
and academic purposes. This volume is published and
copyrighted by its editors. Dec3D2012 workshop at
WWW2012, Lyon, France
This is an important use case for Declarative 3D that
can help illustrate capabilities while
comparing/contrasting tradeoffs of different
approaches. Our objective here is to take an initial
outreach scene using prototypes, showing the
strengths and weaknesses of X3D implementation
interoperability. We will then modify this scene to
run in the X3DOM environment as a way to analyze
the limitations of various Declarative 3D and
imperative 3D approaches. We hope to identify
several advantages and disadvantages. A well-defined
use case for Declarative 3D will likely result from
feedback from the group.
2. X3D Prototype Design [
        <xref ref-type="bibr" rid="ref4">1</xref>
        ]
X3D Prototypes provide a way for X3D authors to
create new nodes that can be repeated in the X3D
scene graph. X3D Prototypes or PROTOS are
wrapped inside an X3D Scene node. Prototypes have
a special mandatory structure. A Prototype begins
with a ProtoDeclare, which is the initial declaration
of its name. After that, node fields are described
inside the ProtoInterface. The final content is then
implemented inside the ProtoBody node. Via the
IS/connect statement, nodes and fields from the proto
interface are connected and linked to those in the
proto body.
      </p>
      <p>
        Prototypes are preferred if initialization values are
needed, like in this Web3D timeline scene.
ProtoInstance allows repeated reuse of a new node
which was used to define each event in this timeline
scene. Prototypes are a powerful technique for
extending the capabilities of X3D. Few computing
languages provide authors with the capability to
extend the core vocabulary of the language itself.
Whether such capabilities are essential for
Declarative 3D remains to be seen.
3. Basic X3D Prototype Structure [
        <xref ref-type="bibr" rid="ref7">4</xref>
        ]
&lt;!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD
X3D 3.0//EN"
"http://www.web3d.org/specifications/x3d-3.0.dtd"&gt;
&lt;X3D version='3.0'&gt;
&lt;Scene&gt;
&lt;ProtoDeclaration name="MyNewNode"&gt;
&lt;ProtoInterface&gt;
      </p>
      <p>&lt;field name="myNewField"
accessType="inputOutput" value="" /&gt;
&lt;/ProtoInterface&gt;
&lt;ProtoBody&gt;</p>
      <p>
        &lt;!-- content implementation --&gt;
&lt;/ProtoBody&gt;
&lt;/ProtoDeclaration&gt;
&lt;/Scene&gt;
&lt;/X3D&gt;
4. Basic X3DOM Profile
X3DOM present a model that allows to directly
integrate X3D nodes into HTML DOM content.
X3DOM uses the HTML Profile to extend the
X3DInterchange profile. The goal is provide declarative
XML-based X3D scenes support for HTML to script
and partition the content from the DOM/HTML side.
5. Demo: Web3D Timeline Scene using X3D
Prototype [
        <xref ref-type="bibr" rid="ref6">3</xref>
        ]
In this section we will describe the true X3D scene
created using X3D Prototype that demonstrate the
capabilities and extensibility of X3D.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          6. Demo:
          <article-title>Web3D Timeline scene using X3DOM In this section we will describe the Web3D timeline scene created using X3DOM functionality</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          7.
          <string-name>
            <surname>Conclusion</surname>
          </string-name>
          <article-title>This section will discuss the challenges and design constrains in adapting theWeb3D time line X3D scene to the X3DOM environment</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>8. References</mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <article-title>[1] Extensible 3D Graphics for Web Authors (http://www</article-title>
          .x3dgraphics.com/)
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Web3D</given-names>
            <surname>Outreach Examples</surname>
          </string-name>
          http://www.web3d.org/x3d/content/examples/Basic /Outreach/
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Web3D</given-names>
            <surname>Timeline Scene</surname>
          </string-name>
          http://www.web3d.org/x3d/content/examples/Basic/O utreach/
          <year>Web3dTimeline</year>
          .x3d
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>X3D</given-names>
            <surname>Prototype Tutorial</surname>
          </string-name>
          http://doc.instantreality.org/tutorial/creating
          <article-title>-customnodes-with-prototypes/</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>