finetune docs + spec
This commit is contained in:
parent
d326a0cd05
commit
746762e0a8
5 changed files with 176 additions and 159 deletions
|
|
@ -413,7 +413,18 @@ For example, to render a portal with a preview-version of the scene, create an 3
|
|||
<p><span class="index" id="idxref:6"></span>
|
||||
<span class="index" id="idxref:7"></span></p>
|
||||
|
||||
<p>These are <strong>optional</strong> auto-loaded <a href="">side-car files</a> to enable hasslefree <a href="#XR%20Movies">XR Movies</a>.<br>
|
||||
<p>Compatible 3D fileformats: <a href="https://www.khronos.org/gltf/">glTF</a>, <a href="https://openusd.org/release/spec_usdz.html">usdz</a>, <a href="https://en.wikipedia.org/wiki/Wavefront_.obj_file">obj</a>, <a href="https://www.khronos.org/collada">collada</a>, <a href="https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4">THREE.json</a>, <a href="https://en.wikipedia.org/wiki/X3D">X3D</a> e.g.
|
||||
<br></p>
|
||||
|
||||
<p>A 3D scene-file can be considered <b>XR Fragment-compatible</b> when it contains metadata:
|
||||
1. implicit: there’s at least one object with a name (*)
|
||||
2. explicit: (optional) object(s) have (level2) href extras.</p>
|
||||
|
||||
<blockquote>
|
||||
<p>* = last wins in case of non-unique names</p>
|
||||
</blockquote>
|
||||
|
||||
<p>There are <strong>optional</strong> auto-loaded <a href="">side-car files</a> to enable hasslefree <a href="#XR%20Movies">XR Movies</a>.<br>
|
||||
they can accomodate developers or applications who (for whatever reason) must not modify the 3D scene-file (a <code>.glb</code> e.g.).</p>
|
||||
|
||||
<h2 id="via-href-metadata">via href metadata</h2>
|
||||
|
|
@ -490,11 +501,10 @@ This can be done via (objectname/metadata) key/value-pairs in a JSON <a href="ht
|
|||
</ul>
|
||||
|
||||
<pre><code class="language-json">{
|
||||
"/":
|
||||
"aria-description": "description of scene",
|
||||
},
|
||||
"aria-description": "description of scene",
|
||||
"button": {
|
||||
"href": "#roomB"
|
||||
"href": "#roomB",
|
||||
"aria-description": "description of room"
|
||||
}
|
||||
}
|
||||
</code></pre>
|
||||
|
|
@ -696,16 +706,11 @@ XR Fragments Level3 makes the 3D timeline, as well as URL-referenced files <stro
|
|||
<p>controls the animation(s) of the scene (or <code>src</code> resource which contains a timeline)</p>
|
||||
|
||||
<p>| fragment | type | functionality |
|
||||
| <b>#t</b>=start,stop | <a href="default:`#t=0,0`">[vector2]</a> | start,stop (in seconds |</p>
|
||||
| <b>#t</b>=start,stop | <a href="default:`#t=0`">[vector2]</a> | start,stop (in seconds |</p>
|
||||
|
||||
<p>| Example Value | Explanation |
|
||||
| <code>#t=1</code> | play (3D) animations from 1 seconds till end (and stop) |
|
||||
| <code>#t=1,100</code> | play (3D) animations from 1 till 100 seconds (and stop) |
|
||||
| <code>#t=0,0</code> | stop (3D) animations at frame 0 |</p>
|
||||
|
||||
<blockquote>
|
||||
<p>Use [[#s 🌱]] to control playback speed</p>
|
||||
</blockquote>
|
||||
| <code>#t=1,100</code> | play (3D) animations from 1 till 100 seconds (and stop) |</p>
|
||||
|
||||
<h2 id="specify-playback-loopmode">Specify playback loopmode</h2>
|
||||
|
||||
|
|
|
|||
|
|
@ -292,7 +292,16 @@ For example, to render a portal with a preview-version of the scene, create an 3
|
|||
(!Level0: Files )
|
||||
(!Level0: Files)
|
||||
|
||||
These are **optional** auto-loaded [side-car files]() to enable hasslefree [XR Movies](#XR%20Movies).<br>
|
||||
Compatible 3D fileformats: [glTF](https://www.khronos.org/gltf/), [usdz](https://openusd.org/release/spec_usdz.html), [obj](https://en.wikipedia.org/wiki/Wavefront_.obj_file), [collada](https://www.khronos.org/collada), [THREE.json](https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4), [X3D](https://en.wikipedia.org/wiki/X3D) e.g.
|
||||
<br>
|
||||
|
||||
A 3D scene-file can be considered <b>XR Fragment-compatible</b> when it contains metadata:
|
||||
1. implicit: there's at least one object with a name (*)
|
||||
2. explicit: (optional) object(s) have (level2) href extras.
|
||||
|
||||
> \* = last wins in case of non-unique names
|
||||
|
||||
There are **optional** auto-loaded [side-car files]() to enable hasslefree [XR Movies](#XR%20Movies).<br>
|
||||
they can accomodate developers or applications who (for whatever reason) must not modify the 3D scene-file (a `.glb` e.g.).
|
||||
|
||||
## via href metadata
|
||||
|
|
@ -363,11 +372,10 @@ This can be done via (objectname/metadata) key/value-pairs in a JSON [sidecar-fi
|
|||
|
||||
```json
|
||||
{
|
||||
"/":
|
||||
"aria-description": "description of scene",
|
||||
},
|
||||
"aria-description": "description of scene",
|
||||
"button": {
|
||||
"href": "#roomB"
|
||||
"href": "#roomB",
|
||||
"aria-description": "description of room"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
|
@ -512,15 +520,12 @@ XR Fragments Level3 makes the 3D timeline, as well as URL-referenced files **con
|
|||
controls the animation(s) of the scene (or `src` resource which contains a timeline)
|
||||
|
||||
| fragment | type | functionality |
|
||||
| <b>#t</b>=start,stop | [[vector2]] (default:`#t=0,0`) | start,stop (in seconds |
|
||||
| <b>#t</b>=start,stop | [[vector2]] (default:`#t=0`) | start,stop (in seconds |
|
||||
|
||||
|
||||
| Example Value | Explanation |
|
||||
| `#t=1` | play (3D) animations from 1 seconds till end (and stop) |
|
||||
| `#t=1,100` | play (3D) animations from 1 till 100 seconds (and stop) |
|
||||
| `#t=0,0` | stop (3D) animations at frame 0 |
|
||||
|
||||
> Use [[#s 🌱]] to control playback speed
|
||||
|
||||
## Specify playback loopmode
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
|
||||
Jens & Leon Internet Engineering Task Force L.R. van Kammen
|
||||
Internet-Draft 19 September 2025
|
||||
Internet-Draft 20 September 2025
|
||||
Intended status: Informational
|
||||
|
||||
|
||||
|
|
@ -42,7 +42,7 @@ Status of This Memo
|
|||
time. It is inappropriate to use Internet-Drafts as reference
|
||||
material or to cite them other than as "work in progress."
|
||||
|
||||
This Internet-Draft will expire on 23 March 2026.
|
||||
This Internet-Draft will expire on 24 March 2026.
|
||||
|
||||
Copyright Notice
|
||||
|
||||
|
|
@ -53,7 +53,7 @@ Copyright Notice
|
|||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 1]
|
||||
van Kammen Expires 24 March 2026 [Page 1]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
|
@ -78,11 +78,11 @@ Table of Contents
|
|||
6.1. XR Fragment URL Grammar . . . . . . . . . . . . . . . . . 8
|
||||
7. Spatial Referencing 3D . . . . . . . . . . . . . . . . . . . 8
|
||||
8. Level0: Files . . . . . . . . . . . . . . . . . . . . . . . . 9
|
||||
8.1. via href metadata . . . . . . . . . . . . . . . . . . . . 9
|
||||
8.1. via href metadata . . . . . . . . . . . . . . . . . . . . 10
|
||||
8.2. via chained extension . . . . . . . . . . . . . . . . . . 10
|
||||
8.3. via subdocuments/xattr . . . . . . . . . . . . . . . . . 10
|
||||
8.4. JSON sidecar-file . . . . . . . . . . . . . . . . . . . . 11
|
||||
9. Level1: URI . . . . . . . . . . . . . . . . . . . . . . . . . 11
|
||||
9. Level1: URI . . . . . . . . . . . . . . . . . . . . . . . . . 12
|
||||
9.1. List of URI Fragments . . . . . . . . . . . . . . . . . . 13
|
||||
9.2. List of *_explicit_ metadata . . . . . . . . . . . . . . 14
|
||||
10. Level2: href links . . . . . . . . . . . . . . . . . . . . . 14
|
||||
|
|
@ -109,7 +109,7 @@ Table of Contents
|
|||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 2]
|
||||
van Kammen Expires 24 March 2026 [Page 2]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
|
@ -165,7 +165,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 3]
|
||||
van Kammen Expires 24 March 2026 [Page 3]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
|
@ -221,7 +221,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 4]
|
||||
van Kammen Expires 24 March 2026 [Page 4]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
|
@ -277,7 +277,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 5]
|
||||
van Kammen Expires 24 March 2026 [Page 5]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
|
@ -333,7 +333,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 6]
|
||||
van Kammen Expires 24 March 2026 [Page 6]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
|
@ -389,7 +389,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 7]
|
||||
van Kammen Expires 24 March 2026 [Page 7]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
|
@ -445,7 +445,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 8]
|
||||
van Kammen Expires 24 March 2026 [Page 8]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
|
@ -483,7 +483,30 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
8. Level0: Files
|
||||
|
||||
These are *optional* auto-loaded side-car files to enable hasslefree
|
||||
Compatible 3D fileformats: glTF (https://www.khronos.org/gltf/), usdz
|
||||
(https://openusd.org/release/spec_usdz.html), obj
|
||||
(https://en.wikipedia.org/wiki/Wavefront_.obj_file), collada
|
||||
(https://www.khronos.org/collada), THREE.json
|
||||
(https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4),
|
||||
X3D (https://en.wikipedia.org/wiki/X3D) e.g.
|
||||
|
||||
A 3D scene-file can be considered <b>XR Fragment-compatible</b> when
|
||||
it contains metadata: 1. implicit: there's at least one object with a
|
||||
name (*) 2. explicit: (optional) object(s) have (level2) href extras.
|
||||
|
||||
| * = last wins in case of non-unique names
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
van Kammen Expires 24 March 2026 [Page 9]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
There 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.).
|
||||
|
|
@ -498,14 +521,6 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
*heuristics*:
|
||||
|
||||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 9]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
* if at least one href custom property/extra is found in a 3D scene
|
||||
* The viewer should poll for the above mentioned sidecar-file
|
||||
extensions (and present accordingly)
|
||||
|
|
@ -535,6 +550,18 @@ Internet-Draft XR Fragments September 2025
|
|||
| NOTE: in the examples below we use the href-heuristic, but also
|
||||
| the .xrf. chained-extension applies here.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
van Kammen Expires 24 March 2026 [Page 10]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
myspreadsheet.ods
|
||||
└── explainer.glb <--- 'href' extra [heuristic] detected inside!
|
||||
├── explainer.ogg (soundtrack to play when global 3D animation starts)
|
||||
|
|
@ -554,14 +581,6 @@ myspreadsheet.ods
|
|||
| (https://www.lesbonscomptes.com/pxattr/index.html) for lowlevel
|
||||
| access.
|
||||
|
||||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 10]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
8.4. JSON sidecar-file
|
||||
|
||||
For developers, sidecar-file can allow for defining *explicit* XR
|
||||
|
|
@ -573,11 +592,10 @@ Internet-Draft XR Fragments September 2025
|
|||
* experience.json <----
|
||||
|
||||
{
|
||||
"/":
|
||||
"aria-description": "description of scene",
|
||||
},
|
||||
"aria-description": "description of scene",
|
||||
"button": {
|
||||
"href": "#roomB"
|
||||
"href": "#roomB",
|
||||
"aria-description": "description of room"
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -592,6 +610,14 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
| In THREE.js-code this would boil down to:
|
||||
|
||||
|
||||
|
||||
|
||||
van Kammen Expires 24 March 2026 [Page 11]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
scene.userData['aria-description'] = "description of scene"
|
||||
scene.getObjectByName("button").userData.href = "#roomB"
|
||||
|
||||
|
|
@ -608,16 +634,6 @@ Internet-Draft XR Fragments September 2025
|
|||
(publishing thru a game-editor e.g.), XR Fragments *integrates all*
|
||||
which allows a universal viewing experience.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 11]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
+───────────────────────────────────────────────────────────────────────────────────────────────+
|
||||
│ │
|
||||
│ U R N │
|
||||
|
|
@ -653,23 +669,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 12]
|
||||
van Kammen Expires 24 March 2026 [Page 12]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
|
@ -725,7 +725,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 13]
|
||||
van Kammen Expires 24 March 2026 [Page 13]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
|
@ -781,7 +781,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 14]
|
||||
van Kammen Expires 24 March 2026 [Page 14]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
|
@ -819,33 +819,29 @@ Internet-Draft XR Fragments September 2025
|
|||
contains a timeline)
|
||||
|
||||
| fragment | type | functionality | | <b>#t</b>=start,stop |
|
||||
[vector2] (default:`#t=0,0`) | start,stop (in seconds |
|
||||
[vector2] (default:`#t=0`) | start,stop (in seconds |
|
||||
|
||||
| Example Value | Explanation | | #t=1 | play (3D) animations from 1
|
||||
seconds till end (and stop) | | #t=1,100 | play (3D) animations from
|
||||
1 till 100 seconds (and stop) | | #t=0,0 | stop (3D) animations at
|
||||
frame 0 |
|
||||
|
||||
| Use [[#s 🌱]] to control playback speed
|
||||
1 till 100 seconds (and stop) |
|
||||
|
||||
11.2. Specify playback loopmode
|
||||
|
||||
This compensates a missing element from Media Fragments to enable/
|
||||
disable temporal looping. .
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 15]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
| fragment | type | functionality | | <b>#loop</b> | string | enables
|
||||
animation/video/audio loop | | <b>#-loop</b> | string | disables
|
||||
animation/video/audio loop |
|
||||
|
||||
|
||||
|
||||
|
||||
van Kammen Expires 24 March 2026 [Page 15]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
11.3. Controlling embedded content
|
||||
|
||||
use [[URI Templates]] to control embedded media, for example a simple
|
||||
|
|
@ -888,21 +884,20 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
[img[objecteleport.png]]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 16]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
Usecases: * show/hide objects/buttons (menu e.g.) in front of user *
|
||||
embed remote (object within) 3D file via remote URL * instance an
|
||||
interactive object near the user regardless of location * instance
|
||||
HUD or semi-transparent-textured-sphere (LUT) around the user
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
van Kammen Expires 24 March 2026 [Page 16]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
<div class="border padding" style="border:4px solid #888"> <span
|
||||
class="big hi1">#!menu</span> </div>
|
||||
|
||||
|
|
@ -944,21 +939,21 @@ Internet-Draft XR Fragments September 2025
|
|||
5. hide the *instanced object* when clicked again (toggle
|
||||
visibility)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 17]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
| *NOTE*: level2 teleportation links, as well as instancing
|
||||
| mitigates the 'broken embedded image'-issue of HTML: *always*
|
||||
| attaching the href-values to *a 3D (preview) object* (that way
|
||||
| broken links will not break the design).
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
van Kammen Expires 24 March 2026 [Page 17]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
*Example:* clicking a 3D button with title 'menu' and href (#href)-
|
||||
value xrf:menu.glb?instance#t=4,5 would instance a 3D menu (menu.glb)
|
||||
in front of the user, and loop its animation between from 4-5 seconds
|
||||
|
|
@ -1003,16 +998,18 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
* href: xrf://#|bar
|
||||
|
||||
| *NOTE*: sharing is limited to (internal objects) via xrf: scheme-
|
||||
| only
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 18]
|
||||
|
||||
|
||||
|
||||
van Kammen Expires 24 March 2026 [Page 18]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
| *NOTE*: sharing is limited to (internal objects) via xrf: scheme-
|
||||
| only
|
||||
|
||||
12.5. xrf:// URI scheme
|
||||
|
||||
Prefixing the xrf: to href (#href)-values *will prevent* level2
|
||||
|
|
@ -1057,18 +1054,18 @@ Internet-Draft XR Fragments September 2025
|
|||
0,0,0 as camera coordinate (XR: add user-height) (example (https:
|
||||
//github.com/coderofsalvation/xrfragment/blob/main/src/3rd/js/
|
||||
three/navigator.js#L31]]))
|
||||
3. IF a camera-object exists with name cam assume that user(camera)
|
||||
position
|
||||
|
||||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 19]
|
||||
|
||||
van Kammen Expires 24 March 2026 [Page 19]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
||||
3. IF a camera-object exists with name cam assume that user(camera)
|
||||
position
|
||||
|
||||
14.1. UX
|
||||
|
||||
End-users should always have read/write access to:
|
||||
|
|
@ -1117,7 +1114,10 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 20]
|
||||
|
||||
|
||||
|
||||
van Kammen Expires 24 March 2026 [Page 20]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
|
@ -1173,7 +1173,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 21]
|
||||
van Kammen Expires 24 March 2026 [Page 21]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
|
@ -1229,7 +1229,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 22]
|
||||
van Kammen Expires 24 March 2026 [Page 22]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
|
@ -1285,7 +1285,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 23]
|
||||
van Kammen Expires 24 March 2026 [Page 23]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
|
@ -1341,7 +1341,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 24]
|
||||
van Kammen Expires 24 March 2026 [Page 24]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
|
@ -1397,7 +1397,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 25]
|
||||
van Kammen Expires 24 March 2026 [Page 25]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
|
@ -1453,7 +1453,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 26]
|
||||
van Kammen Expires 24 March 2026 [Page 26]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
|
@ -1509,7 +1509,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 27]
|
||||
van Kammen Expires 24 March 2026 [Page 27]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
|
@ -1565,7 +1565,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 28]
|
||||
van Kammen Expires 24 March 2026 [Page 28]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
|
@ -1621,7 +1621,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 29]
|
||||
van Kammen Expires 24 March 2026 [Page 29]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
|
@ -1677,7 +1677,7 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 30]
|
||||
van Kammen Expires 24 March 2026 [Page 30]
|
||||
|
||||
Internet-Draft XR Fragments September 2025
|
||||
|
||||
|
|
@ -1733,4 +1733,4 @@ Internet-Draft XR Fragments September 2025
|
|||
|
||||
|
||||
|
||||
van Kammen Expires 23 March 2026 [Page 31]
|
||||
van Kammen Expires 24 March 2026 [Page 31]
|
||||
|
|
|
|||
|
|
@ -307,7 +307,14 @@ For example, to render a portal with a preview-version of the scene, create an 3
|
|||
</blockquote></section>
|
||||
|
||||
<section anchor="level0-files"><name>Level0: Files</name>
|
||||
<iref item="Level0: Files"/><iref item="Level0: Files"/><t>These are <strong>optional</strong> auto-loaded <eref target="">side-car files</eref> to enable hasslefree <eref target="#XR%20Movies">XR Movies</eref>.<br />
|
||||
<iref item="Level0: Files"/><iref item="Level0: Files"/><t>Compatible 3D fileformats: <eref target="https://www.khronos.org/gltf/">glTF</eref>, <eref target="https://openusd.org/release/spec_usdz.html">usdz</eref>, <eref target="https://en.wikipedia.org/wiki/Wavefront_.obj_file">obj</eref>, <eref target="https://www.khronos.org/collada">collada</eref>, <eref target="https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4">THREE.json</eref>, <eref target="https://en.wikipedia.org/wiki/X3D">X3D</eref> e.g.
|
||||
<br />
|
||||
</t>
|
||||
<t>A 3D scene-file can be considered <b>XR Fragment-compatible</b> when it contains metadata:
|
||||
1. implicit: there's at least one object with a name (*)
|
||||
2. explicit: (optional) object(s) have (level2) href extras.</t>
|
||||
<blockquote><t>* = last wins in case of non-unique names</t>
|
||||
</blockquote><t>There are <strong>optional</strong> auto-loaded <eref target="">side-car files</eref> to enable hasslefree <eref target="#XR%20Movies">XR Movies</eref>.<br />
|
||||
|
||||
they can accomodate developers or applications who (for whatever reason) must not modify the 3D scene-file (a <tt>.glb</tt> e.g.).</t>
|
||||
|
||||
|
|
@ -379,11 +386,10 @@ This can be done via (objectname/metadata) key/value-pairs in a JSON <eref targe
|
|||
</ul>
|
||||
|
||||
<sourcecode type="json"><![CDATA[{
|
||||
"/":
|
||||
"aria-description": "description of scene",
|
||||
},
|
||||
"aria-description": "description of scene",
|
||||
"button": {
|
||||
"href": "#roomB"
|
||||
"href": "#roomB",
|
||||
"aria-description": "description of room"
|
||||
}
|
||||
}
|
||||
]]>
|
||||
|
|
@ -561,13 +567,11 @@ XR Fragments Level3 makes the 3D timeline, as well as URL-referenced files <stro
|
|||
<section anchor="animation-s-timeline"><name>Animation(s) timeline</name>
|
||||
<t>controls the animation(s) of the scene (or <tt>src</tt> resource which contains a timeline)</t>
|
||||
<t>| fragment | type | functionality |
|
||||
| <b>#t</b>=start,stop | <eref target="default:`#t=0,0`">[vector2]</eref> | start,stop (in seconds |</t>
|
||||
| <b>#t</b>=start,stop | <eref target="default:`#t=0`">[vector2]</eref> | start,stop (in seconds |</t>
|
||||
<t>| Example Value | Explanation |
|
||||
| <tt>#t=1</tt> | play (3D) animations from 1 seconds till end (and stop) |
|
||||
| <tt>#t=1,100</tt> | play (3D) animations from 1 till 100 seconds (and stop) |
|
||||
| <tt>#t=0,0</tt> | stop (3D) animations at frame 0 |</t>
|
||||
<blockquote><t>Use [[#s 🌱]] to control playback speed</t>
|
||||
</blockquote></section>
|
||||
| <tt>#t=1,100</tt> | play (3D) animations from 1 till 100 seconds (and stop) |</t>
|
||||
</section>
|
||||
|
||||
<section anchor="specify-playback-loopmode"><name>Specify playback loopmode</name>
|
||||
<t>This compensates a missing element from Media Fragments to enable/disable temporal looping. .</t>
|
||||
|
|
|
|||
27
index.html
27
index.html
File diff suppressed because one or more lines are too long
Loading…
Add table
Reference in a new issue