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