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>
|
<h1 class="special" id="abstract">Abstract</h1>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<p>Version: 0.5</p>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
<p>An open specification for hyperlinking & deeplinking 3D fileformats.
|
<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>
|
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 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>
|
||||||
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>
|
|
||||||
|
|
||||||
<blockquote>
|
<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>
|
<p>Almost every idea in this document is demonstrated at <a href="https://xrfragment.org">https://xrfragment.org</a></p>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
<section data-matter="main">
|
<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="#abstract">Abstract</a></li>
|
||||||
<li><a href="#index">Index</a></li>
|
<li><a href="#index">Index</a></li>
|
||||||
<li><a href="#introduction">Introduction</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="#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>
|
<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>
|
<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>
|
<p>It solves:</p>
|
||||||
|
|
||||||
<ol>
|
<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>
|
<p>NOTE: The chapters in this document are ordered from highlevel to lowlevel (technical) as much as possible</p>
|
||||||
</blockquote>
|
</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>
|
<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>
|
||||||
<p>XR Fragments utilizes URLs:</p>
|
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>
|
||||||
<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="hfl-hypermediatic-feedback-loop-for-xr-browsers">HFL (Hypermediatic Feedback Loop) for XR Browsers</h1>
|
<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
|
.# Abstract
|
||||||
|
|
||||||
|
> Version: 0.5
|
||||||
|
|
||||||
An open specification for hyperlinking & deeplinking 3D fileformats.
|
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>
|
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 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)
|
> 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. [Abstract](#abstract)
|
||||||
1. [Index](#index)
|
1. [Index](#index)
|
||||||
1. [Introduction](#introduction)
|
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. [HFL (Hypermediatic Feedback Loop) for XR Browsers](#hfl-hypermediatic-feedback-loop-for-xr-browsers)
|
||||||
1. [Conventions and Definitions](#conventions-and-definitions)
|
1. [Conventions and Definitions](#conventions-and-definitions)
|
||||||
1. [XR Fragment URL Grammar](#xr-fragment-url-grammar)
|
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**
|
**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:
|
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
|
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
|
> NOTE: The chapters in this document are ordered from highlevel to lowlevel (technical) as much as possible
|
||||||
|
|
||||||
# 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.).
|
||||||
(!What is XR Fragments )
|
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 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 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
|
||||||
(!HFL (Hypermediatic Feedback Loop) for XR Browsers)
|
(!HFL (Hypermediatic Feedback Loop) for XR Browsers)
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,8 @@ Intended status: Informational
|
||||||
|
|
||||||
Abstract
|
Abstract
|
||||||
|
|
||||||
|
Version: 0.5
|
||||||
|
|
||||||
An open specification for hyperlinking & deeplinking 3D fileformats.
|
An open specification for hyperlinking & deeplinking 3D fileformats.
|
||||||
This draft is a specification for interactive URI-controllable 3D
|
This draft is a specification for interactive URI-controllable 3D
|
||||||
files, enabling hypermediatic (https://github.com/coderofsalvation/
|
files, enabling hypermediatic (https://github.com/coderofsalvation/
|
||||||
|
|
@ -21,23 +23,6 @@ Abstract
|
||||||
XR Fragments allows us to better use implicit metadata inside 3D
|
XR Fragments allows us to better use implicit metadata inside 3D
|
||||||
scene(files), by mapping it to proven technologies like URI Fragments
|
scene(files), by mapping it to proven technologies like URI Fragments
|
||||||
(https://en.wikipedia.org/wiki/URI_fragment).
|
(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
|
Almost every idea in this document is demonstrated at
|
||||||
https://xrfragment.org (https://xrfragment.org)
|
https://xrfragment.org (https://xrfragment.org)
|
||||||
|
|
@ -47,17 +32,6 @@ Status of This Memo
|
||||||
This Internet-Draft is submitted in full conformance with the
|
This Internet-Draft is submitted in full conformance with the
|
||||||
provisions of BCP 78 and BCP 79.
|
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
|
Internet-Drafts are working documents of the Internet Engineering
|
||||||
Task Force (IETF). Note that other groups may also distribute
|
Task Force (IETF). Note that other groups may also distribute
|
||||||
working documents as Internet-Drafts. The list of current Internet-
|
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
|
Copyright (c) 2025 IETF Trust and the persons identified as the
|
||||||
document authors. All rights reserved.
|
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
|
This document is subject to BCP 78 and the IETF Trust's Legal
|
||||||
Provisions Relating to IETF Documents (https://trustee.ietf.org/
|
Provisions Relating to IETF Documents (https://trustee.ietf.org/
|
||||||
license-info) in effect on the date of publication of this document.
|
license-info) in effect on the date of publication of this document.
|
||||||
|
|
@ -88,24 +71,41 @@ Table of Contents
|
||||||
|
|
||||||
1. Quick reference . . . . . . . . . . . . . . . . . . . . . . . 3
|
1. Quick reference . . . . . . . . . . . . . . . . . . . . . . . 3
|
||||||
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
|
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
|
||||||
3. What is XR Fragments . . . . . . . . . . . . . . . . . . . . 5
|
3. How does it work . . . . . . . . . . . . . . . . . . . . . . 4
|
||||||
4. HFL (Hypermediatic Feedback Loop) for XR Browsers . . . . . . 5
|
4. What does it solve . . . . . . . . . . . . . . . . . . . . . 4
|
||||||
5. Conventions and Definitions . . . . . . . . . . . . . . . . . 8
|
5. HFL (Hypermediatic Feedback Loop) for XR Browsers . . . . . . 5
|
||||||
5.1. XR Fragment URL Grammar . . . . . . . . . . . . . . . . . 8
|
6. Conventions and Definitions . . . . . . . . . . . . . . . . . 8
|
||||||
6. Spatial Referencing 3D . . . . . . . . . . . . . . . . . . . 8
|
6.1. XR Fragment URL Grammar . . . . . . . . . . . . . . . . . 8
|
||||||
7. Level0: Files . . . . . . . . . . . . . . . . . . . . . . . . 9
|
7. Spatial Referencing 3D . . . . . . . . . . . . . . . . . . . 8
|
||||||
7.1. via href metadata . . . . . . . . . . . . . . . . . . . . 9
|
8. Level0: Files . . . . . . . . . . . . . . . . . . . . . . . . 9
|
||||||
7.2. via chained extension . . . . . . . . . . . . . . . . . . 10
|
8.1. via href metadata . . . . . . . . . . . . . . . . . . . . 9
|
||||||
7.3. via subdocuments/xattr . . . . . . . . . . . . . . . . . 10
|
8.2. via chained extension . . . . . . . . . . . . . . . . . . 10
|
||||||
7.4. JSON sidecar-file . . . . . . . . . . . . . . . . . . . . 11
|
8.3. via subdocuments/xattr . . . . . . . . . . . . . . . . . 10
|
||||||
8. Level1: URI . . . . . . . . . . . . . . . . . . . . . . . . . 11
|
8.4. JSON sidecar-file . . . . . . . . . . . . . . . . . . . . 11
|
||||||
8.1. List of URI Fragments . . . . . . . . . . . . . . . . . . 13
|
9. Level1: URI . . . . . . . . . . . . . . . . . . . . . . . . . 11
|
||||||
8.2. List of *_explicit_ metadata . . . . . . . . . . . . . . 14
|
9.1. List of URI Fragments . . . . . . . . . . . . . . . . . . 13
|
||||||
9. Level2: href links . . . . . . . . . . . . . . . . . . . . . 14
|
9.2. List of *_explicit_ metadata . . . . . . . . . . . . . . 14
|
||||||
9.1. Interaction behaviour . . . . . . . . . . . . . . . . . . 14
|
10. Level2: href links . . . . . . . . . . . . . . . . . . . . . 14
|
||||||
9.2. XR Viewer implementation . . . . . . . . . . . . . . . . 14
|
10.1. Interaction behaviour . . . . . . . . . . . . . . . . . 14
|
||||||
10. Level3: Media Fragments . . . . . . . . . . . . . . . . . . . 15
|
10.2. XR Viewer implementation . . . . . . . . . . . . . . . . 14
|
||||||
10.1. Animation(s) timeline . . . . . . . . . . . . . . . . . 15
|
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
|
Internet-Draft XR Fragments September 2025
|
||||||
|
|
||||||
|
|
||||||
10.2. Specify playback loopmode . . . . . . . . . . . . . . . 15
|
18.1. Two-button navigation . . . . . . . . . . . . . . . . . 24
|
||||||
10.3. Controlling embedded content . . . . . . . . . . . . . . 16
|
18.2. Overlap with fileformat-specific extensions . . . . . . 25
|
||||||
11. Level4: prefix operators . . . . . . . . . . . . . . . . . . 16
|
19. Vendor Prefixes . . . . . . . . . . . . . . . . . . . . . . . 25
|
||||||
11.1. Object teleports (!) . . . . . . . . . . . . . . . . . . 16
|
20. Security Considerations . . . . . . . . . . . . . . . . . . . 28
|
||||||
11.2. Object multipliers (*) . . . . . . . . . . . . . . . . . 18
|
21. FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
|
||||||
11.3. De/selectors (+ and -) . . . . . . . . . . . . . . . . . 18
|
22. authors . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
|
||||||
11.4. Sharing object or file (#|) . . . . . . . . . . . . . . 18
|
23. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 29
|
||||||
11.5. xrf:// URI scheme . . . . . . . . . . . . . . . . . . . 19
|
24. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 29
|
||||||
12. Level5: URI Templates (RFC6570) . . . . . . . . . . . . . . . 19
|
25. Appendix: Definitions . . . . . . . . . . . . . . . . . . . . 29
|
||||||
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
|
|
||||||
|
|
||||||
1. Quick reference
|
1. Quick reference
|
||||||
|
|
||||||
1. Abstract (#abstract)
|
1. Abstract (#abstract)
|
||||||
2. Index (#index)
|
2. Index (#index)
|
||||||
3. Introduction (#introduction)
|
3. Introduction (#introduction)
|
||||||
4. What is XR Fragments (#what-is-xr-fragments)
|
4. How does it work (#how-does-it-work)
|
||||||
5. HFL (Hypermediatic Feedback Loop) for XR Browsers (#hfl-
|
5. What does it solve (#what-does-it-solve)
|
||||||
|
6. HFL (Hypermediatic Feedback Loop) for XR Browsers (#hfl-
|
||||||
hypermediatic-feedback-loop-for-xr-browsers)
|
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)
|
1. XR Fragment URL Grammar (#xr-fragment-url-grammar)
|
||||||
7. Spatial Referencing 3D (#spatial-referencing-3d)
|
8. Spatial Referencing 3D (#spatial-referencing-3d)
|
||||||
8. Level0: Files (#level0-files)
|
9. Level0: Files (#level0-files)
|
||||||
1. via href metadata (#via-href-metadata)
|
1. via href metadata (#via-href-metadata)
|
||||||
2. via chained extension (#via-chained-extension)
|
2. via chained extension (#via-chained-extension)
|
||||||
3. via subdocuments/xattr (#via-subdocuments-xattr)
|
3. via subdocuments/xattr (#via-subdocuments-xattr)
|
||||||
4. JSON sidecar-file (#json-sidecar-file)
|
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)
|
1. List of URI Fragments (#list-of-uri-fragments)
|
||||||
2. List of explicit metadata (#list-of-explicit-metadata)
|
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)
|
1. Interaction behaviour (#interaction-behaviour)
|
||||||
2. XR Viewer implementation (#xr-viewer-implementation)
|
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
|
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)
|
1. Walking surfaces (#walking-surfaces)
|
||||||
16. Example: Virtual world rings (#example-virtual-world-rings)
|
17. Example: Virtual world rings (#example-virtual-world-rings)
|
||||||
17. Additional scene metadata (#additional-scene-metadata)
|
18. Additional scene metadata (#additional-scene-metadata)
|
||||||
18. Accessibility interface (#accessibility-interface)
|
19. Accessibility interface (#accessibility-interface)
|
||||||
1. Two-button navigation (#two-button-navigation)
|
1. Two-button navigation (#two-button-navigation)
|
||||||
2. Overlap with fileformat-specific extensions (#overlap-with-
|
2. Overlap with fileformat-specific extensions (#overlap-with-
|
||||||
fileformat-specific-extensions)
|
fileformat-specific-extensions)
|
||||||
19. Vendor Prefixes (#vendor-prefixes)
|
20. Vendor Prefixes (#vendor-prefixes)
|
||||||
20. Security Considerations (#security-considerations)
|
21. Security Considerations (#security-considerations)
|
||||||
21. FAQ (#faq)
|
22. FAQ (#faq)
|
||||||
22. Authors (#authors)
|
23. Authors (#authors)
|
||||||
23. IANA Considerations (#iana-considerations)
|
24. IANA Considerations (#iana-considerations)
|
||||||
24. Acknowledgments (#acknowledgments)
|
25. Acknowledgments (#acknowledgments)
|
||||||
25. Appendix: Definitions (#appendix-definitions)
|
26. Appendix: Definitions (#appendix-definitions)
|
||||||
|
|
||||||
2. Introduction
|
2. Introduction
|
||||||
|
|
||||||
|
|
@ -214,6 +199,21 @@ Internet-Draft XR Fragments September 2025
|
||||||
*XR Fragments allows deeplinking of 3D objects by mapping objectnames
|
*XR Fragments allows deeplinking of 3D objects by mapping objectnames
|
||||||
to URI fragments*
|
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:
|
It solves:
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -242,20 +242,25 @@ Internet-Draft XR Fragments September 2025
|
||||||
| NOTE: The chapters in this document are ordered from highlevel to
|
| NOTE: The chapters in this document are ordered from highlevel to
|
||||||
| lowlevel (technical) as much as possible
|
| 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
|
5. HFL (Hypermediatic Feedback Loop) for XR Browsers
|
||||||
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
|
|
||||||
|
|
||||||
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*-
|
otherwise needs a scripting language. These are called *hashbus*-
|
||||||
only events/
|
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
|
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)
|
* hypermediatic (https://github.com/coderofsalvation/hypermediatic)
|
||||||
loading/clicking 3D assets (gltf/fbx e.g.) natively (with or
|
loading/clicking 3D assets (gltf/fbx e.g.) natively (with or
|
||||||
without using HTML).
|
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
|
Internet-Draft XR Fragments September 2025
|
||||||
|
|
||||||
|
|
||||||
5. Conventions and Definitions
|
6. Conventions and Definitions
|
||||||
|
|
||||||
See appendix below in case certain terms are not clear.
|
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:
|
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
|
https://me.com can load the latter (and still indicates which XR
|
||||||
Fragments entrypoint-experience/client was used).
|
Fragments entrypoint-experience/client was used).
|
||||||
|
|
||||||
6. Spatial Referencing 3D
|
7. Spatial Referencing 3D
|
||||||
|
|
||||||
3D files contain an hierarchy of objects.
|
3D files contain an hierarchy of objects.
|
||||||
XR Fragments assumes the following objectname-to-URI-Fragment
|
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
|
| embedded object. Basically an embedded link becoming an outbound
|
||||||
| link by activating it.
|
| link by activating it.
|
||||||
|
|
||||||
7. Level0: Files
|
8. Level0: Files
|
||||||
|
|
||||||
These are *optional* auto-loaded side-car files to enable hasslefree
|
These are *optional* auto-loaded side-car files to enable hasslefree
|
||||||
XR Movies (#XR%20Movies).
|
XR Movies (#XR%20Movies).
|
||||||
they can accomodate developers or applications who (for whatever
|
they can accomodate developers or applications who (for whatever
|
||||||
reason) must not modify the 3D scene-file (a .glb e.g.).
|
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.glb <--- 'href' extra [heuristic] detected inside!
|
||||||
scene.png (preview thumbnail)
|
scene.png (preview thumbnail)
|
||||||
|
|
@ -510,7 +510,7 @@ Internet-Draft XR Fragments September 2025
|
||||||
* The viewer should poll for the above mentioned sidecar-file
|
* The viewer should poll for the above mentioned sidecar-file
|
||||||
extensions (and present accordingly)
|
extensions (and present accordingly)
|
||||||
|
|
||||||
7.2. via chained extension
|
8.2. via chained extension
|
||||||
|
|
||||||
scene.xrf.glb <--- '.xrf.' sidecar file heuristic detected!
|
scene.xrf.glb <--- '.xrf.' sidecar file heuristic detected!
|
||||||
scene.xrf.png (preview thumbnail)
|
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
|
* the chained-extension heuristic .xrf. should be present in the
|
||||||
filename (scene.xrf.glb e.g.)
|
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
|
More secure protocols (Nextgraph e.g.) don't allow for simply polling
|
||||||
files. In such case, subdocuments or extended attributes should be
|
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
|
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
|
For developers, sidecar-file can allow for defining *explicit* XR
|
||||||
Fragments links (>level1), outside of the 3D file.
|
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
|
// 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
|
| *XR Fragments allows deeplinking of 3D objects by mapping
|
||||||
| objectnames to URI fragments*
|
| objectnames to URI fragments*
|
||||||
|
|
@ -700,7 +700,7 @@ Internet-Draft XR Fragments September 2025
|
||||||
| Hypermediatic FeedbackLoop (HFL) between external and internal 4D
|
| Hypermediatic FeedbackLoop (HFL) between external and internal 4D
|
||||||
| navigation.
|
| navigation.
|
||||||
|
|
||||||
8.1. List of URI Fragments
|
9.1. List of URI Fragments
|
||||||
|
|
||||||
+=======================+======================================+===========+=============+
|
+=======================+======================================+===========+=============+
|
||||||
|fragment |type |example |info |
|
|fragment |type |example |info |
|
||||||
|
|
@ -732,7 +732,7 @@ Internet-Draft XR Fragments September 2025
|
||||||
|
|
||||||
Table 3
|
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
|
These are the possible 'extras' for 3D nodes and sidecar-files
|
||||||
|
|
||||||
|
|
@ -746,7 +746,7 @@ Internet-Draft XR Fragments September 2025
|
||||||
|
|
||||||
Table 4
|
Table 4
|
||||||
|
|
||||||
9. Level2: href links
|
10. Level2: href links
|
||||||
|
|
||||||
Explicit href metadata ('extras') in a 3D object (of a 3D file), hint
|
Explicit href metadata ('extras') in a 3D object (of a 3D file), hint
|
||||||
the viewer that the user ''can interact'' with that object :
|
the viewer that the user ''can interact'' with that object :
|
||||||
|
|
@ -758,7 +758,7 @@ Internet-Draft XR Fragments September 2025
|
||||||
://somefile.gltf#foo
|
://somefile.gltf#foo
|
||||||
|
|
|
|
||||||
|
|
||||||
9.1. Interaction behaviour
|
10.1. Interaction behaviour
|
||||||
|
|
||||||
When clicking an ''href''-value, the user(camera) is teleport to the
|
When clicking an ''href''-value, the user(camera) is teleport to the
|
||||||
referenced object.
|
referenced object.
|
||||||
|
|
@ -766,7 +766,7 @@ Internet-Draft XR Fragments September 2025
|
||||||
The imported/teleported destination can be another object in the same
|
The imported/teleported destination can be another object in the same
|
||||||
scene-file, or a different file.
|
scene-file, or a different file.
|
||||||
|
|
||||||
9.2. XR Viewer implementation
|
10.2. XR Viewer implementation
|
||||||
|
|
||||||
| *spec* | *action* | *feature* | |-|-|-| | level0+1 | hover 3D file
|
| *spec* | *action* | *feature* | |-|-|-| | level0+1 | hover 3D file
|
||||||
href (#via-href-metadata) | show the preview PNG thumbnail (if any).
|
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),
|
| #roomC navigation, which benefit back/forward browser-buttons),
|
||||||
| see <a href="#hashbus">hashbus</a> for more info.
|
| 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
|
| these allow for XR Movies with a controllable timeline using href
|
||||||
| URI's with Media Fragments
|
| 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
|
- href: xrf:news.glb?clone#t=0 to instance and play another
|
||||||
experience
|
experience
|
||||||
|
|
||||||
10.1. Animation(s) timeline
|
11.1. Animation(s) timeline
|
||||||
|
|
||||||
controls the animation(s) of the scene (or src resource which
|
controls the animation(s) of the scene (or src resource which
|
||||||
contains a timeline)
|
contains a timeline)
|
||||||
|
|
@ -828,7 +828,7 @@ Internet-Draft XR Fragments September 2025
|
||||||
|
|
||||||
| Use [[#s 🌱]] to control playback speed
|
| 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/
|
This compensates a missing element from Media Fragments to enable/
|
||||||
disable temporal looping. .
|
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 | | <b>#-loop</b> | string | disables
|
||||||
animation/video/audio loop |
|
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
|
use [[URI Templates]] to control embedded media, for example a simple
|
||||||
video-player:
|
video-player:
|
||||||
|
|
@ -865,7 +865,7 @@ Internet-Draft XR Fragments September 2025
|
||||||
└── ◻ playbutton_external
|
└── ◻ playbutton_external
|
||||||
└ href: https://my.org/animation.glb#!&t=3,10 <-- import & play external anim
|
└ 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
|
Prefixing objectnames with the following simple operators allow for
|
||||||
*extremely powerful* XR interactions:
|
*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 teleport a menu, #*block to clone a grabbable block, #|object
|
||||||
| to share an object
|
| to share an object
|
||||||
|
|
||||||
11.1. Object teleports (!)
|
12.1. Object teleports (!)
|
||||||
|
|
||||||
Prefixing an object with an exclamation-symbol, will teleport a
|
Prefixing an object with an exclamation-symbol, will teleport a
|
||||||
(local or remote) referenced object from/to its original/usercamera
|
(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
|
| *NOTE*: combining instance-operators allows dynamic construction
|
||||||
| of 3D scenes (#london&!welcomeMenu&!fadeBox e.g.)
|
| 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 star-prefix will clone a (local or remote) referenced object to
|
||||||
the usercamera's location, and make it grabbable.
|
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
|
| infinitely *clones* the referenced object (instead of
|
||||||
| repositioning the object).
|
| repositioning the object).
|
||||||
|
|
||||||
11.3. De/selectors (+ and -)
|
12.3. De/selectors (+ and -)
|
||||||
|
|
||||||
* href: #-welcome (or #+welcome)
|
* 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
|
| *NOTE:* the latter shows that (de)selectors can also be with
|
||||||
| regular href (#href)-values
|
| 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 pipe-symbol (|) sends a (targeted) object to the OS. Clicking
|
||||||
the href-value below will:
|
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-
|
| *NOTE*: sharing is limited to (internal objects) via xrf: scheme-
|
||||||
| only
|
| only
|
||||||
|
|
||||||
11.5. xrf:// URI scheme
|
12.5. xrf:// URI scheme
|
||||||
|
|
||||||
Prefixing the xrf: to href (#href)-values *will prevent* level2
|
Prefixing the xrf: to href (#href)-values *will prevent* level2
|
||||||
(#📜%20level2:%20explicit%20links) href (#href)-values from changing
|
(#📜%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
|
| *compliance with RFC 3986*: unimplemented/unknown URI schemes
|
||||||
| (xrf:... e.g.) will not update the top-level URL
|
| (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.
|
interactivity.
|
||||||
This is non-normative, and the draft spec is available on request.
|
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
|
| 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)
|
3. IF a camera-object exists with name cam assume that user(camera)
|
||||||
position
|
position
|
||||||
|
|
||||||
13.1. UX
|
14.1. UX
|
||||||
|
|
||||||
End-users should always have read/write access to:
|
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
|
another scene/file (and coordinate e.g. in case the URL contains
|
||||||
XR Fragments).
|
XR Fragments).
|
||||||
|
|
||||||
14. Example: Navigating content href portals
|
15. Example: Navigating content href portals
|
||||||
|
|
||||||
navigation, portals & mutations
|
navigation, portals & mutations
|
||||||
|
|
||||||
|
|
@ -1148,7 +1148,7 @@ Internet-Draft XR Fragments September 2025
|
||||||
» discussion (https://github.com/coderofsalvation/xrfragment/
|
» discussion (https://github.com/coderofsalvation/xrfragment/
|
||||||
issues/1)
|
issues/1)
|
||||||
|
|
||||||
14.1. Walking surfaces
|
15.1. Walking surfaces
|
||||||
|
|
||||||
| By default position 0,0,0 of the 3D scene represents the walkable
|
| By default position 0,0,0 of the 3D scene represents the walkable
|
||||||
| plane, however this is overridden when the following applies:
|
| 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
|
| optionally the viewer can offer thumbstick, mouse or joystick
|
||||||
| teleport-tools for non-roomscale VR/AR setups.
|
| 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,
|
Consider 3D scenes linking to eachother using these href values,
|
||||||
attached to 3D button-objects:
|
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
|
This would allow displaying the (remote 3D file) webring menu with
|
||||||
various href-buttons inside, all centrally curated by the workgroup.
|
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
|
XR Fragments does not aim to redefine the metadata-space or
|
||||||
accessibility-space by introducing its own cataloging-metadata
|
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
|
| These attributes can be scanned and presented during an href or
|
||||||
| src eye/mouse-over.
|
| src eye/mouse-over.
|
||||||
|
|
||||||
17. Accessibility interface
|
18. Accessibility interface
|
||||||
|
|
||||||
The addressibility of XR Fragments allows for unique 3D-to-text
|
The addressibility of XR Fragments allows for unique 3D-to-text
|
||||||
transcripts, as well as an textual interface to navigate 3D content.
|
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
|
https://.../... in case a 3D node exist with name abc and href
|
||||||
value https://.../...
|
value https://.../...
|
||||||
|
|
||||||
17.1. Two-button navigation
|
18.1. Two-button navigation
|
||||||
|
|
||||||
For specific user-profiles, gyroscope/mouse/keyboard/audio/visuals
|
For specific user-profiles, gyroscope/mouse/keyboard/audio/visuals
|
||||||
will not be available.
|
will not be available.
|
||||||
|
|
@ -1346,7 +1346,7 @@ van Kammen Expires 23 March 2026 [Page 24]
|
||||||
Internet-Draft XR Fragments September 2025
|
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
|
Some 3D scene-fileformats have support for extensions. What if the
|
||||||
functionality of those overlap? For example, GLTF has the OMI_LINK
|
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
|
| them according to XR Fragment spec (teleport user). But only
|
||||||
| once: ignore further overlapping metadata for that usecase.
|
| 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-
|
Vendor-specific metadata in a 3D scenefiles, are similar to vendor-
|
||||||
specific CSS-prefixes (https://en.wikipedia.org/wiki/
|
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
|
Internet-Draft XR Fragments September 2025
|
||||||
|
|
||||||
|
|
||||||
19. Security Considerations
|
20. Security Considerations
|
||||||
|
|
||||||
The only dynamic parts are W3C Media Fragments
|
The only dynamic parts are W3C Media Fragments
|
||||||
(https://www.w3.org/TR/media-frags/) and URI Templates (RFC6570)
|
(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
|
n fact, it is much safer than relying on a scripting language
|
||||||
(javascript) which can change URN too.
|
(javascript) which can change URN too.
|
||||||
|
|
||||||
20. FAQ
|
21. FAQ
|
||||||
|
|
||||||
*Q:* Why is everything HTTP GET-based, what about POST/PUT/DELETE
|
*Q:* Why is everything HTTP GET-based, what about POST/PUT/DELETE
|
||||||
HATEOS
|
HATEOS
|
||||||
|
|
@ -1557,7 +1557,7 @@ Internet-Draft XR Fragments September 2025
|
||||||
place, to 'extend' experiences, in contrast to code/javascript inside
|
place, to 'extend' experiences, in contrast to code/javascript inside
|
||||||
hypermedia documents (this turned out as a hypermedia antipattern).
|
hypermedia documents (this turned out as a hypermedia antipattern).
|
||||||
|
|
||||||
21. authors
|
22. authors
|
||||||
|
|
||||||
* Leon van Kammen (@lvk@mastodon.online)
|
* Leon van Kammen (@lvk@mastodon.online)
|
||||||
* Jens Finkhäuser (@jens@social.finkhaeuser.de)
|
* 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
|
Internet-Draft XR Fragments September 2025
|
||||||
|
|
||||||
|
|
||||||
22. IANA Considerations
|
23. IANA Considerations
|
||||||
|
|
||||||
This document has no IANA actions.
|
This document has no IANA actions.
|
||||||
|
|
||||||
23. Acknowledgments
|
24. Acknowledgments
|
||||||
|
|
||||||
* NLNET (https://nlnet.nl)
|
* NLNET (https://nlnet.nl)
|
||||||
* Future of Text (https://futureoftext.org)
|
* Future of Text (https://futureoftext.org)
|
||||||
|
|
@ -1589,7 +1589,7 @@ Internet-Draft XR Fragments September 2025
|
||||||
* Brandel Zackernuk
|
* Brandel Zackernuk
|
||||||
* Mark Anderson
|
* Mark Anderson
|
||||||
|
|
||||||
24. Appendix: Definitions
|
25. Appendix: Definitions
|
||||||
|
|
||||||
+=================+=============================================+
|
+=================+=============================================+
|
||||||
| definition | explanation |
|
| definition | explanation |
|
||||||
|
|
|
||||||
|
|
@ -10,17 +10,12 @@
|
||||||
<workgroup>Jens & Leon Internet Engineering Task Force</workgroup>
|
<workgroup>Jens & Leon Internet Engineering Task Force</workgroup>
|
||||||
|
|
||||||
<abstract>
|
<abstract>
|
||||||
|
<t>Version: 0.5</t>
|
||||||
<t>An open specification for hyperlinking & deeplinking 3D fileformats.
|
<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 />
|
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 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>
|
||||||
<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>
|
<t>Almost every idea in this document is demonstrated at <eref target="https://xrfragment.org">https://xrfragment.org</eref></t>
|
||||||
</abstract>
|
</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="#abstract">Abstract</eref></li>
|
||||||
<li><eref target="#index">Index</eref></li>
|
<li><eref target="#index">Index</eref></li>
|
||||||
<li><eref target="#introduction">Introduction</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><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>
|
<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>
|
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>
|
<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>
|
<t>It solves:</t>
|
||||||
|
|
||||||
<ol spacing="compact">
|
<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>
|
<li>the gap between text an 3d objects: object-names directly map to hashtags (=fragments), which allows 3D to text transcription.</li>
|
||||||
</ol>
|
</ol>
|
||||||
<blockquote><t>NOTE: The chapters in this document are ordered from highlevel to lowlevel (technical) as much as possible</t>
|
<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>
|
</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>
|
<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><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).
|
<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