main: update documentation
This commit is contained in:
parent
457935a426
commit
4b92836422
4 changed files with 68 additions and 58 deletions
|
|
@ -188,7 +188,8 @@ Instead of forcing authors to combine 3D/2D objects programmatically (publishing
|
||||||
<ol>
|
<ol>
|
||||||
<li>for 3D viewers/browser to manipulate the camera or objects (via URLbar)</li>
|
<li>for 3D viewers/browser to manipulate the camera or objects (via URLbar)</li>
|
||||||
<li>as <strong>implicit</strong> metadata to reference (nested) objects <strong>inside</strong> 3D scene-file (local and remote)</li>
|
<li>as <strong>implicit</strong> metadata to reference (nested) objects <strong>inside</strong> 3D scene-file (local and remote)</li>
|
||||||
<li>via <strong>explicit</strong> metadata (‘extras’) <strong>inside</strong> 3D scene-files (interaction e.g.) or <strong>outside</strong> 3D scene-files (via <a href="https://en.wikipedia.org/wiki/Sidecar_file">sidecarfile</a>)</li>
|
<li>via <strong>explicit</strong> metadata (‘extras’) <strong>inside</strong> 3D scene-files (interaction e.g.) or</li>
|
||||||
|
<li>[optionally for developers] via <strong>explicit</strong> metadata <strong>outside</strong> 3D scene-files (via <a href="https://en.wikipedia.org/wiki/Sidecar_file">sidecarfile</a>)</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
<h1 id="list-of-uri-fragments">List of URI Fragments</h1>
|
<h1 id="list-of-uri-fragments">List of URI Fragments</h1>
|
||||||
|
|
@ -290,7 +291,11 @@ Instead of forcing authors to combine 3D/2D objects programmatically (publishing
|
||||||
|
|
||||||
<h2 id="sidecar-file">Sidecar-file</h2>
|
<h2 id="sidecar-file">Sidecar-file</h2>
|
||||||
|
|
||||||
<p>Sidecar-file can allow for defining <strong>explicit</strong> XR Fragments metadata, outside of the 3D file.<br>
|
<blockquote>
|
||||||
|
<p>NOTE: sidecar-files break the portability of XR (Fragments) experiences, therefore side-car files are discouraged for consumer usage/sharing. However, they can accomodate developers or applications who (for whatever reason) must not modify the 3D scene-file (a <code>.glb</code> e.g.).</p>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p>For developers, sidecar-file can allow for defining <strong>explicit</strong> XR Fragments metadata, outside of the 3D file.<br>
|
||||||
This can be done via a JSON <a href="https://en.wikipedia.org/wiki/Sidecar_file">sidecar-file</a>:</p>
|
This can be done via a JSON <a href="https://en.wikipedia.org/wiki/Sidecar_file">sidecar-file</a>:</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
|
|
||||||
|
|
@ -194,7 +194,8 @@ XR Fragments utilizes URLs:
|
||||||
|
|
||||||
1. for 3D viewers/browser to manipulate the camera or objects (via URLbar)
|
1. for 3D viewers/browser to manipulate the camera or objects (via URLbar)
|
||||||
2. as **implicit** metadata to reference (nested) objects **inside** 3D scene-file (local and remote)
|
2. as **implicit** metadata to reference (nested) objects **inside** 3D scene-file (local and remote)
|
||||||
3. via **explicit** metadata ('extras') **inside** 3D scene-files (interaction e.g.) or **outside** 3D scene-files (via [sidecarfile](https://en.wikipedia.org/wiki/Sidecar_file))
|
3. via **explicit** metadata ('extras') **inside** 3D scene-files (interaction e.g.) or
|
||||||
|
4. [optionally for developers] via **explicit** metadata **outside** 3D scene-files (via [sidecarfile](https://en.wikipedia.org/wiki/Sidecar_file))
|
||||||
|
|
||||||
# List of URI Fragments
|
# List of URI Fragments
|
||||||
|
|
||||||
|
|
@ -220,7 +221,9 @@ These are the possible 'extras' for 3D nodes and sidecar-files
|
||||||
|
|
||||||
## Sidecar-file
|
## Sidecar-file
|
||||||
|
|
||||||
Sidecar-file can allow for defining **explicit** XR Fragments metadata, outside of the 3D file.<br>
|
> NOTE: sidecar-files break the portability of XR (Fragments) experiences, therefore side-car files are discouraged for consumer usage/sharing. However, they can accomodate developers or applications who (for whatever reason) must not modify the 3D scene-file (a `.glb` e.g.).
|
||||||
|
|
||||||
|
For developers, sidecar-file can allow for defining **explicit** XR Fragments metadata, outside of the 3D file.<br>
|
||||||
This can be done via a JSON [sidecar-file](https://en.wikipedia.org/wiki/Sidecar_file):
|
This can be done via a JSON [sidecar-file](https://en.wikipedia.org/wiki/Sidecar_file):
|
||||||
|
|
||||||
* experience.glb
|
* experience.glb
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ Table of Contents
|
||||||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
|
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
|
||||||
2. Core principle . . . . . . . . . . . . . . . . . . . . . . . 4
|
2. Core principle . . . . . . . . . . . . . . . . . . . . . . . 4
|
||||||
3. The XR Fragments Trinity . . . . . . . . . . . . . . . . . . 5
|
3. The XR Fragments Trinity . . . . . . . . . . . . . . . . . . 5
|
||||||
4. List of URI Fragments . . . . . . . . . . . . . . . . . . . . 5
|
4. List of URI Fragments . . . . . . . . . . . . . . . . . . . . 6
|
||||||
5. List of *_explicit_ metadata . . . . . . . . . . . . . . . . 6
|
5. List of *_explicit_ metadata . . . . . . . . . . . . . . . . 6
|
||||||
5.1. Sidecar-file . . . . . . . . . . . . . . . . . . . . . . 7
|
5.1. Sidecar-file . . . . . . . . . . . . . . . . . . . . . . 7
|
||||||
6. Hypermediatic FeedbackLoop for XR browsers . . . . . . . . . 8
|
6. Hypermediatic FeedbackLoop for XR browsers . . . . . . . . . 8
|
||||||
|
|
@ -263,8 +263,24 @@ Internet-Draft XR Fragments September 2024
|
||||||
2. as *implicit* metadata to reference (nested) objects *inside* 3D
|
2. as *implicit* metadata to reference (nested) objects *inside* 3D
|
||||||
scene-file (local and remote)
|
scene-file (local and remote)
|
||||||
3. via *explicit* metadata ('extras') *inside* 3D scene-files
|
3. via *explicit* metadata ('extras') *inside* 3D scene-files
|
||||||
(interaction e.g.) or *outside* 3D scene-files (via sidecarfile
|
(interaction e.g.) or
|
||||||
(https://en.wikipedia.org/wiki/Sidecar_file))
|
4. [optionally for developers] via *explicit* metadata *outside* 3D
|
||||||
|
scene-files (via sidecarfile (https://en.wikipedia.org/wiki/
|
||||||
|
Sidecar_file))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
van Kammen Expires 29 March 2025 [Page 5]
|
||||||
|
|
||||||
|
Internet-Draft XR Fragments September 2024
|
||||||
|
|
||||||
|
|
||||||
4. List of URI Fragments
|
4. List of URI Fragments
|
||||||
|
|
||||||
|
|
@ -274,14 +290,6 @@ Internet-Draft XR Fragments September 2024
|
||||||
|#pos |vector3 |#pos=0.5,0,0|positions |
|
|#pos |vector3 |#pos=0.5,0,0|positions |
|
||||||
| | | |camera (or |
|
| | | |camera (or |
|
||||||
| | | |XR floor) to|
|
| | | |XR floor) to|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
van Kammen Expires 29 March 2025 [Page 5]
|
|
||||||
|
|
||||||
Internet-Draft XR Fragments September 2024
|
|
||||||
|
|
||||||
|
|
||||||
| | | |xyz-coord |
|
| | | |xyz-coord |
|
||||||
| | | |0.5,0,0, |
|
| | | |0.5,0,0, |
|
||||||
+-----------------------+--------------------------------------+------------+------------+
|
+-----------------------+--------------------------------------+------------+------------+
|
||||||
|
|
@ -324,14 +332,6 @@ Internet-Draft XR Fragments September 2024
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
van Kammen Expires 29 March 2025 [Page 6]
|
van Kammen Expires 29 March 2025 [Page 6]
|
||||||
|
|
||||||
|
|
@ -366,14 +366,34 @@ Internet-Draft XR Fragments September 2024
|
||||||
|
|
||||||
5.1. Sidecar-file
|
5.1. Sidecar-file
|
||||||
|
|
||||||
Sidecar-file can allow for defining *explicit* XR Fragments metadata,
|
| NOTE: sidecar-files break the portability of XR (Fragments)
|
||||||
outside of the 3D file.
|
| experiences, therefore side-car files are discouraged for consumer
|
||||||
|
| usage/sharing. However, they can accomodate developers or
|
||||||
|
| applications who (for whatever reason) must not modify the 3D
|
||||||
|
| scene-file (a .glb e.g.).
|
||||||
|
|
||||||
|
For developers, sidecar-file can allow for defining *explicit* XR
|
||||||
|
Fragments metadata, outside of the 3D file.
|
||||||
This can be done via a JSON sidecar-file
|
This can be done via a JSON sidecar-file
|
||||||
(https://en.wikipedia.org/wiki/Sidecar_file):
|
(https://en.wikipedia.org/wiki/Sidecar_file):
|
||||||
|
|
||||||
* experience.glb
|
* experience.glb
|
||||||
* experience.json
|
* experience.json
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
van Kammen Expires 29 March 2025 [Page 7]
|
||||||
|
|
||||||
|
Internet-Draft XR Fragments September 2024
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
"#": "#-penguin",
|
"#": "#-penguin",
|
||||||
"aria-description": "description of scene",
|
"aria-description": "description of scene",
|
||||||
|
|
@ -385,15 +405,6 @@ Internet-Draft XR Fragments September 2024
|
||||||
| This would mean: hide object 'penguin' upon scene-load, and show
|
| This would mean: hide object 'penguin' upon scene-load, and show
|
||||||
| it when the user clicks the chair
|
| it when the user clicks the chair
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
van Kammen Expires 29 March 2025 [Page 7]
|
|
||||||
|
|
||||||
Internet-Draft XR Fragments September 2024
|
|
||||||
|
|
||||||
|
|
||||||
So when loading experience.glb the existence of experience.json is
|
So when loading experience.glb the existence of experience.json is
|
||||||
detected, to apply the explicit metadata.
|
detected, to apply the explicit metadata.
|
||||||
|
|
||||||
|
|
@ -431,17 +442,6 @@ Internet-Draft XR Fragments September 2024
|
||||||
* completely bypassing the security-trap of loading external scripts
|
* completely bypassing the security-trap of loading external scripts
|
||||||
(by loading 3D model-files, not HTML-javascriptable resources)
|
(by loading 3D model-files, not HTML-javascriptable resources)
|
||||||
|
|
||||||
XR Fragments itself are hypermediatic
|
|
||||||
(https://github.com/coderofsalvation/hypermediatic) and HTML-
|
|
||||||
agnostic, though pseudo-XR Fragment browsers *can* be implemented on
|
|
||||||
top of HTML/Javascript.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -450,6 +450,11 @@ van Kammen Expires 29 March 2025 [Page 8]
|
||||||
Internet-Draft XR Fragments September 2024
|
Internet-Draft XR Fragments September 2024
|
||||||
|
|
||||||
|
|
||||||
|
XR Fragments itself are hypermediatic
|
||||||
|
(https://github.com/coderofsalvation/hypermediatic) and HTML-
|
||||||
|
agnostic, though pseudo-XR Fragment browsers *can* be implemented on
|
||||||
|
top of HTML/Javascript.
|
||||||
|
|
||||||
+=========+======================+=====================================+
|
+=========+======================+=====================================+
|
||||||
|principle|XR 4D URL |HTML 2D URL |
|
|principle|XR 4D URL |HTML 2D URL |
|
||||||
+=========+======================+=====================================+
|
+=========+======================+=====================================+
|
||||||
|
|
@ -489,11 +494,6 @@ Internet-Draft XR Fragments September 2024
|
||||||
|
|
||||||
Table 3
|
Table 3
|
||||||
|
|
||||||
| An important aspect of HFL is that URI Fragments can be triggered
|
|
||||||
| without updating the top-level URI (default href-behaviour) thru
|
|
||||||
| their own 'bus' (xrf://#.....). This decoupling between
|
|
||||||
| navigation and interaction prevents non-standard things like
|
|
||||||
| (href:javascript:dosomething()).
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -506,6 +506,12 @@ van Kammen Expires 29 March 2025 [Page 9]
|
||||||
Internet-Draft XR Fragments September 2024
|
Internet-Draft XR Fragments September 2024
|
||||||
|
|
||||||
|
|
||||||
|
| An important aspect of HFL is that URI Fragments can be triggered
|
||||||
|
| without updating the top-level URI (default href-behaviour) thru
|
||||||
|
| their own 'bus' (xrf://#.....). This decoupling between
|
||||||
|
| navigation and interaction prevents non-standard things like
|
||||||
|
| (href:javascript:dosomething()).
|
||||||
|
|
||||||
7. Conventions and Definitions
|
7. Conventions and Definitions
|
||||||
|
|
||||||
See appendix below in case certain terms are not clear.
|
See appendix below in case certain terms are not clear.
|
||||||
|
|
@ -551,12 +557,6 @@ Internet-Draft XR Fragments September 2024
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
van Kammen Expires 29 March 2025 [Page 10]
|
van Kammen Expires 29 March 2025 [Page 10]
|
||||||
|
|
||||||
Internet-Draft XR Fragments September 2024
|
Internet-Draft XR Fragments September 2024
|
||||||
|
|
|
||||||
|
|
@ -115,7 +115,8 @@ But approaches things from a higherlevel feedbackloop/hypermedia browser-perspec
|
||||||
<ol spacing="compact">
|
<ol spacing="compact">
|
||||||
<li>for 3D viewers/browser to manipulate the camera or objects (via URLbar)</li>
|
<li>for 3D viewers/browser to manipulate the camera or objects (via URLbar)</li>
|
||||||
<li>as <strong>implicit</strong> metadata to reference (nested) objects <strong>inside</strong> 3D scene-file (local and remote)</li>
|
<li>as <strong>implicit</strong> metadata to reference (nested) objects <strong>inside</strong> 3D scene-file (local and remote)</li>
|
||||||
<li>via <strong>explicit</strong> metadata ('extras') <strong>inside</strong> 3D scene-files (interaction e.g.) or <strong>outside</strong> 3D scene-files (via <eref target="https://en.wikipedia.org/wiki/Sidecar_file">sidecarfile</eref>)</li>
|
<li>via <strong>explicit</strong> metadata ('extras') <strong>inside</strong> 3D scene-files (interaction e.g.) or</li>
|
||||||
|
<li>[optionally for developers] via <strong>explicit</strong> metadata <strong>outside</strong> 3D scene-files (via <eref target="https://en.wikipedia.org/wiki/Sidecar_file">sidecarfile</eref>)</li>
|
||||||
</ol>
|
</ol>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
@ -210,7 +211,8 @@ But approaches things from a higherlevel feedbackloop/hypermedia browser-perspec
|
||||||
</table><blockquote><t>Supported popular compatible 3D fileformats: <tt>.gltf</tt>, <tt>.obj</tt>, <tt>.fbx</tt>, <tt>.usdz</tt>, <tt>.json</tt> (THREE.js), <tt>.dae</tt> and so on.</t>
|
</table><blockquote><t>Supported popular compatible 3D fileformats: <tt>.gltf</tt>, <tt>.obj</tt>, <tt>.fbx</tt>, <tt>.usdz</tt>, <tt>.json</tt> (THREE.js), <tt>.dae</tt> and so on.</t>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
<section anchor="sidecar-file"><name>Sidecar-file</name>
|
<section anchor="sidecar-file"><name>Sidecar-file</name>
|
||||||
<t>Sidecar-file can allow for defining <strong>explicit</strong> XR Fragments metadata, outside of the 3D file.<br />
|
<blockquote><t>NOTE: sidecar-files break the portability of XR (Fragments) experiences, therefore side-car files are discouraged for consumer usage/sharing. However, they can accomodate developers or applications who (for whatever reason) must not modify the 3D scene-file (a <tt>.glb</tt> e.g.).</t>
|
||||||
|
</blockquote><t>For developers, sidecar-file can allow for defining <strong>explicit</strong> XR Fragments metadata, outside of the 3D file.<br />
|
||||||
|
|
||||||
This can be done via a JSON <eref target="https://en.wikipedia.org/wiki/Sidecar_file">sidecar-file</eref>:</t>
|
This can be done via a JSON <eref target="https://en.wikipedia.org/wiki/Sidecar_file">sidecar-file</eref>:</t>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue