main: update documentation

This commit is contained in:
Leon van Kammen 2024-09-25 16:58:57 +02:00
parent 457935a426
commit 4b92836422
4 changed files with 68 additions and 58 deletions

View file

@ -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 (&lsquo;extras&rsquo;) <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 (&lsquo;extras&rsquo;) <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>

View file

@ -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

View file

@ -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

View file

@ -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>