main: update documentation

This commit is contained in:
Leon van Kammen 2024-09-24 16:12:10 +02:00
parent f14ff60252
commit 82ab6e2882
5 changed files with 177 additions and 123 deletions

View File

@ -1507,6 +1507,25 @@ Therefore a 2-button navigation-interface is the bare minimum interface:</p>
<li>the TTS reads the href-value (and/or aria-description if available)</li>
</ol>
<h2 id="overlap-with-fileformat-specific-extensions">Overlap with fileformat-specific extensions</h2>
<p>Some 3D scene-fileformats have support for extensions.
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>
</blockquote>
<p>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.</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>
<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.).
@ -1576,8 +1595,9 @@ The lowest common denominator between 3D engines is the &lsquo;entity&rsquo;-par
│ | ├─ -godot-Label3D.text: '{name}{age}'| &gt; inits 'Label3D' component (*) in Godot │
│ +--------+ | │
│ | │
├─ -AFRAME-version: '1.6.0' | &gt;
├─ -GODOT-version: '4.3' | &gt; exporters/authors can report targeted version │
├─ -AFRAME-version: '1.6.0' | and (optionally) hint component-repo│
├─ -AFRAME-info: 'https://git.benetou.fr/comps' │
│ | │
+────────────────────────────────────────────────────────────────────────────────────────────────────────+
</code></pre>

View File

@ -955,6 +955,21 @@ Therefore a 2-button navigation-interface is the bare minimum interface:
2. objects with href metadata can be activated via a key (enter on a keyboard)
3. the TTS reads the href-value (and/or aria-description if available)
## Overlap with fileformat-specific extensions
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
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.
## Vendor Prefixes
Vendor-specific metadata in a 3D scenefiles, are similar to vendor-specific [CSS-prefixes](https://en.wikipedia.org/wiki/CSS#Vendor_prefixes) (`-moz-opacity: 0.2` e.g.).

View File

@ -3,7 +3,7 @@
Jens & Leon Internet Engineering Task Force L.R. van Kammen
Internet-Draft 20 September 2024
Internet-Draft 24 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 24 March 2025.
This Internet-Draft will expire on 28 March 2025.
van Kammen Expires 24 March 2025 [Page 1]
van Kammen Expires 28 March 2025 [Page 1]
Internet-Draft XR Fragments September 2024
@ -75,7 +75,7 @@ Copyright Notice
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Core principle . . . . . . . . . . . . . . . . . . . . . . . 3
2. Core principle . . . . . . . . . . . . . . . . . . . . . . . 4
3. Hypermediatic FeedbackLoop for XR browsers . . . . . . . . . 5
4. Conventions and Definitions . . . . . . . . . . . . . . . . . 8
4.1. XR Fragment URL Grammar . . . . . . . . . . . . . . . . . 8
@ -109,7 +109,7 @@ Table of Contents
van Kammen Expires 24 March 2025 [Page 2]
van Kammen Expires 28 March 2025 [Page 2]
Internet-Draft XR Fragments September 2024
@ -118,10 +118,11 @@ Internet-Draft XR Fragments September 2024
23. Additional scene metadata . . . . . . . . . . . . . . . . . . 32
24. Accessibility interface . . . . . . . . . . . . . . . . . . . 33
24.1. Two-button navigation . . . . . . . . . . . . . . . . . 34
24.2. Vendor Prefixes . . . . . . . . . . . . . . . . . . . . 35
24.2. Overlap with fileformat-specific extensions . . . . . . 35
24.3. Vendor Prefixes . . . . . . . . . . . . . . . . . . . . 35
25. Security Considerations . . . . . . . . . . . . . . . . . . . 37
26. FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
27. authors . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
27. authors . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
28. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 38
29. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 38
30. Appendix: Definitions . . . . . . . . . . . . . . . . . . . . 38
@ -158,18 +159,22 @@ Internet-Draft XR Fragments September 2024
| NOTE: The chapters in this document are ordered from highlevel to
| lowlevel (technical) as much as possible
van Kammen Expires 28 March 2025 [Page 3]
Internet-Draft XR Fragments September 2024
2. Core principle
*XR Fragments allows controlling 3D models using URLs, based on
(non)existing metadata via URI's*
van Kammen Expires 24 March 2025 [Page 3]
Internet-Draft XR Fragments September 2024
XR Fragments tries to seek to connect the world of text (semantical
web / RDF), and the world of pixels.
Instead of forcing authors to combine 3D/2D objects programmatically
@ -216,12 +221,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 4]
van Kammen Expires 28 March 2025 [Page 4]
Internet-Draft XR Fragments September 2024
@ -277,7 +277,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 5]
van Kammen Expires 28 March 2025 [Page 5]
Internet-Draft XR Fragments September 2024
@ -333,7 +333,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 6]
van Kammen Expires 28 March 2025 [Page 6]
Internet-Draft XR Fragments September 2024
@ -389,7 +389,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 7]
van Kammen Expires 28 March 2025 [Page 7]
Internet-Draft XR Fragments September 2024
@ -445,7 +445,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 8]
van Kammen Expires 28 March 2025 [Page 8]
Internet-Draft XR Fragments September 2024
@ -501,7 +501,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 9]
van Kammen Expires 28 March 2025 [Page 9]
Internet-Draft XR Fragments September 2024
@ -557,7 +557,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 10]
van Kammen Expires 28 March 2025 [Page 10]
Internet-Draft XR Fragments September 2024
@ -613,7 +613,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 11]
van Kammen Expires 28 March 2025 [Page 11]
Internet-Draft XR Fragments September 2024
@ -669,7 +669,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 12]
van Kammen Expires 28 March 2025 [Page 12]
Internet-Draft XR Fragments September 2024
@ -725,7 +725,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 13]
van Kammen Expires 28 March 2025 [Page 13]
Internet-Draft XR Fragments September 2024
@ -781,7 +781,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 14]
van Kammen Expires 28 March 2025 [Page 14]
Internet-Draft XR Fragments September 2024
@ -837,7 +837,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 15]
van Kammen Expires 28 March 2025 [Page 15]
Internet-Draft XR Fragments September 2024
@ -893,7 +893,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 16]
van Kammen Expires 28 March 2025 [Page 16]
Internet-Draft XR Fragments September 2024
@ -949,7 +949,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 17]
van Kammen Expires 28 March 2025 [Page 17]
Internet-Draft XR Fragments September 2024
@ -1005,7 +1005,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 18]
van Kammen Expires 28 March 2025 [Page 18]
Internet-Draft XR Fragments September 2024
@ -1061,7 +1061,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 19]
van Kammen Expires 28 March 2025 [Page 19]
Internet-Draft XR Fragments September 2024
@ -1117,7 +1117,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 20]
van Kammen Expires 28 March 2025 [Page 20]
Internet-Draft XR Fragments September 2024
@ -1173,7 +1173,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 21]
van Kammen Expires 28 March 2025 [Page 21]
Internet-Draft XR Fragments September 2024
@ -1229,7 +1229,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 22]
van Kammen Expires 28 March 2025 [Page 22]
Internet-Draft XR Fragments September 2024
@ -1285,7 +1285,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 23]
van Kammen Expires 28 March 2025 [Page 23]
Internet-Draft XR Fragments September 2024
@ -1341,7 +1341,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 24]
van Kammen Expires 28 March 2025 [Page 24]
Internet-Draft XR Fragments September 2024
@ -1397,7 +1397,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 25]
van Kammen Expires 28 March 2025 [Page 25]
Internet-Draft XR Fragments September 2024
@ -1453,7 +1453,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 26]
van Kammen Expires 28 March 2025 [Page 26]
Internet-Draft XR Fragments September 2024
@ -1509,7 +1509,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 27]
van Kammen Expires 28 March 2025 [Page 27]
Internet-Draft XR Fragments September 2024
@ -1565,7 +1565,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 28]
van Kammen Expires 28 March 2025 [Page 28]
Internet-Draft XR Fragments September 2024
@ -1621,7 +1621,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 29]
van Kammen Expires 28 March 2025 [Page 29]
Internet-Draft XR Fragments September 2024
@ -1677,7 +1677,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 30]
van Kammen Expires 28 March 2025 [Page 30]
Internet-Draft XR Fragments September 2024
@ -1733,7 +1733,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 31]
van Kammen Expires 28 March 2025 [Page 31]
Internet-Draft XR Fragments September 2024
@ -1789,7 +1789,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 32]
van Kammen Expires 28 March 2025 [Page 32]
Internet-Draft XR Fragments September 2024
@ -1845,7 +1845,7 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 33]
van Kammen Expires 28 March 2025 [Page 33]
Internet-Draft XR Fragments September 2024
@ -1901,12 +1901,32 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 34]
van Kammen Expires 28 March 2025 [Page 34]
Internet-Draft XR Fragments September 2024
24.2. Vendor Prefixes
24.2. Overlap with fileformat-specific extensions
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
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.
24.3. Vendor Prefixes
Vendor-specific metadata in a 3D scenefiles, are similar to vendor-
specific CSS-prefixes (https://en.wikipedia.org/wiki/
@ -1932,6 +1952,16 @@ 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
@ -1941,27 +1971,6 @@ 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 24 March 2025 [Page 35]
Internet-Draft XR Fragments September 2024
+────────────────────────────────────────────────────────────────────────────────────────────────────────+
│ http://y.io/z.glb | AFRAME app │
│-----------------------------------------------+--------------------------------------------------------│
@ -1987,8 +1996,9 @@ Internet-Draft XR Fragments September 2024
│ | ├─ -godot-Label3D.text: '{name}{age}'| > inits 'Label3D' component (*) in Godot │
│ +--------+ | │
│ | │
├─ -AFRAME-version: '1.6.0' | > │
├─ -GODOT-version: '4.3' | > exporters/authors can report targeted version │
├─ -AFRAME-version: '1.6.0' | and (optionally) hint component-repo│
├─ -AFRAME-info: 'https://git.benetou.fr/comps' │
│ | │
+────────────────────────────────────────────────────────────────────────────────────────────────────────+
@ -1998,26 +2008,22 @@ 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 24 March 2025 [Page 36]
Internet-Draft XR Fragments September 2024
25. Security Considerations
The only dynamic parts are W3C Media Fragments
@ -2061,19 +2067,18 @@ 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 24 March 2025 [Page 37]
Internet-Draft XR Fragments September 2024
28. IANA Considerations
This document has no IANA actions.
@ -2117,19 +2122,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 24 March 2025 [Page 38]
Internet-Draft XR Fragments September 2024
| XR fragment | URI Fragment with spatial hints like |
| | #pos=0,0,0&t=1,100 e.g. |
+-----------------+---------------------------------------------+
@ -2173,19 +2178,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 24 March 2025 [Page 39]
Internet-Draft XR Fragments September 2024
| ◻ | ascii representation of an 3D object/mesh |
+-----------------+---------------------------------------------+
| (un)obtrusive | obtrusive: wrapping human text/thought in |
@ -2232,9 +2237,4 @@ Internet-Draft XR Fragments September 2024
van Kammen Expires 24 March 2025 [Page 40]
van Kammen Expires 28 March 2025 [Page 40]

View File

@ -1346,6 +1346,21 @@ Therefore a 2-button navigation-interface is the bare minimum interface:</t>
</ol>
</section>
<section anchor="overlap-with-fileformat-specific-extensions"><name>Overlap with fileformat-specific extensions</name>
<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>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>
</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.).
This allows popular 3D engines/frameworks, to initialize specific features when loading a scene/object, in a progressive enhanced way.</t>
@ -1407,8 +1422,9 @@ The lowest common denominator between 3D engines is the 'entity'-part of their e
│ | ├─ -godot-Label3D.text: '{name}{age}'| > inits 'Label3D' component (*) in Godot │
│ +--------+ | │
│ | │
├─ -AFRAME-version: '1.6.0' | > │
├─ -GODOT-version: '4.3' | > exporters/authors can report targeted version │
├─ -AFRAME-version: '1.6.0' | and (optionally) hint component-repo│
├─ -AFRAME-info: 'https://git.benetou.fr/comps' │
│ | │
+────────────────────────────────────────────────────────────────────────────────────────────────────────+
]]>

File diff suppressed because one or more lines are too long