spec: version bump
This commit is contained in:
parent
ec07443201
commit
d326a0cd05
4 changed files with 241 additions and 221 deletions
|
|
@ -80,16 +80,15 @@ value: draft-XRFRAGMENTS-leonvankammen-00
|
|||
|
||||
<h1 class="special" id="abstract">Abstract</h1>
|
||||
|
||||
<blockquote>
|
||||
<p>Version: 0.5</p>
|
||||
</blockquote>
|
||||
|
||||
<p>An open specification for hyperlinking & deeplinking 3D fileformats.
|
||||
This draft is a specification for interactive URI-controllable 3D files, enabling <a href="https://github.com/coderofsalvation/hypermediatic">hypermediatic</a> navigation, to enable a spatial web for hypermedia browsers with- or without a network-connection.<br>
|
||||
XR Fragments allows us to better use implicit metadata inside 3D scene(files), by mapping it to proven technologies like <a href="https://en.wikipedia.org/wiki/URI_fragment">URI Fragments</a>.<br>
|
||||
XR Fragments views XR experiences thru the lens of 3D deeplinked URI’s, rather than thru code(frameworks) or protocol-specific browsers (webbrowser e.g.).
|
||||
The standard comprises of various (optional) support levels, which also include <a href="https://www.w3.org/TR/media-frags/">W3C Media Fragments</a> and <a href="https://www.rfc-editor.org/rfc/rfc6570">URI Templates (RFC6570)</a> to promote spatial addressibility, sharing, navigation, filtering and databinding objects for (XR) Browsers.<br></p>
|
||||
XR Fragments allows us to better use implicit metadata inside 3D scene(files), by mapping it to proven technologies like <a href="https://en.wikipedia.org/wiki/URI_fragment">URI Fragments</a>.<br></p>
|
||||
|
||||
<blockquote>
|
||||
<p>XR Fragments is in a sense, a <b>heuristical 3D format</b> or meta-format, which leverages heuristic rules derived from any 3D scene or well-established 3D file formats, to extract meaningful features from scene hierarchies.<br>
|
||||
These heuristics, enable features that are both meaningful and consistent across different scene representations, allowing <b>higher interop</b> between fileformats, 3D editors, viewers and game-engines.</p>
|
||||
|
||||
<p>Almost every idea in this document is demonstrated at <a href="https://xrfragment.org">https://xrfragment.org</a></p>
|
||||
</blockquote>
|
||||
<section data-matter="main">
|
||||
|
|
@ -99,7 +98,8 @@ These heuristics, enable features that are both meaningful and consistent across
|
|||
<li><a href="#abstract">Abstract</a></li>
|
||||
<li><a href="#index">Index</a></li>
|
||||
<li><a href="#introduction">Introduction</a></li>
|
||||
<li><a href="#what-is-xr-fragments">What is XR Fragments</a></li>
|
||||
<li><a href="#how-does-it-work">How does it work</a></li>
|
||||
<li><a href="#what-does-it-solve">What does it solve</a></li>
|
||||
<li><a href="#hfl-hypermediatic-feedback-loop-for-xr-browsers">HFL (Hypermediatic Feedback Loop) for XR Browsers</a></li>
|
||||
<li><a href="#conventions-and-definitions">Conventions and Definitions</a>
|
||||
|
||||
|
|
@ -182,6 +182,21 @@ XR Fragments exploits the fact that all 3D models already contain such metadata:
|
|||
|
||||
<p><strong>XR Fragments allows deeplinking of 3D objects by mapping objectnames to URI fragments</strong></p>
|
||||
|
||||
<h1 id="how-does-it-work">How does it work</h1>
|
||||
|
||||
<p><span class="index" id="idxref:1"></span></p>
|
||||
|
||||
<p>XR Fragments utilizes URLs:</p>
|
||||
|
||||
<ol>
|
||||
<li>for 3D viewers/browser to manipulate the camera or objects (via URI fragments)</li>
|
||||
<li>implicitly: by mapping 3D objectnames (of a 3D scene/file) to URI fragments (3D deeplinking)</li>
|
||||
<li>explicitly: by scanning <code>href</code> metadata <strong>inside</strong> 3D scene-files to enable interactions</li>
|
||||
<li>externally: progressively enhance a 3D (file) into an experience via <a href="https://en.wikipedia.org/wiki/Sidecar_file">sidecarfiles</a></li>
|
||||
</ol>
|
||||
|
||||
<h1 id="what-does-it-solve">What does it solve</h1>
|
||||
|
||||
<p>It solves:</p>
|
||||
|
||||
<ol>
|
||||
|
|
@ -196,18 +211,13 @@ XR Fragments exploits the fact that all 3D models already contain such metadata:
|
|||
<p>NOTE: The chapters in this document are ordered from highlevel to lowlevel (technical) as much as possible</p>
|
||||
</blockquote>
|
||||
|
||||
<h1 id="what-is-xr-fragments">What is XR Fragments</h1>
|
||||
<p>XR Fragments views XR experiences through the lens of 3D deeplinked URI’s, rather than thru code(frameworks) or protocol-specific browsers (webbrowser e.g.).
|
||||
To aid adoption, the standard comprises of various (optional) support-levels, which incorporate existing standards like <a href="https://www.w3.org/TR/media-frags/">W3C Media Fragments</a> and <a href="https://www.rfc-editor.org/rfc/rfc6570">URI Templates (RFC6570)</a> to promote spatial addressibility, sharing, navigation, filtering and databinding objects for (XR) Browsers.<br></p>
|
||||
|
||||
<p><span class="index" id="idxref:1"></span></p>
|
||||
|
||||
<p>XR Fragments utilizes URLs:</p>
|
||||
|
||||
<ol>
|
||||
<li>for 3D viewers/browser to manipulate the camera or objects (via URI fragments)</li>
|
||||
<li>implicitly: by mapping 3D objectnames (of a 3D scene/file) to URI fragments (3D deeplinking)</li>
|
||||
<li>explicitly: by scanning <code>href</code> metadata <strong>inside</strong> 3D scene-files to enable interactions</li>
|
||||
<li>externally: progressively enhance a 3D (file) into an experience via <a href="https://en.wikipedia.org/wiki/Sidecar_file">sidecarfiles</a></li>
|
||||
</ol>
|
||||
<blockquote>
|
||||
<p>XR Fragments is in a sense, a <b>heuristical 3D format</b> or meta-format, which leverages heuristic rules derived from any 3D scene or well-established 3D file formats, to extract meaningful features from scene hierarchies.<br>
|
||||
These heuristics, enable features that are both meaningful and consistent across different scene representations, allowing <b>higher interop</b> between fileformats, 3D editors, viewers and game-engines.</p>
|
||||
</blockquote>
|
||||
|
||||
<h1 id="hfl-hypermediatic-feedback-loop-for-xr-browsers">HFL (Hypermediatic Feedback Loop) for XR Browsers</h1>
|
||||
|
||||
|
|
|
|||
|
|
@ -93,14 +93,11 @@ value: draft-XRFRAGMENTS-leonvankammen-00
|
|||
|
||||
.# Abstract
|
||||
|
||||
> Version: 0.5
|
||||
|
||||
An open specification for hyperlinking & deeplinking 3D fileformats.
|
||||
This draft is a specification for interactive URI-controllable 3D files, enabling [hypermediatic](https://github.com/coderofsalvation/hypermediatic) navigation, to enable a spatial web for hypermedia browsers with- or without a network-connection.<br>
|
||||
XR Fragments allows us to better use implicit metadata inside 3D scene(files), by mapping it to proven technologies like [URI Fragments](https://en.wikipedia.org/wiki/URI_fragment).<br>
|
||||
XR Fragments views XR experiences thru the lens of 3D deeplinked URI's, rather than thru code(frameworks) or protocol-specific browsers (webbrowser e.g.).
|
||||
The standard comprises of various (optional) support levels, which also include [W3C Media Fragments](https://www.w3.org/TR/media-frags/) and [URI Templates (RFC6570)](https://www.rfc-editor.org/rfc/rfc6570) to promote spatial addressibility, sharing, navigation, filtering and databinding objects for (XR) Browsers.<br>
|
||||
|
||||
> XR Fragments is in a sense, a <b>heuristical 3D format</b> or meta-format, which leverages heuristic rules derived from any 3D scene or well-established 3D file formats, to extract meaningful features from scene hierarchies.<br>
|
||||
These heuristics, enable features that are both meaningful and consistent across different scene representations, allowing <b>higher interop</b> between fileformats, 3D editors, viewers and game-engines.
|
||||
|
||||
> Almost every idea in this document is demonstrated at [https://xrfragment.org](https://xrfragment.org)
|
||||
|
||||
|
|
@ -111,7 +108,8 @@ These heuristics, enable features that are both meaningful and consistent across
|
|||
1. [Abstract](#abstract)
|
||||
1. [Index](#index)
|
||||
1. [Introduction](#introduction)
|
||||
1. [What is XR Fragments](#what-is-xr-fragments)
|
||||
1. [How does it work](#how-does-it-work)
|
||||
1. [What does it solve](#what-does-it-solve)
|
||||
1. [HFL (Hypermediatic Feedback Loop) for XR Browsers](#hfl-hypermediatic-feedback-loop-for-xr-browsers)
|
||||
1. [Conventions and Definitions](#conventions-and-definitions)
|
||||
1. [XR Fragment URL Grammar](#xr-fragment-url-grammar)
|
||||
|
|
@ -165,6 +163,18 @@ XR Fragments exploits the fact that all 3D models already contain such metadata:
|
|||
|
||||
**XR Fragments allows deeplinking of 3D objects by mapping objectnames to URI fragments**
|
||||
|
||||
# How does it work
|
||||
(!What is XR Fragments )
|
||||
|
||||
XR Fragments utilizes URLs:
|
||||
|
||||
1. for 3D viewers/browser to manipulate the camera or objects (via URI fragments)
|
||||
2. implicitly: by mapping 3D objectnames (of a 3D scene/file) to URI fragments (3D deeplinking)
|
||||
3. explicitly: by scanning `href` metadata **inside** 3D scene-files to enable interactions
|
||||
4. externally: progressively enhance a 3D (file) into an experience via [sidecarfiles](https://en.wikipedia.org/wiki/Sidecar_file)
|
||||
|
||||
# What does it solve
|
||||
|
||||
It solves:
|
||||
|
||||
1. addressibility and [hypermediatic](https://github.com/coderofsalvation/hypermediatic) navigation of 3D scenes/objects: [URI Fragments](https://en.wikipedia.org/wiki/URI_fragment) using src/href spatial metadata
|
||||
|
|
@ -175,16 +185,11 @@ It solves:
|
|||
|
||||
> NOTE: The chapters in this document are ordered from highlevel to lowlevel (technical) as much as possible
|
||||
|
||||
# What is XR Fragments
|
||||
(!What is XR Fragments )
|
||||
|
||||
XR Fragments utilizes URLs:
|
||||
|
||||
1. for 3D viewers/browser to manipulate the camera or objects (via URI fragments)
|
||||
2. implicitly: by mapping 3D objectnames (of a 3D scene/file) to URI fragments (3D deeplinking)
|
||||
3. explicitly: by scanning `href` metadata **inside** 3D scene-files to enable interactions
|
||||
4. externally: progressively enhance a 3D (file) into an experience via [sidecarfiles](https://en.wikipedia.org/wiki/Sidecar_file)
|
||||
XR Fragments views XR experiences through the lens of 3D deeplinked URI's, rather than thru code(frameworks) or protocol-specific browsers (webbrowser e.g.).
|
||||
To aid adoption, the standard comprises of various (optional) support-levels, which incorporate existing standards like [W3C Media Fragments](https://www.w3.org/TR/media-frags/) and [URI Templates (RFC6570)](https://www.rfc-editor.org/rfc/rfc6570) to promote spatial addressibility, sharing, navigation, filtering and databinding objects for (XR) Browsers.<br>
|
||||
|
||||
> XR Fragments is in a sense, a <b>heuristical 3D format</b> or meta-format, which leverages heuristic rules derived from any 3D scene or well-established 3D file formats, to extract meaningful features from scene hierarchies.<br>
|
||||
These heuristics, enable features that are both meaningful and consistent across different scene representations, allowing <b>higher interop</b> between fileformats, 3D editors, viewers and game-engines.
|
||||
|
||||
# HFL (Hypermediatic Feedback Loop) for XR Browsers
|
||||
(!HFL (Hypermediatic Feedback Loop) for XR Browsers)
|
||||
|
|
|
|||
|
|
@ -13,6 +13,8 @@ Intended status: Informational
|
|||
|
||||
Abstract
|
||||
|
||||
Version: 0.5
|
||||
|
||||
An open specification for hyperlinking & deeplinking 3D fileformats.
|
||||
This draft is a specification for interactive URI-controllable 3D
|
||||
files, enabling hypermediatic (https://github.com/coderofsalvation/
|
||||
|
|
@ -21,23 +23,6 @@ Abstract
|
|||
XR Fragments allows us to better use implicit metadata inside 3D
|
||||
scene(files), by mapping it to proven technologies like URI Fragments
|
||||
(https://en.wikipedia.org/wiki/URI_fragment).
|
||||
XR Fragments views XR experiences thru the lens of 3D deeplinked
|
||||
URI's, rather than thru code(frameworks) or protocol-specific
|
||||
browsers (webbrowser e.g.). The standard comprises of various
|
||||
(optional) support levels, which also include W3C Media Fragments
|
||||
(https://www.w3.org/TR/media-frags/) and URI Templates (RFC6570)
|
||||
(https://www.rfc-editor.org/rfc/rfc6570) to promote spatial
|
||||
addressibility, sharing, navigation, filtering and databinding
|
||||
objects for (XR) Browsers.
|
||||
|
||||
XR Fragments is in a sense, a <b>heuristical 3D format</b> or meta-
|
||||
format, which leverages heuristic rules derived from any 3D scene or
|
||||
well-established 3D file formats, to extract meaningful features from
|
||||
scene hierarchies.
|
||||
These heuristics, enable features that are both meaningful and
|
||||
consistent across different scene representations, allowing <b>higher
|
||||
interop</b> between fileformats, 3D editors, viewers and game-
|
||||
engines.
|
||||
|
||||
Almost every idea in this document is demonstrated at
|
||||
https://xrfragment.org (https://xrfragment.org)
|
||||
|
|
@ -47,17 +32,6 @@ Status of This Memo
|
|||
This Internet-Draft is submitted in full conformance with the
|
||||
provisions of BCP 78 and BCP 79.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 1]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
Internet-Drafts are working documents of the Internet Engineering
|
||||
Task Force (IETF). Note that other groups may also distribute
|
||||
working documents as Internet-Drafts. The list of current Internet-
|
||||
|
|
@ -75,6 +49,15 @@ Copyright Notice
|
|||
Copyright (c) 2025 IETF Trust and the persons identified as the
|
||||
document authors. All rights reserved.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 1]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
This document is subject to BCP 78 and the IETF Trust's Legal
|
||||
Provisions Relating to IETF Documents (https://trustee.ietf.org/
|
||||
license-info) in effect on the date of publication of this document.
|
||||
|
|
@ -88,24 +71,41 @@ Table of Contents
|
|||
|
||||
1. Quick reference . . . . . . . . . . . . . . . . . . . . . . . 3
|
||||
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
|
||||
3. What is XR Fragments . . . . . . . . . . . . . . . . . . . . 5
|
||||
4. HFL (Hypermediatic Feedback Loop) for XR Browsers . . . . . . 5
|
||||
5. Conventions and Definitions . . . . . . . . . . . . . . . . . 8
|
||||
5.1. XR Fragment URL Grammar . . . . . . . . . . . . . . . . . 8
|
||||
6. Spatial Referencing 3D . . . . . . . . . . . . . . . . . . . 8
|
||||
7. Level0: Files . . . . . . . . . . . . . . . . . . . . . . . . 9
|
||||
7.1. via href metadata . . . . . . . . . . . . . . . . . . . . 9
|
||||
7.2. via chained extension . . . . . . . . . . . . . . . . . . 10
|
||||
7.3. via subdocuments/xattr . . . . . . . . . . . . . . . . . 10
|
||||
7.4. JSON sidecar-file . . . . . . . . . . . . . . . . . . . . 11
|
||||
8. Level1: URI . . . . . . . . . . . . . . . . . . . . . . . . . 11
|
||||
8.1. List of URI Fragments . . . . . . . . . . . . . . . . . . 13
|
||||
8.2. List of *_explicit_ metadata . . . . . . . . . . . . . . 14
|
||||
9. Level2: href links . . . . . . . . . . . . . . . . . . . . . 14
|
||||
9.1. Interaction behaviour . . . . . . . . . . . . . . . . . . 14
|
||||
9.2. XR Viewer implementation . . . . . . . . . . . . . . . . 14
|
||||
10. Level3: Media Fragments . . . . . . . . . . . . . . . . . . . 15
|
||||
10.1. Animation(s) timeline . . . . . . . . . . . . . . . . . 15
|
||||
3. How does it work . . . . . . . . . . . . . . . . . . . . . . 4
|
||||
4. What does it solve . . . . . . . . . . . . . . . . . . . . . 4
|
||||
5. HFL (Hypermediatic Feedback Loop) for XR Browsers . . . . . . 5
|
||||
6. Conventions and Definitions . . . . . . . . . . . . . . . . . 8
|
||||
6.1. XR Fragment URL Grammar . . . . . . . . . . . . . . . . . 8
|
||||
7. Spatial Referencing 3D . . . . . . . . . . . . . . . . . . . 8
|
||||
8. Level0: Files . . . . . . . . . . . . . . . . . . . . . . . . 9
|
||||
8.1. via href metadata . . . . . . . . . . . . . . . . . . . . 9
|
||||
8.2. via chained extension . . . . . . . . . . . . . . . . . . 10
|
||||
8.3. via subdocuments/xattr . . . . . . . . . . . . . . . . . 10
|
||||
8.4. JSON sidecar-file . . . . . . . . . . . . . . . . . . . . 11
|
||||
9. Level1: URI . . . . . . . . . . . . . . . . . . . . . . . . . 11
|
||||
9.1. List of URI Fragments . . . . . . . . . . . . . . . . . . 13
|
||||
9.2. List of *_explicit_ metadata . . . . . . . . . . . . . . 14
|
||||
10. Level2: href links . . . . . . . . . . . . . . . . . . . . . 14
|
||||
10.1. Interaction behaviour . . . . . . . . . . . . . . . . . 14
|
||||
10.2. XR Viewer implementation . . . . . . . . . . . . . . . . 14
|
||||
11. Level3: Media Fragments . . . . . . . . . . . . . . . . . . . 15
|
||||
11.1. Animation(s) timeline . . . . . . . . . . . . . . . . . 15
|
||||
11.2. Specify playback loopmode . . . . . . . . . . . . . . . 15
|
||||
11.3. Controlling embedded content . . . . . . . . . . . . . . 16
|
||||
12. Level4: prefix operators . . . . . . . . . . . . . . . . . . 16
|
||||
12.1. Object teleports (!) . . . . . . . . . . . . . . . . . . 16
|
||||
12.2. Object multipliers (*) . . . . . . . . . . . . . . . . . 18
|
||||
12.3. De/selectors (+ and -) . . . . . . . . . . . . . . . . . 18
|
||||
12.4. Sharing object or file (#|) . . . . . . . . . . . . . . 18
|
||||
12.5. xrf:// URI scheme . . . . . . . . . . . . . . . . . . . 19
|
||||
13. Level5: URI Templates (RFC6570) . . . . . . . . . . . . . . . 19
|
||||
14. Top-level URL processing . . . . . . . . . . . . . . . . . . 19
|
||||
14.1. UX . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
|
||||
15. Example: Navigating content href portals . . . . . . . . . . 20
|
||||
15.1. Walking surfaces . . . . . . . . . . . . . . . . . . . . 21
|
||||
16. Example: Virtual world rings . . . . . . . . . . . . . . . . 21
|
||||
17. Additional scene metadata . . . . . . . . . . . . . . . . . . 22
|
||||
18. Accessibility interface . . . . . . . . . . . . . . . . . . . 23
|
||||
|
||||
|
||||
|
||||
|
|
@ -114,54 +114,54 @@ van Kammen Expires 23 March 2026 [Page 2]
|
|||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
10.2. Specify playback loopmode . . . . . . . . . . . . . . . 15
|
||||
10.3. Controlling embedded content . . . . . . . . . . . . . . 16
|
||||
11. Level4: prefix operators . . . . . . . . . . . . . . . . . . 16
|
||||
11.1. Object teleports (!) . . . . . . . . . . . . . . . . . . 16
|
||||
11.2. Object multipliers (*) . . . . . . . . . . . . . . . . . 18
|
||||
11.3. De/selectors (+ and -) . . . . . . . . . . . . . . . . . 18
|
||||
11.4. Sharing object or file (#|) . . . . . . . . . . . . . . 18
|
||||
11.5. xrf:// URI scheme . . . . . . . . . . . . . . . . . . . 19
|
||||
12. Level5: URI Templates (RFC6570) . . . . . . . . . . . . . . . 19
|
||||
13. Top-level URL processing . . . . . . . . . . . . . . . . . . 19
|
||||
13.1. UX . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
|
||||
14. Example: Navigating content href portals . . . . . . . . . . 20
|
||||
14.1. Walking surfaces . . . . . . . . . . . . . . . . . . . . 21
|
||||
15. Example: Virtual world rings . . . . . . . . . . . . . . . . 21
|
||||
16. Additional scene metadata . . . . . . . . . . . . . . . . . . 22
|
||||
17. Accessibility interface . . . . . . . . . . . . . . . . . . . 23
|
||||
17.1. Two-button navigation . . . . . . . . . . . . . . . . . 24
|
||||
17.2. Overlap with fileformat-specific extensions . . . . . . 25
|
||||
18. Vendor Prefixes . . . . . . . . . . . . . . . . . . . . . . . 25
|
||||
19. Security Considerations . . . . . . . . . . . . . . . . . . . 28
|
||||
20. FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
|
||||
21. authors . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
|
||||
22. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 29
|
||||
23. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 29
|
||||
24. Appendix: Definitions . . . . . . . . . . . . . . . . . . . . 29
|
||||
18.1. Two-button navigation . . . . . . . . . . . . . . . . . 24
|
||||
18.2. Overlap with fileformat-specific extensions . . . . . . 25
|
||||
19. Vendor Prefixes . . . . . . . . . . . . . . . . . . . . . . . 25
|
||||
20. Security Considerations . . . . . . . . . . . . . . . . . . . 28
|
||||
21. FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
|
||||
22. authors . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
|
||||
23. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 29
|
||||
24. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 29
|
||||
25. Appendix: Definitions . . . . . . . . . . . . . . . . . . . . 29
|
||||
|
||||
1. Quick reference
|
||||
|
||||
1. Abstract (#abstract)
|
||||
2. Index (#index)
|
||||
3. Introduction (#introduction)
|
||||
4. What is XR Fragments (#what-is-xr-fragments)
|
||||
5. HFL (Hypermediatic Feedback Loop) for XR Browsers (#hfl-
|
||||
4. How does it work (#how-does-it-work)
|
||||
5. What does it solve (#what-does-it-solve)
|
||||
6. HFL (Hypermediatic Feedback Loop) for XR Browsers (#hfl-
|
||||
hypermediatic-feedback-loop-for-xr-browsers)
|
||||
6. Conventions and Definitions (#conventions-and-definitions)
|
||||
7. Conventions and Definitions (#conventions-and-definitions)
|
||||
1. XR Fragment URL Grammar (#xr-fragment-url-grammar)
|
||||
7. Spatial Referencing 3D (#spatial-referencing-3d)
|
||||
8. Level0: Files (#level0-files)
|
||||
8. Spatial Referencing 3D (#spatial-referencing-3d)
|
||||
9. Level0: Files (#level0-files)
|
||||
1. via href metadata (#via-href-metadata)
|
||||
2. via chained extension (#via-chained-extension)
|
||||
3. via subdocuments/xattr (#via-subdocuments-xattr)
|
||||
4. JSON sidecar-file (#json-sidecar-file)
|
||||
9. Level1: URI (#level1-uri)
|
||||
10. Level1: URI (#level1-uri)
|
||||
1. List of URI Fragments (#list-of-uri-fragments)
|
||||
2. List of explicit metadata (#list-of-explicit-metadata)
|
||||
10. Level2: href links (#level2-href-links)
|
||||
11. Level2: href links (#level2-href-links)
|
||||
1. Interaction behaviour (#interaction-behaviour)
|
||||
2. XR Viewer implementation (#xr-viewer-implementation)
|
||||
12. Level3: Media Fragments (#level3-media-fragments)
|
||||
1. Animation(s) timeline (#animation-s-timeline)
|
||||
2. Specify playback loopmode (#specify-playback-loopmode)
|
||||
3. Controlling embedded content (#controlling-embedded-content)
|
||||
13. Level4: prefix operators (#level4-prefix-operators)
|
||||
1. Object teleports (#object-teleports)
|
||||
2. Object multipliers (#object-multipliers)
|
||||
3. De/selectors (+ and -) (#de-selectors-and)
|
||||
4. Sharing object or file (#|) (#sharing-object-or-file)
|
||||
5. xrf:// URI scheme (#xrf-uri-scheme)
|
||||
14. Level5: URI Templates (RFC6570) (#level5-uri-templates-rfc6570)
|
||||
15. Top-level URL processing (#top-level-url-processing)
|
||||
1. UX (#ux)
|
||||
16. Example: Navigating content href portals (#example-navigating-
|
||||
content-href-portals)
|
||||
|
||||
|
||||
|
||||
|
|
@ -170,35 +170,20 @@ van Kammen Expires 23 March 2026 [Page 3]
|
|||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
11. Level3: Media Fragments (#level3-media-fragments)
|
||||
1. Animation(s) timeline (#animation-s-timeline)
|
||||
2. Specify playback loopmode (#specify-playback-loopmode)
|
||||
3. Controlling embedded content (#controlling-embedded-content)
|
||||
12. Level4: prefix operators (#level4-prefix-operators)
|
||||
1. Object teleports (#object-teleports)
|
||||
2. Object multipliers (#object-multipliers)
|
||||
3. De/selectors (+ and -) (#de-selectors-and)
|
||||
4. Sharing object or file (#|) (#sharing-object-or-file)
|
||||
5. xrf:// URI scheme (#xrf-uri-scheme)
|
||||
13. Level5: URI Templates (RFC6570) (#level5-uri-templates-rfc6570)
|
||||
14. Top-level URL processing (#top-level-url-processing)
|
||||
1. UX (#ux)
|
||||
15. Example: Navigating content href portals (#example-navigating-
|
||||
content-href-portals)
|
||||
1. Walking surfaces (#walking-surfaces)
|
||||
16. Example: Virtual world rings (#example-virtual-world-rings)
|
||||
17. Additional scene metadata (#additional-scene-metadata)
|
||||
18. Accessibility interface (#accessibility-interface)
|
||||
17. Example: Virtual world rings (#example-virtual-world-rings)
|
||||
18. Additional scene metadata (#additional-scene-metadata)
|
||||
19. Accessibility interface (#accessibility-interface)
|
||||
1. Two-button navigation (#two-button-navigation)
|
||||
2. Overlap with fileformat-specific extensions (#overlap-with-
|
||||
fileformat-specific-extensions)
|
||||
19. Vendor Prefixes (#vendor-prefixes)
|
||||
20. Security Considerations (#security-considerations)
|
||||
21. FAQ (#faq)
|
||||
22. Authors (#authors)
|
||||
23. IANA Considerations (#iana-considerations)
|
||||
24. Acknowledgments (#acknowledgments)
|
||||
25. Appendix: Definitions (#appendix-definitions)
|
||||
20. Vendor Prefixes (#vendor-prefixes)
|
||||
21. Security Considerations (#security-considerations)
|
||||
22. FAQ (#faq)
|
||||
23. Authors (#authors)
|
||||
24. IANA Considerations (#iana-considerations)
|
||||
25. Acknowledgments (#acknowledgments)
|
||||
26. Appendix: Definitions (#appendix-definitions)
|
||||
|
||||
2. Introduction
|
||||
|
||||
|
|
@ -214,6 +199,21 @@ Internet-Draft XR Fragments September 2025
|
|||
*XR Fragments allows deeplinking of 3D objects by mapping objectnames
|
||||
to URI fragments*
|
||||
|
||||
3. How does it work
|
||||
|
||||
XR Fragments utilizes URLs:
|
||||
|
||||
1. for 3D viewers/browser to manipulate the camera or objects (via
|
||||
URI fragments)
|
||||
2. implicitly: by mapping 3D objectnames (of a 3D scene/file) to URI
|
||||
fragments (3D deeplinking)
|
||||
3. explicitly: by scanning href metadata *inside* 3D scene-files to
|
||||
enable interactions
|
||||
4. externally: progressively enhance a 3D (file) into an experience
|
||||
via sidecarfiles (https://en.wikipedia.org/wiki/Sidecar_file)
|
||||
|
||||
4. What does it solve
|
||||
|
||||
It solves:
|
||||
|
||||
|
||||
|
|
@ -242,20 +242,25 @@ Internet-Draft XR Fragments September 2025
|
|||
| NOTE: The chapters in this document are ordered from highlevel to
|
||||
| lowlevel (technical) as much as possible
|
||||
|
||||
3. What is XR Fragments
|
||||
XR Fragments views XR experiences through the lens of 3D deeplinked
|
||||
URI's, rather than thru code(frameworks) or protocol-specific
|
||||
browsers (webbrowser e.g.). To aid adoption, the standard comprises
|
||||
of various (optional) support-levels, which incorporate existing
|
||||
standards like W3C Media Fragments (https://www.w3.org/TR/media-
|
||||
frags/) and URI Templates (RFC6570) (https://www.rfc-editor.org/rfc/
|
||||
rfc6570) to promote spatial addressibility, sharing, navigation,
|
||||
filtering and databinding objects for (XR) Browsers.
|
||||
|
||||
XR Fragments utilizes URLs:
|
||||
| XR Fragments is in a sense, a <b>heuristical 3D format</b> or
|
||||
| meta-format, which leverages heuristic rules derived from any 3D
|
||||
| scene or well-established 3D file formats, to extract meaningful
|
||||
| features from scene hierarchies.
|
||||
| These heuristics, enable features that are both meaningful and
|
||||
| consistent across different scene representations, allowing
|
||||
| <b>higher interop</b> between fileformats, 3D editors, viewers and
|
||||
| game-engines.
|
||||
|
||||
1. for 3D viewers/browser to manipulate the camera or objects (via
|
||||
URI fragments)
|
||||
2. implicitly: by mapping 3D objectnames (of a 3D scene/file) to URI
|
||||
fragments (3D deeplinking)
|
||||
3. explicitly: by scanning href metadata *inside* 3D scene-files to
|
||||
enable interactions
|
||||
4. externally: progressively enhance a 3D (file) into an experience
|
||||
via sidecarfiles (https://en.wikipedia.org/wiki/Sidecar_file)
|
||||
|
||||
4. HFL (Hypermediatic Feedback Loop) for XR Browsers
|
||||
5. HFL (Hypermediatic Feedback Loop) for XR Browsers
|
||||
|
||||
for XR Browsers)
|
||||
|
||||
|
|
@ -266,13 +271,8 @@ Internet-Draft XR Fragments September 2025
|
|||
otherwise needs a scripting language. These are called *hashbus*-
|
||||
only events/
|
||||
|
||||
| Being able to use the same URI Fragment DSL for navigation (href:
|
||||
| #foo) as well as interactions (href: xrf://#foo) greatly
|
||||
| simplifies implementation, increases HFL, and reduces need for
|
||||
| scripting languages.
|
||||
|
||||
This opens up the following benefits for traditional & future
|
||||
webbrowsers:
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -282,6 +282,14 @@ van Kammen Expires 23 March 2026 [Page 5]
|
|||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
| Being able to use the same URI Fragment DSL for navigation (href:
|
||||
| #foo) as well as interactions (href: xrf://#foo) greatly
|
||||
| simplifies implementation, increases HFL, and reduces need for
|
||||
| scripting languages.
|
||||
|
||||
This opens up the following benefits for traditional & future
|
||||
webbrowsers:
|
||||
|
||||
* hypermediatic (https://github.com/coderofsalvation/hypermediatic)
|
||||
loading/clicking 3D assets (gltf/fbx e.g.) natively (with or
|
||||
without using HTML).
|
||||
|
|
@ -316,14 +324,6 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -394,11 +394,11 @@ van Kammen Expires 23 March 2026 [Page 7]
|
|||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
5. Conventions and Definitions
|
||||
6. Conventions and Definitions
|
||||
|
||||
See appendix below in case certain terms are not clear.
|
||||
|
||||
5.1. XR Fragment URL Grammar
|
||||
6.1. XR Fragment URL Grammar
|
||||
|
||||
For typical HTTP-like browsers/applications:
|
||||
|
||||
|
|
@ -430,7 +430,7 @@ Internet-Draft XR Fragments September 2025
|
|||
https://me.com can load the latter (and still indicates which XR
|
||||
Fragments entrypoint-experience/client was used).
|
||||
|
||||
6. Spatial Referencing 3D
|
||||
7. Spatial Referencing 3D
|
||||
|
||||
3D files contain an hierarchy of objects.
|
||||
XR Fragments assumes the following objectname-to-URI-Fragment
|
||||
|
|
@ -481,14 +481,14 @@ Internet-Draft XR Fragments September 2025
|
|||
| embedded object. Basically an embedded link becoming an outbound
|
||||
| link by activating it.
|
||||
|
||||
7. Level0: Files
|
||||
8. Level0: Files
|
||||
|
||||
These are *optional* auto-loaded side-car files to enable hasslefree
|
||||
XR Movies (#XR%20Movies).
|
||||
they can accomodate developers or applications who (for whatever
|
||||
reason) must not modify the 3D scene-file (a .glb e.g.).
|
||||
|
||||
7.1. via href metadata
|
||||
8.1. via href metadata
|
||||
|
||||
scene.glb <--- 'href' extra [heuristic] detected inside!
|
||||
scene.png (preview thumbnail)
|
||||
|
|
@ -510,7 +510,7 @@ Internet-Draft XR Fragments September 2025
|
|||
* The viewer should poll for the above mentioned sidecar-file
|
||||
extensions (and present accordingly)
|
||||
|
||||
7.2. via chained extension
|
||||
8.2. via chained extension
|
||||
|
||||
scene.xrf.glb <--- '.xrf.' sidecar file heuristic detected!
|
||||
scene.xrf.png (preview thumbnail)
|
||||
|
|
@ -526,7 +526,7 @@ Internet-Draft XR Fragments September 2025
|
|||
* the chained-extension heuristic .xrf. should be present in the
|
||||
filename (scene.xrf.glb e.g.)
|
||||
|
||||
7.3. via subdocuments/xattr
|
||||
8.3. via subdocuments/xattr
|
||||
|
||||
More secure protocols (Nextgraph e.g.) don't allow for simply polling
|
||||
files. In such case, subdocuments or extended attributes should be
|
||||
|
|
@ -562,7 +562,7 @@ van Kammen Expires 23 March 2026 [Page 10]
|
|||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
7.4. JSON sidecar-file
|
||||
8.4. JSON sidecar-file
|
||||
|
||||
For developers, sidecar-file can allow for defining *explicit* XR
|
||||
Fragments links (>level1), outside of the 3D file.
|
||||
|
|
@ -597,7 +597,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
// now the XR Fragments parser can process the XR Fragments userData 'extras' in the scene
|
||||
|
||||
8. Level1: URI
|
||||
9. Level1: URI
|
||||
|
||||
| *XR Fragments allows deeplinking of 3D objects by mapping
|
||||
| objectnames to URI fragments*
|
||||
|
|
@ -700,7 +700,7 @@ Internet-Draft XR Fragments September 2025
|
|||
| Hypermediatic FeedbackLoop (HFL) between external and internal 4D
|
||||
| navigation.
|
||||
|
||||
8.1. List of URI Fragments
|
||||
9.1. List of URI Fragments
|
||||
|
||||
+=======================+======================================+===========+=============+
|
||||
|fragment |type |example |info |
|
||||
|
|
@ -732,7 +732,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
Table 3
|
||||
|
||||
8.2. List of *_explicit_ metadata
|
||||
9.2. List of *_explicit_ metadata
|
||||
|
||||
These are the possible 'extras' for 3D nodes and sidecar-files
|
||||
|
||||
|
|
@ -746,7 +746,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
Table 4
|
||||
|
||||
9. Level2: href links
|
||||
10. Level2: href links
|
||||
|
||||
Explicit href metadata ('extras') in a 3D object (of a 3D file), hint
|
||||
the viewer that the user ''can interact'' with that object :
|
||||
|
|
@ -758,7 +758,7 @@ Internet-Draft XR Fragments September 2025
|
|||
://somefile.gltf#foo
|
||||
|
|
||||
|
||||
9.1. Interaction behaviour
|
||||
10.1. Interaction behaviour
|
||||
|
||||
When clicking an ''href''-value, the user(camera) is teleport to the
|
||||
referenced object.
|
||||
|
|
@ -766,7 +766,7 @@ Internet-Draft XR Fragments September 2025
|
|||
The imported/teleported destination can be another object in the same
|
||||
scene-file, or a different file.
|
||||
|
||||
9.2. XR Viewer implementation
|
||||
10.2. XR Viewer implementation
|
||||
|
||||
| *spec* | *action* | *feature* | |-|-|-| | level0+1 | hover 3D file
|
||||
href (#via-href-metadata) | show the preview PNG thumbnail (if any).
|
||||
|
|
@ -797,7 +797,7 @@ Internet-Draft XR Fragments September 2025
|
|||
| #roomC navigation, which benefit back/forward browser-buttons),
|
||||
| see <a href="#hashbus">hashbus</a> for more info.
|
||||
|
||||
10. Level3: Media Fragments
|
||||
11. Level3: Media Fragments
|
||||
|
||||
| these allow for XR Movies with a controllable timeline using href
|
||||
| URI's with Media Fragments
|
||||
|
|
@ -813,7 +813,7 @@ Internet-Draft XR Fragments September 2025
|
|||
- href: xrf:news.glb?clone#t=0 to instance and play another
|
||||
experience
|
||||
|
||||
10.1. Animation(s) timeline
|
||||
11.1. Animation(s) timeline
|
||||
|
||||
controls the animation(s) of the scene (or src resource which
|
||||
contains a timeline)
|
||||
|
|
@ -828,7 +828,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
| Use [[#s 🌱]] to control playback speed
|
||||
|
||||
10.2. Specify playback loopmode
|
||||
11.2. Specify playback loopmode
|
||||
|
||||
This compensates a missing element from Media Fragments to enable/
|
||||
disable temporal looping. .
|
||||
|
|
@ -846,7 +846,7 @@ Internet-Draft XR Fragments September 2025
|
|||
animation/video/audio loop | | <b>#-loop</b> | string | disables
|
||||
animation/video/audio loop |
|
||||
|
||||
10.3. Controlling embedded content
|
||||
11.3. Controlling embedded content
|
||||
|
||||
use [[URI Templates]] to control embedded media, for example a simple
|
||||
video-player:
|
||||
|
|
@ -865,7 +865,7 @@ Internet-Draft XR Fragments September 2025
|
|||
└── ◻ playbutton_external
|
||||
└ href: https://my.org/animation.glb#!&t=3,10 <-- import & play external anim
|
||||
|
||||
11. Level4: prefix operators
|
||||
12. Level4: prefix operators
|
||||
|
||||
Prefixing objectnames with the following simple operators allow for
|
||||
*extremely powerful* XR interactions:
|
||||
|
|
@ -880,7 +880,7 @@ Internet-Draft XR Fragments September 2025
|
|||
| to teleport a menu, #*block to clone a grabbable block, #|object
|
||||
| to share an object
|
||||
|
||||
11.1. Object teleports (!)
|
||||
12.1. Object teleports (!)
|
||||
|
||||
Prefixing an object with an exclamation-symbol, will teleport a
|
||||
(local or remote) referenced object from/to its original/usercamera
|
||||
|
|
@ -967,7 +967,7 @@ Internet-Draft XR Fragments September 2025
|
|||
| *NOTE*: combining instance-operators allows dynamic construction
|
||||
| of 3D scenes (#london&!welcomeMenu&!fadeBox e.g.)
|
||||
|
||||
11.2. Object multipliers (*)
|
||||
12.2. Object multipliers (*)
|
||||
|
||||
The star-prefix will clone a (local or remote) referenced object to
|
||||
the usercamera's location, and make it grabbable.
|
||||
|
|
@ -977,7 +977,7 @@ Internet-Draft XR Fragments September 2025
|
|||
| infinitely *clones* the referenced object (instead of
|
||||
| repositioning the object).
|
||||
|
||||
11.3. De/selectors (+ and -)
|
||||
12.3. De/selectors (+ and -)
|
||||
|
||||
* href: #-welcome (or #+welcome)
|
||||
|
||||
|
|
@ -990,7 +990,7 @@ Internet-Draft XR Fragments September 2025
|
|||
| *NOTE:* the latter shows that (de)selectors can also be with
|
||||
| regular href (#href)-values
|
||||
|
||||
11.4. Sharing object or file (#|)
|
||||
12.4. Sharing object or file (#|)
|
||||
|
||||
The pipe-symbol (|) sends a (targeted) object to the OS. Clicking
|
||||
the href-value below will:
|
||||
|
|
@ -1013,7 +1013,7 @@ Internet-Draft XR Fragments September 2025
|
|||
| *NOTE*: sharing is limited to (internal objects) via xrf: scheme-
|
||||
| only
|
||||
|
||||
11.5. xrf:// URI scheme
|
||||
12.5. xrf:// URI scheme
|
||||
|
||||
Prefixing the xrf: to href (#href)-values *will prevent* level2
|
||||
(#📜%20level2:%20explicit%20links) href (#href)-values from changing
|
||||
|
|
@ -1036,7 +1036,7 @@ Internet-Draft XR Fragments September 2025
|
|||
| *compliance with RFC 3986*: unimplemented/unknown URI schemes
|
||||
| (xrf:... e.g.) will not update the top-level URL
|
||||
|
||||
12. Level5: URI Templates (RFC6570)
|
||||
13. Level5: URI Templates (RFC6570)
|
||||
|
||||
)
|
||||
|
||||
|
|
@ -1044,7 +1044,7 @@ Internet-Draft XR Fragments September 2025
|
|||
interactivity.
|
||||
This is non-normative, and the draft spec is available on request.
|
||||
|
||||
13. Top-level URL processing
|
||||
14. Top-level URL processing
|
||||
|
||||
| Example URL: ://foo/world.gltf#room1&t=10&cam
|
||||
|
||||
|
|
@ -1069,7 +1069,7 @@ Internet-Draft XR Fragments September 2025
|
|||
3. IF a camera-object exists with name cam assume that user(camera)
|
||||
position
|
||||
|
||||
13.1. UX
|
||||
14.1. UX
|
||||
|
||||
End-users should always have read/write access to:
|
||||
|
||||
|
|
@ -1079,7 +1079,7 @@ Internet-Draft XR Fragments September 2025
|
|||
another scene/file (and coordinate e.g. in case the URL contains
|
||||
XR Fragments).
|
||||
|
||||
14. Example: Navigating content href portals
|
||||
15. Example: Navigating content href portals
|
||||
|
||||
navigation, portals & mutations
|
||||
|
||||
|
|
@ -1148,7 +1148,7 @@ Internet-Draft XR Fragments September 2025
|
|||
» discussion (https://github.com/coderofsalvation/xrfragment/
|
||||
issues/1)
|
||||
|
||||
14.1. Walking surfaces
|
||||
15.1. Walking surfaces
|
||||
|
||||
| By default position 0,0,0 of the 3D scene represents the walkable
|
||||
| plane, however this is overridden when the following applies:
|
||||
|
|
@ -1162,7 +1162,7 @@ Internet-Draft XR Fragments September 2025
|
|||
| optionally the viewer can offer thumbstick, mouse or joystick
|
||||
| teleport-tools for non-roomscale VR/AR setups.
|
||||
|
||||
15. Example: Virtual world rings
|
||||
16. Example: Virtual world rings
|
||||
|
||||
Consider 3D scenes linking to eachother using these href values,
|
||||
attached to 3D button-objects:
|
||||
|
|
@ -1187,7 +1187,7 @@ Internet-Draft XR Fragments September 2025
|
|||
This would allow displaying the (remote 3D file) webring menu with
|
||||
various href-buttons inside, all centrally curated by the workgroup.
|
||||
|
||||
16. Additional scene metadata
|
||||
17. Additional scene metadata
|
||||
|
||||
XR Fragments does not aim to redefine the metadata-space or
|
||||
accessibility-space by introducing its own cataloging-metadata
|
||||
|
|
@ -1270,7 +1270,7 @@ Internet-Draft XR Fragments September 2025
|
|||
| These attributes can be scanned and presented during an href or
|
||||
| src eye/mouse-over.
|
||||
|
||||
17. Accessibility interface
|
||||
18. Accessibility interface
|
||||
|
||||
The addressibility of XR Fragments allows for unique 3D-to-text
|
||||
transcripts, as well as an textual interface to navigate 3D content.
|
||||
|
|
@ -1321,7 +1321,7 @@ Internet-Draft XR Fragments September 2025
|
|||
https://.../... in case a 3D node exist with name abc and href
|
||||
value https://.../...
|
||||
|
||||
17.1. Two-button navigation
|
||||
18.1. Two-button navigation
|
||||
|
||||
For specific user-profiles, gyroscope/mouse/keyboard/audio/visuals
|
||||
will not be available.
|
||||
|
|
@ -1346,7 +1346,7 @@ van Kammen Expires 23 March 2026 [Page 24]
|
|||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
17.2. Overlap with fileformat-specific extensions
|
||||
18.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
|
||||
|
|
@ -1380,7 +1380,7 @@ Internet-Draft XR Fragments September 2025
|
|||
| them according to XR Fragment spec (teleport user). But only
|
||||
| once: ignore further overlapping metadata for that usecase.
|
||||
|
||||
18. Vendor Prefixes
|
||||
19. Vendor Prefixes
|
||||
|
||||
Vendor-specific metadata in a 3D scenefiles, are similar to vendor-
|
||||
specific CSS-prefixes (https://en.wikipedia.org/wiki/
|
||||
|
|
@ -1514,7 +1514,7 @@ van Kammen Expires 23 March 2026 [Page 27]
|
|||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
19. Security Considerations
|
||||
20. Security Considerations
|
||||
|
||||
The only dynamic parts are W3C Media Fragments
|
||||
(https://www.w3.org/TR/media-frags/) and URI Templates (RFC6570)
|
||||
|
|
@ -1524,7 +1524,7 @@ Internet-Draft XR Fragments September 2025
|
|||
n fact, it is much safer than relying on a scripting language
|
||||
(javascript) which can change URN too.
|
||||
|
||||
20. FAQ
|
||||
21. FAQ
|
||||
|
||||
*Q:* Why is everything HTTP GET-based, what about POST/PUT/DELETE
|
||||
HATEOS
|
||||
|
|
@ -1557,7 +1557,7 @@ Internet-Draft XR Fragments September 2025
|
|||
place, to 'extend' experiences, in contrast to code/javascript inside
|
||||
hypermedia documents (this turned out as a hypermedia antipattern).
|
||||
|
||||
21. authors
|
||||
22. authors
|
||||
|
||||
* Leon van Kammen (@lvk@mastodon.online)
|
||||
* Jens Finkhäuser (@jens@social.finkhaeuser.de)
|
||||
|
|
@ -1570,11 +1570,11 @@ van Kammen Expires 23 March 2026 [Page 28]
|
|||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
22. IANA Considerations
|
||||
23. IANA Considerations
|
||||
|
||||
This document has no IANA actions.
|
||||
|
||||
23. Acknowledgments
|
||||
24. Acknowledgments
|
||||
|
||||
* NLNET (https://nlnet.nl)
|
||||
* Future of Text (https://futureoftext.org)
|
||||
|
|
@ -1589,7 +1589,7 @@ Internet-Draft XR Fragments September 2025
|
|||
* Brandel Zackernuk
|
||||
* Mark Anderson
|
||||
|
||||
24. Appendix: Definitions
|
||||
25. Appendix: Definitions
|
||||
|
||||
+=================+=============================================+
|
||||
| definition | explanation |
|
||||
|
|
|
|||
|
|
@ -10,17 +10,12 @@
|
|||
<workgroup>Jens & Leon Internet Engineering Task Force</workgroup>
|
||||
|
||||
<abstract>
|
||||
<t>Version: 0.5</t>
|
||||
<t>An open specification for hyperlinking & deeplinking 3D fileformats.
|
||||
This draft is a specification for interactive URI-controllable 3D files, enabling <eref target="https://github.com/coderofsalvation/hypermediatic">hypermediatic</eref> navigation, to enable a spatial web for hypermedia browsers with- or without a network-connection.<br />
|
||||
|
||||
XR Fragments allows us to better use implicit metadata inside 3D scene(files), by mapping it to proven technologies like <eref target="https://en.wikipedia.org/wiki/URI_fragment">URI Fragments</eref>.<br />
|
||||
|
||||
XR Fragments views XR experiences thru the lens of 3D deeplinked URI's, rather than thru code(frameworks) or protocol-specific browsers (webbrowser e.g.).
|
||||
The standard comprises of various (optional) support levels, which also include <eref target="https://www.w3.org/TR/media-frags/">W3C Media Fragments</eref> and <eref target="https://www.rfc-editor.org/rfc/rfc6570">URI Templates (RFC6570)</eref> to promote spatial addressibility, sharing, navigation, filtering and databinding objects for (XR) Browsers.<br />
|
||||
</t>
|
||||
<t>XR Fragments is in a sense, a <b>heuristical 3D format</b> or meta-format, which leverages heuristic rules derived from any 3D scene or well-established 3D file formats, to extract meaningful features from scene hierarchies.<br />
|
||||
|
||||
These heuristics, enable features that are both meaningful and consistent across different scene representations, allowing <b>higher interop</b> between fileformats, 3D editors, viewers and game-engines.</t>
|
||||
<t>Almost every idea in this document is demonstrated at <eref target="https://xrfragment.org">https://xrfragment.org</eref></t>
|
||||
</abstract>
|
||||
|
||||
|
|
@ -34,7 +29,8 @@ These heuristics, enable features that are both meaningful and consistent across
|
|||
<li><eref target="#abstract">Abstract</eref></li>
|
||||
<li><eref target="#index">Index</eref></li>
|
||||
<li><eref target="#introduction">Introduction</eref></li>
|
||||
<li><eref target="#what-is-xr-fragments">What is XR Fragments</eref></li>
|
||||
<li><eref target="#how-does-it-work">How does it work</eref></li>
|
||||
<li><eref target="#what-does-it-solve">What does it solve</eref></li>
|
||||
<li><eref target="#hfl-hypermediatic-feedback-loop-for-xr-browsers">HFL (Hypermediatic Feedback Loop) for XR Browsers</eref></li>
|
||||
<li><t><eref target="#conventions-and-definitions">Conventions and Definitions</eref></t>
|
||||
|
||||
|
|
@ -116,6 +112,20 @@ The lowest common denominator is: designers describing/tagging/naming things usi
|
|||
|
||||
XR Fragments exploits the fact that all 3D models already contain such metadata:</t>
|
||||
<t><strong>XR Fragments allows deeplinking of 3D objects by mapping objectnames to URI fragments</strong></t>
|
||||
</section>
|
||||
|
||||
<section anchor="how-does-it-work"><name>How does it work</name>
|
||||
<iref item="What is XR Fragments"/><t>XR Fragments utilizes URLs:</t>
|
||||
|
||||
<ol spacing="compact">
|
||||
<li>for 3D viewers/browser to manipulate the camera or objects (via URI fragments)</li>
|
||||
<li>implicitly: by mapping 3D objectnames (of a 3D scene/file) to URI fragments (3D deeplinking)</li>
|
||||
<li>explicitly: by scanning <tt>href</tt> metadata <strong>inside</strong> 3D scene-files to enable interactions</li>
|
||||
<li>externally: progressively enhance a 3D (file) into an experience via <eref target="https://en.wikipedia.org/wiki/Sidecar_file">sidecarfiles</eref></li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<section anchor="what-does-it-solve"><name>What does it solve</name>
|
||||
<t>It solves:</t>
|
||||
|
||||
<ol spacing="compact">
|
||||
|
|
@ -126,19 +136,14 @@ XR Fragments exploits the fact that all 3D models already contain such metadata:
|
|||
<li>the gap between text an 3d objects: object-names directly map to hashtags (=fragments), which allows 3D to text transcription.</li>
|
||||
</ol>
|
||||
<blockquote><t>NOTE: The chapters in this document are ordered from highlevel to lowlevel (technical) as much as possible</t>
|
||||
</blockquote><t>XR Fragments views XR experiences through the lens of 3D deeplinked URI's, rather than thru code(frameworks) or protocol-specific browsers (webbrowser e.g.).
|
||||
To aid adoption, the standard comprises of various (optional) support-levels, which incorporate existing standards like <eref target="https://www.w3.org/TR/media-frags/">W3C Media Fragments</eref> and <eref target="https://www.rfc-editor.org/rfc/rfc6570">URI Templates (RFC6570)</eref> to promote spatial addressibility, sharing, navigation, filtering and databinding objects for (XR) Browsers.<br />
|
||||
</t>
|
||||
<blockquote><t>XR Fragments is in a sense, a <b>heuristical 3D format</b> or meta-format, which leverages heuristic rules derived from any 3D scene or well-established 3D file formats, to extract meaningful features from scene hierarchies.<br />
|
||||
|
||||
These heuristics, enable features that are both meaningful and consistent across different scene representations, allowing <b>higher interop</b> between fileformats, 3D editors, viewers and game-engines.</t>
|
||||
</blockquote></section>
|
||||
|
||||
<section anchor="what-is-xr-fragments"><name>What is XR Fragments</name>
|
||||
<iref item="What is XR Fragments"/><t>XR Fragments utilizes URLs:</t>
|
||||
|
||||
<ol spacing="compact">
|
||||
<li>for 3D viewers/browser to manipulate the camera or objects (via URI fragments)</li>
|
||||
<li>implicitly: by mapping 3D objectnames (of a 3D scene/file) to URI fragments (3D deeplinking)</li>
|
||||
<li>explicitly: by scanning <tt>href</tt> metadata <strong>inside</strong> 3D scene-files to enable interactions</li>
|
||||
<li>externally: progressively enhance a 3D (file) into an experience via <eref target="https://en.wikipedia.org/wiki/Sidecar_file">sidecarfiles</eref></li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<section anchor="hfl-hypermediatic-feedback-loop-for-xr-browsers"><name>HFL (Hypermediatic Feedback Loop) for XR Browsers</name>
|
||||
<t><iref item="HFL (Hypermediatic Feedback Loop"/> for XR Browsers)</t>
|
||||
<t><tt>href</tt> metadata traditionally implies <strong>click</strong> AND <strong>navigate</strong>, however XR Fragments adds stateless <strong>click</strong> (<tt>xrf://....</tt>) via the <tt>xrf://</tt> scheme, which does not change the top-level URL-adress (of the browser).
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue