main: update documentation

This commit is contained in:
Leon van Kammen 2024-09-25 10:21:27 +02:00
parent cc49c4ad92
commit f865c22694
5 changed files with 174 additions and 103 deletions

View File

@ -1514,7 +1514,7 @@ What if the functionality of those overlap?
For example, GLTF has the <code>OMI_LINK</code> extension which might overlap with XR Fragment&rsquo;s <code>href</code>:</p>
<blockquote>
<p>Priority Order and Precedence</p>
<p>Priority Order and Precedence, otherwise fallback applies</p>
</blockquote>
<p>1.Extensions Take Precedence: Since glTF-specific extensions are designed with the formats
@ -1522,10 +1522,17 @@ specific needs and optimizations in mind, they should take precedence over extra
in cases where both contain overlapping functionality.
This approach aligns with the idea that extensions are more likely to be interpreted uniformly by glTF-compatible software.</p>
<ol start="2">
<li>Fallback Mechanism: If a glTF implementation does not support a particular extension, the extras field can serve as a fallback. This way, metadata provided in extras can still be useful for applications that don&rsquo;t handle certain extensions.</li>
<ol start="3">
<li>Fallback Fall-through Mechanism:
If a glTF implementation does not support a particular extension, the (XRF) extras field can serve as a fallback. This way, metadata provided in extras can still be useful for applications that don&rsquo;t handle certain extensions.</li>
</ol>
<blockquote>
<p><strong>Example 1</strong> In case of the OMI_LINK glTF extension (<code>href: https://nlnet.nl</code>) and an XR Fragment (<code>href: #pos=otherroom</code> or <code>href: otherplanet.glb</code>), it is clear that <code>https://nlnet.nl</code> should open in a browsertab, whereas the XR Fragment links should teleport the user. If the OMI_LINK contains an XR Fragment (<code>#pos=</code> e.g.) a teleport should be performed only (and other [overlapping] metadata should be ignored).</p>
<p><strong>Example 2</strong> If an Extensions uses XR Fragments in URI&rsquo;s (<code>href: #pos=otherroom</code> or <code>href: xrf://-walls</code> in OMI_LINK e.g.), then perform them according to XR Fragment spec (teleport user). But only once: ignore further overlapping metadata for that usecase.</p>
</blockquote>
<h2 id="vendor-prefixes">Vendor Prefixes</h2>
<p>Vendor-specific metadata in a 3D scenefiles, are similar to vendor-specific <a href="https://en.wikipedia.org/wiki/CSS#Vendor_prefixes">CSS-prefixes</a> (<code>-moz-opacity: 0.2</code> e.g.).

View File

@ -961,14 +961,19 @@ Some 3D scene-fileformats have support for extensions.
What if the functionality of those overlap?
For example, GLTF has the `OMI_LINK` extension which might overlap with XR Fragment's `href`:
> Priority Order and Precedence
> Priority Order and Precedence, otherwise fallback applies
1.Extensions Take Precedence: Since glTF-specific extensions are designed with the formats
specific needs and optimizations in mind, they should take precedence over extras metadata
in cases where both contain overlapping functionality.
This approach aligns with the idea that extensions are more likely to be interpreted uniformly by glTF-compatible software.
2. Fallback Mechanism: If a glTF implementation does not support a particular extension, the extras field can serve as a fallback. This way, metadata provided in extras can still be useful for applications that don't handle certain extensions.
3. Fallback Fall-through Mechanism:
If a glTF implementation does not support a particular extension, the (XRF) extras field can serve as a fallback. This way, metadata provided in extras can still be useful for applications that don't handle certain extensions.
> **Example 1** In case of the OMI_LINK glTF extension (`href: https://nlnet.nl`) and an XR Fragment (`href: #pos=otherroom` or `href: otherplanet.glb`), it is clear that `https://nlnet.nl` should open in a browsertab, whereas the XR Fragment links should teleport the user. If the OMI_LINK contains an XR Fragment (`#pos=` e.g.) a teleport should be performed only (and other [overlapping] metadata should be ignored).
> **Example 2** If an Extensions uses XR Fragments in URI's (`href: #pos=otherroom` or `href: xrf://-walls` in OMI_LINK e.g.), then perform them according to XR Fragment spec (teleport user). But only once: ignore further overlapping metadata for that usecase.
## Vendor Prefixes

View File

@ -3,7 +3,7 @@
Jens & Leon Internet Engineering Task Force L.R. van Kammen
Internet-Draft 24 September 2024
Internet-Draft 25 September 2024
Intended status: Informational
@ -46,14 +46,14 @@ Status of This Memo
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 28 March 2025.
This Internet-Draft will expire on 29 March 2025.
van Kammen Expires 28 March 2025 [Page 1]
van Kammen Expires 29 March 2025 [Page 1]
Internet-Draft XR Fragments September 2024
@ -109,7 +109,7 @@ Table of Contents
van Kammen Expires 28 March 2025 [Page 2]
van Kammen Expires 29 March 2025 [Page 2]
Internet-Draft XR Fragments September 2024
@ -120,12 +120,12 @@ Internet-Draft XR Fragments September 2024
24.1. Two-button navigation . . . . . . . . . . . . . . . . . 34
24.2. Overlap with fileformat-specific extensions . . . . . . 35
24.3. Vendor Prefixes . . . . . . . . . . . . . . . . . . . . 35
25. Security Considerations . . . . . . . . . . . . . . . . . . . 37
26. FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
25. Security Considerations . . . . . . . . . . . . . . . . . . . 38
26. FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
27. authors . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
28. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 38
29. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 38
30. Appendix: Definitions . . . . . . . . . . . . . . . . . . . . 38
28. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 39
29. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 39
30. Appendix: Definitions . . . . . . . . . . . . . . . . . . . . 39
1. Introduction
@ -165,7 +165,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 3]
van Kammen Expires 29 March 2025 [Page 3]
Internet-Draft XR Fragments September 2024
@ -221,7 +221,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 4]
van Kammen Expires 29 March 2025 [Page 4]
Internet-Draft XR Fragments September 2024
@ -277,7 +277,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 5]
van Kammen Expires 29 March 2025 [Page 5]
Internet-Draft XR Fragments September 2024
@ -333,7 +333,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 6]
van Kammen Expires 29 March 2025 [Page 6]
Internet-Draft XR Fragments September 2024
@ -389,7 +389,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 7]
van Kammen Expires 29 March 2025 [Page 7]
Internet-Draft XR Fragments September 2024
@ -445,7 +445,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 8]
van Kammen Expires 29 March 2025 [Page 8]
Internet-Draft XR Fragments September 2024
@ -501,7 +501,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 9]
van Kammen Expires 29 March 2025 [Page 9]
Internet-Draft XR Fragments September 2024
@ -557,7 +557,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 10]
van Kammen Expires 29 March 2025 [Page 10]
Internet-Draft XR Fragments September 2024
@ -613,7 +613,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 11]
van Kammen Expires 29 March 2025 [Page 11]
Internet-Draft XR Fragments September 2024
@ -669,7 +669,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 12]
van Kammen Expires 29 March 2025 [Page 12]
Internet-Draft XR Fragments September 2024
@ -725,7 +725,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 13]
van Kammen Expires 29 March 2025 [Page 13]
Internet-Draft XR Fragments September 2024
@ -781,7 +781,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 14]
van Kammen Expires 29 March 2025 [Page 14]
Internet-Draft XR Fragments September 2024
@ -837,7 +837,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 15]
van Kammen Expires 29 March 2025 [Page 15]
Internet-Draft XR Fragments September 2024
@ -893,7 +893,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 16]
van Kammen Expires 29 March 2025 [Page 16]
Internet-Draft XR Fragments September 2024
@ -949,7 +949,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 17]
van Kammen Expires 29 March 2025 [Page 17]
Internet-Draft XR Fragments September 2024
@ -1005,7 +1005,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 18]
van Kammen Expires 29 March 2025 [Page 18]
Internet-Draft XR Fragments September 2024
@ -1061,7 +1061,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 19]
van Kammen Expires 29 March 2025 [Page 19]
Internet-Draft XR Fragments September 2024
@ -1117,7 +1117,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 20]
van Kammen Expires 29 March 2025 [Page 20]
Internet-Draft XR Fragments September 2024
@ -1173,7 +1173,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 21]
van Kammen Expires 29 March 2025 [Page 21]
Internet-Draft XR Fragments September 2024
@ -1229,7 +1229,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 22]
van Kammen Expires 29 March 2025 [Page 22]
Internet-Draft XR Fragments September 2024
@ -1285,7 +1285,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 23]
van Kammen Expires 29 March 2025 [Page 23]
Internet-Draft XR Fragments September 2024
@ -1341,7 +1341,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 24]
van Kammen Expires 29 March 2025 [Page 24]
Internet-Draft XR Fragments September 2024
@ -1397,7 +1397,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 25]
van Kammen Expires 29 March 2025 [Page 25]
Internet-Draft XR Fragments September 2024
@ -1453,7 +1453,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 26]
van Kammen Expires 29 March 2025 [Page 26]
Internet-Draft XR Fragments September 2024
@ -1509,7 +1509,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 27]
van Kammen Expires 29 March 2025 [Page 27]
Internet-Draft XR Fragments September 2024
@ -1565,7 +1565,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 28]
van Kammen Expires 29 March 2025 [Page 28]
Internet-Draft XR Fragments September 2024
@ -1621,7 +1621,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 29]
van Kammen Expires 29 March 2025 [Page 29]
Internet-Draft XR Fragments September 2024
@ -1677,7 +1677,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 30]
van Kammen Expires 29 March 2025 [Page 30]
Internet-Draft XR Fragments September 2024
@ -1733,7 +1733,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 31]
van Kammen Expires 29 March 2025 [Page 31]
Internet-Draft XR Fragments September 2024
@ -1789,7 +1789,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 32]
van Kammen Expires 29 March 2025 [Page 32]
Internet-Draft XR Fragments September 2024
@ -1845,7 +1845,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 33]
van Kammen Expires 29 March 2025 [Page 33]
Internet-Draft XR Fragments September 2024
@ -1901,7 +1901,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 34]
van Kammen Expires 29 March 2025 [Page 34]
Internet-Draft XR Fragments September 2024
@ -1912,7 +1912,7 @@ Internet-Draft XR Fragments September 2024
functionality of those overlap? For example, GLTF has the OMI_LINK
extension which might overlap with XR Fragment's href:
| Priority Order and Precedence
| Priority Order and Precedence, otherwise fallback applies
1.Extensions Take Precedence: Since glTF-specific extensions are
designed with the formats specific needs and optimizations in mind,
@ -1921,10 +1921,24 @@ Internet-Draft XR Fragments September 2024
idea that extensions are more likely to be interpreted uniformly by
glTF-compatible software.
2. Fallback Mechanism: If a glTF implementation does not support a
particular extension, the extras field can serve as a fallback.
This way, metadata provided in extras can still be useful for
applications that don't handle certain extensions.
3. Fallback Fall-through Mechanism: If a glTF implementation does
not support a particular extension, the (XRF) extras field can
serve as a fallback. This way, metadata provided in extras can
still be useful for applications that don't handle certain
extensions.
| *Example 1* In case of the OMI_LINK glTF extension (href:
| https://nlnet.nl) and an XR Fragment (href: #pos=otherroom or
| href: otherplanet.glb), it is clear that https://nlnet.nl should
| open in a browsertab, whereas the XR Fragment links should
| teleport the user. If the OMI_LINK contains an XR Fragment (#pos=
| e.g.) a teleport should be performed only (and other [overlapping]
| metadata should be ignored).
|
| *Example 2* If an Extensions uses XR Fragments in URI's (href:
| #pos=otherroom or href: xrf://-walls in OMI_LINK e.g.), then
| perform them according to XR Fragment spec (teleport user). But
| only once: ignore further overlapping metadata for that usecase.
24.3. Vendor Prefixes
@ -1937,6 +1951,17 @@ Internet-Draft XR Fragments September 2024
Vendor Prefixes allows embedding 3D engines/framework-specific
features a 3D file via metadata:
van Kammen Expires 29 March 2025 [Page 35]
Internet-Draft XR Fragments September 2024
+===========+===================+==============================+
| what | XR metadata | Lowest common denominator |
+===========+===================+==============================+
@ -1952,16 +1977,6 @@ Internet-Draft XR Fragments September 2024
Table 14
van Kammen Expires 28 March 2025 [Page 35]
Internet-Draft XR Fragments September 2024
| Why? Because not all XR interactions can/should be solved/
| standardized by embedding XR Fragments into any 3D file. The
| lowest common denominator between 3D engines is the 'entity'-part
@ -1971,6 +1986,38 @@ Internet-Draft XR Fragments September 2024
For example, the following metadata can be added to a .glb file, to
make an object grabbable in AFRAME:
van Kammen Expires 29 March 2025 [Page 36]
Internet-Draft XR Fragments September 2024
+────────────────────────────────────────────────────────────────────────────────────────────────────────+
│ http://y.io/z.glb | AFRAME app │
│-----------------------------------------------+--------------------------------------------------------│
@ -2008,22 +2055,25 @@ Internet-Draft XR Fragments September 2024
String-templatevalues are evaluated as per URI Templates (RFC6570)
(https://www.rfc-editor.org/rfc/rfc6570) Level 1.
van Kammen Expires 28 March 2025 [Page 36]
Internet-Draft XR Fragments September 2024
| This 'separating of mechanism from policy' (unix rule) does
| *somewhat* break portability of an XR experience, but still
| prevents (E-waste of) handcoded virtual worlds. It allows for (XR
| experience) metadata to survive in future 3D engines and scene-
| fileformats.
van Kammen Expires 29 March 2025 [Page 37]
Internet-Draft XR Fragments September 2024
25. Security Considerations
The only dynamic parts are W3C Media Fragments
@ -2067,18 +2117,19 @@ Internet-Draft XR Fragments September 2024
place, to 'extend' experiences, in contrast to code/javascript inside
hypermedia documents (this turned out as a hypermedia antipattern).
van Kammen Expires 28 March 2025 [Page 37]
Internet-Draft XR Fragments September 2024
27. authors
* Leon van Kammen (@lvk@mastodon.online)
* Jens Finkhäuser (@jens@social.finkhaeuser.de)
van Kammen Expires 29 March 2025 [Page 38]
Internet-Draft XR Fragments September 2024
28. IANA Considerations
This document has no IANA actions.
@ -2122,19 +2173,19 @@ Internet-Draft XR Fragments September 2024
| | (http://me.com/foo.glb) |
+-----------------+---------------------------------------------+
| URN | something at some domain (me.com/foo.glb) |
van Kammen Expires 28 March 2025 [Page 38]
Internet-Draft XR Fragments September 2024
+-----------------+---------------------------------------------+
| metadata | custom properties of text, 3D Scene or |
| | Object(nodes), relevant to machines and a |
| | human minority (academics/developers) |
+-----------------+---------------------------------------------+
van Kammen Expires 29 March 2025 [Page 39]
Internet-Draft XR Fragments September 2024
| XR fragment | URI Fragment with spatial hints like |
| | #pos=0,0,0&t=1,100 e.g. |
+-----------------+---------------------------------------------+
@ -2178,19 +2229,19 @@ Internet-Draft XR Fragments September 2024
| | possible |
+-----------------+---------------------------------------------+
| introspective | inward sensemaking ("I feel this belongs to |
van Kammen Expires 28 March 2025 [Page 39]
Internet-Draft XR Fragments September 2024
| | that") |
+-----------------+---------------------------------------------+
| extrospective | outward sensemaking ("I'm fairly sure John |
| | is a person who lives in oklahoma") |
+-----------------+---------------------------------------------+
van Kammen Expires 29 March 2025 [Page 40]
Internet-Draft XR Fragments September 2024
| ◻ | ascii representation of an 3D object/mesh |
+-----------------+---------------------------------------------+
| (un)obtrusive | obtrusive: wrapping human text/thought in |
@ -2237,4 +2288,9 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 28 March 2025 [Page 40]
van Kammen Expires 29 March 2025 [Page 41]

View File

@ -1350,16 +1350,19 @@ Therefore a 2-button navigation-interface is the bare minimum interface:</t>
<t>Some 3D scene-fileformats have support for extensions.
What if the functionality of those overlap?
For example, GLTF has the <tt>OMI_LINK</tt> extension which might overlap with XR Fragment's <tt>href</tt>:</t>
<blockquote><t>Priority Order and Precedence</t>
<blockquote><t>Priority Order and Precedence, otherwise fallback applies</t>
</blockquote><t>1.Extensions Take Precedence: Since glTF-specific extensions are designed with the formats
specific needs and optimizations in mind, they should take precedence over extras metadata
in cases where both contain overlapping functionality.
This approach aligns with the idea that extensions are more likely to be interpreted uniformly by glTF-compatible software.</t>
<ol spacing="compact" start="2">
<li>Fallback Mechanism: If a glTF implementation does not support a particular extension, the extras field can serve as a fallback. This way, metadata provided in extras can still be useful for applications that don't handle certain extensions.</li>
<ol spacing="compact" start="3">
<li>Fallback Fall-through Mechanism:
If a glTF implementation does not support a particular extension, the (XRF) extras field can serve as a fallback. This way, metadata provided in extras can still be useful for applications that don't handle certain extensions.</li>
</ol>
</section>
<blockquote><t><strong>Example 1</strong> In case of the OMI_LINK glTF extension (<tt>href: https://nlnet.nl</tt>) and an XR Fragment (<tt>href: #pos=otherroom</tt> or <tt>href: otherplanet.glb</tt>), it is clear that <tt>https://nlnet.nl</tt> should open in a browsertab, whereas the XR Fragment links should teleport the user. If the OMI_LINK contains an XR Fragment (<tt>#pos=</tt> e.g.) a teleport should be performed only (and other [overlapping] metadata should be ignored).</t>
<t><strong>Example 2</strong> If an Extensions uses XR Fragments in URI's (<tt>href: #pos=otherroom</tt> or <tt>href: xrf://-walls</tt> in OMI_LINK e.g.), then perform them according to XR Fragment spec (teleport user). But only once: ignore further overlapping metadata for that usecase.</t>
</blockquote></section>
<section anchor="vendor-prefixes"><name>Vendor Prefixes</name>
<t>Vendor-specific metadata in a 3D scenefiles, are similar to vendor-specific <eref target="https://en.wikipedia.org/wiki/CSS#Vendor_prefixes">CSS-prefixes</eref> (<tt>-moz-opacity: 0.2</tt> e.g.).

File diff suppressed because one or more lines are too long