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

View File

@ -194,7 +194,8 @@ XR Fragments utilizes URLs:
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)
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
@ -220,7 +221,9 @@ These are the possible 'extras' for 3D nodes and sidecar-files
## 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):
* experience.glb

View File

@ -84,7 +84,7 @@ Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Core principle . . . . . . . . . . . . . . . . . . . . . . . 4
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.1. Sidecar-file . . . . . . . . . . . . . . . . . . . . . . 7
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
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))
(interaction e.g.) or
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
@ -274,14 +290,6 @@ Internet-Draft XR Fragments September 2024
|#pos |vector3 |#pos=0.5,0,0|positions |
| | | |camera (or |
| | | |XR floor) to|
van Kammen Expires 29 March 2025 [Page 5]
Internet-Draft XR Fragments September 2024
| | | |xyz-coord |
| | | |0.5,0,0, |
+-----------------------+--------------------------------------+------------+------------+
@ -324,14 +332,6 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 29 March 2025 [Page 6]
@ -366,14 +366,34 @@ Internet-Draft XR Fragments September 2024
5.1. Sidecar-file
Sidecar-file can allow for defining *explicit* XR Fragments metadata,
outside of the 3D file.
| 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.
This can be done via a JSON sidecar-file
(https://en.wikipedia.org/wiki/Sidecar_file):
* experience.glb
* experience.json
van Kammen Expires 29 March 2025 [Page 7]
Internet-Draft XR Fragments September 2024
{
"#": "#-penguin",
"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
| 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
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
(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
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 |
+=========+======================+=====================================+
@ -489,11 +494,6 @@ Internet-Draft XR Fragments September 2024
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
| 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
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]
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">
<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>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>
</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>
</blockquote>
<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>