diff --git a/doc/RFC_XR_Fragments.html b/doc/RFC_XR_Fragments.html index cd172b2..89b3f82 100644 --- a/doc/RFC_XR_Fragments.html +++ b/doc/RFC_XR_Fragments.html @@ -208,8 +208,8 @@ Instead of forcing authors to combine 3D/2D objects programmatically (publishing #pos vector3 -#pos=0.5,0,0 -positions camera (or XR floor) to xyz-coord 0.5,0,0, +#pos=0.5,0,0 #pos=room pos=cam2 +positions camera (or XR floor) to xyz-coord/object/camera @@ -225,13 +225,6 @@ Instead of forcing authors to combine 3D/2D objects programmatically (publishing #t=0,2&loop play (and loop) 3D animation from 0 seconds till 2 seconds - - - - - -but can also crop, animate & configure uv-coordinates/shader uniforms - @@ -512,9 +505,9 @@ For example, to render a portal with a preview-version of the scene, create an 3

It also allows sourceportation, which basically means the enduser can teleport to the original XR Document of an src embedded object, and see a visible connection to the particular embedded object. Basically an embedded link becoming an outbound link by activating it.

-

Fragment-to-metadata mapping

+

Level2: Implicit URI Fragments

-

These are automatic fragment-to-metadata mappings, which only trigger if the 3D scene metadata matches a specific identifier:

+

These fragments are derived from objectnames (or their extras) within a 3D scene, and trigger certain actions when evaluated by the browser:

@@ -533,7 +526,7 @@ For example, to render a portal with a preview-version of the scene, create an 3 - + @@ -552,14 +545,6 @@ For example, to render a portal with a preview-version of the scene, create an 3 - - - - - - - - diff --git a/doc/RFC_XR_Fragments.md b/doc/RFC_XR_Fragments.md index 464eae2..0129a5e 100644 --- a/doc/RFC_XR_Fragments.md +++ b/doc/RFC_XR_Fragments.md @@ -201,10 +201,9 @@ XR Fragments utilizes URLs: | fragment | type | example | info | |-------------------|------------|--------------------|----------------------------------------------------------------------| -| `#pos` | vector3 | `#pos=0.5,0,0` | positions camera (or XR floor) to xyz-coord 0.5,0,0, | +| `#pos` | vector3 | `#pos=0.5,0,0` `#pos=room` `pos=cam2` | positions camera (or XR floor) to xyz-coord/object/camera | | `#rot` | vector3 | `#rot=0,90,0` | rotates camera to xyz-coord 0.5,0,0 | | [Media Fragments](https://www.w3.org/TR/media-frags/) | [media fragment](#media%20fragments%20and%20datatypes) | `#t=0,2&loop` | play (and loop) 3D animation from 0 seconds till 2 seconds| -| | | | but can also crop, animate & configure uv-coordinates/shader uniforms | # List of **explicit* metadata @@ -352,16 +351,15 @@ For example, to render a portal with a preview-version of the scene, create an 3 > It also allows **sourceportation**, which basically means the enduser can teleport to the original XR Document of an `src` embedded object, and see a visible connection to the particular embedded object. Basically an embedded link becoming an outbound link by activating it. -## Fragment-to-metadata mapping +## Level2: Implicit URI Fragments -These are automatic fragment-to-metadata mappings, which only trigger if the 3D scene metadata matches a specific identifier: +These fragments are derived from objectnames (or their extras) within a 3D scene, and trigger certain actions when evaluated by the browser: | |fragment | type | example | info | |------|------------------|----------|-------------------|-------------------------------------------------------------------------------| -| **PRESET** | `#` | string | `#cubes` | evaluates preset (`#foo&bar`) defined in 3D Object metadata (`#cubes: #foo&bar` e.g.) while URL-browserbar reflects `#cubes`. Only works when metadata-key starts with `#` | +| **PRESET** | `#` | string | `#cubes` | evaluates preset (`#foo&bar`) when a scene contains extra (`#cubes: #foo&bar` e.g.) while URL-browserbar reflects `#cubes`. Only works when metadata-key starts with `#` | | **FOCUS** | `#` | string | `#person` | (and show) object(s) with `tag: person` or name `person` (XRWG lookup) | | **FILTERS** | `#[!][-][*]` | string | `#person` (`#-person`) | will reset (`!`), show/focus or hide (`-`) focus object(s) with `tag: person` or name `person` by looking up XRWG (`*`=including children) | -| **CAMERASWITCH** | `#` | string | `#cam01` | sets camera with name `cam01` as active camera | | **MATERIALUPDATE** | `#[*]=` | string=string | `#car=metallic`| sets material of car to material with name `metallic` (`*`=including children)| | | | | `#soldout*=halfopacity`| set material of objects tagged with `product` to material with name `metallic` | | **VARIABLE UPDATE** | `#=` | string=string | `#foo=bar` | sets [URI Template](https://www.rfc-editor.org/rfc/rfc6570) variable `foo` to the value `#t=0` from **existing** object metadata (`bar`:`#t=0` e.g.), This allows for reactive [URI Template](https://www.rfc-editor.org/rfc/rfc6570) defined in object metadata elsewhere (`src`:`://m.com/cat.mp4#{foo}` e.g., to play media using [media fragment URI](https://www.w3.org/TR/media-frags/#valid-uri)). NOTE: metadata-key should not start with `#` | @@ -430,20 +428,24 @@ Example URI's: | fragment | type | functionality | |----------|--------|------------------------------| -| #pos=0,0,0 | vector3 or string| (re)position camera based on coordinates directly, or indirectly using objectname (its worldposition) | +| #pos=0,0,0 | vector3 |position camera to 0,0,0 (+userheight in VR) | +| #pos=room | string | position camera to position of objectname `room` (+userheight in VR) | +| #pos=cam02 | string | set camera with name `cam02` as active cam (follow animation e.g.) | | #rot=0,90,0 | vector3 | rotate camera | [» example implementation](https://github.com/coderofsalvation/xrfragment/blob/main/src/3rd/js/three/xrf/pos.js)
[» discussion](https://github.com/coderofsalvation/xrfragment/issues/5)
-1. the Y-coordinate of `pos` identifies the floorposition. This means that desktop-projections usually need to add 1.5m (average person height) on top (which is done automatically by VR/AR headsets). +Here's the basic **level1** flow (with optional level2 features): + +1. the Y-coordinate of `pos` identifies the floorposition. This means that desktop-projections usually need to add 1.5m (average person height) on top (which is done automatically by VR/AR headsets), except in case of camera-switching. 2. set the position of the camera accordingly to the vector3 values of `#pos` -3. `rot` sets the rotation of the camera (only for non-VR/AR headsets) -4. mediafragment `t` in the top-URL sets the playbackspeed and animation-range of the global scene animation +3. `rot` sets the rotation of the camera (only for non-VR/AR headsets, however a camera-value overrules this) +4. **level2**: mediafragment `t` in the top-URL sets the playbackspeed and animation-range of the global scene animation 5. before scene load: the scene is cleared -6. after scene load: in case the scene (rootnode) contains an `#` default view with a fragment value: execute non-positional fragments via the hashbus (no top-level URL change) -7. after scene load: in case the scene (rootnode) contains an `#` default view with a fragment value: execute positional fragment via the hashbus + update top-level URL -8. in case of no default `#` view on the scene (rootnode), default player(rig) position `0,0,0` is assumed. +6. **level2**: after scene load: in case the scene (rootnode) contains an `#` default view with a fragment value: execute non-positional fragments via the hashbus (no top-level URL change) +7. **level2**: after scene load: in case the scene (rootnode) contains an `#` default view with a fragment value: execute positional fragment via the hashbus + update top-level URL +8. **level2**: in case of no default `#` view on the scene (rootnode), default player(rig) position `0,0,0` is assumed. 9. in case a `href` does not mention any `pos`-coordinate, the current position will be assumed Here's an ascii representation of a 3D scene-graph which contains 3D objects `◻` and their metadata: diff --git a/doc/RFC_XR_Fragments.txt b/doc/RFC_XR_Fragments.txt index a04e962..9eac6dd 100644 --- a/doc/RFC_XR_Fragments.txt +++ b/doc/RFC_XR_Fragments.txt @@ -3,7 +3,7 @@ Jens & Leon Internet Engineering Task Force L.R. van Kammen -Internet-Draft 27 September 2024 +Internet-Draft 7 October 2024 Intended status: Informational @@ -53,9 +53,9 @@ Status of This Memo -van Kammen Expires 31 March 2025 [Page 1] +van Kammen Expires 10 April 2025 [Page 1] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 Internet-Drafts are draft documents valid for a maximum of six months @@ -63,7 +63,7 @@ Internet-Draft XR Fragments September 2024 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 31 March 2025. + This Internet-Draft will expire on 10 April 2025. Copyright Notice @@ -91,7 +91,7 @@ Table of Contents 7. Conventions and Definitions . . . . . . . . . . . . . . . . . 10 7.1. XR Fragment URL Grammar . . . . . . . . . . . . . . . . . 10 8. Spatial Referencing 3D . . . . . . . . . . . . . . . . . . . 10 - 8.1. Fragment-to-metadata mapping . . . . . . . . . . . . . . 11 + 8.1. Level2: Implicit URI Fragments . . . . . . . . . . . . . 11 8.2. media fragments and datatypes . . . . . . . . . . . . . . 13 9. Navigating 3D . . . . . . . . . . . . . . . . . . . . . . . . 16 10. Top-level URL processing . . . . . . . . . . . . . . . . . . 17 @@ -109,9 +109,9 @@ Table of Contents -van Kammen Expires 31 March 2025 [Page 2] +van Kammen Expires 10 April 2025 [Page 2] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 17.2. Filter Parser . . . . . . . . . . . . . . . . . . . . . 25 @@ -165,9 +165,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 3] +van Kammen Expires 10 April 2025 [Page 3] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 5. the gap between text an 3d objects: object-names directly map to @@ -221,9 +221,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 4] +van Kammen Expires 10 April 2025 [Page 4] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 +───────────────────────────────────────────────────────────────────────────────────────────────+ @@ -277,43 +277,35 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 5] +van Kammen Expires 10 April 2025 [Page 5] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 4. List of URI Fragments - +=======================+======================================+============+============+ - |fragment |type |example |info | - +=======================+======================================+============+============+ - |#pos |vector3 |#pos=0.5,0,0|positions | - | | | |camera (or | - | | | |XR floor) to| - | | | |xyz-coord | - | | | |0.5,0,0, | - +-----------------------+--------------------------------------+------------+------------+ - |#rot |vector3 |#rot=0,90,0 |rotates | - | | | |camera to | - | | | |xyz-coord | - | | | |0.5,0,0 | - +-----------------------+--------------------------------------+------------+------------+ - |Media Fragments |media fragment |#t=0,2&loop |play (and | - |(https://www.w3.org/TR/|(#media%20fragments%20and%20datatypes)| |loop) 3D | - |media-frags/) | | |animation | - | | | |from 0 | - | | | |seconds till| - | | | |2 seconds | - +-----------------------+--------------------------------------+------------+------------+ - | | | |but can also| - | | | |crop, | - | | | |animate & | - | | | |configure | - | | | |uv- | - | | | |coordinates/| - | | | |shader | - | | | |uniforms | - +-----------------------+--------------------------------------+------------+------------+ + +=======================+======================================+============+=============+ + |fragment |type |example |info | + +=======================+======================================+============+=============+ + |#pos |vector3 |#pos=0.5,0,0|positions | + | | |#pos=room |camera (or XR| + | | |pos=cam2 |floor) to | + | | | |xyz- | + | | | |coord/object/| + | | | |camera | + +-----------------------+--------------------------------------+------------+-------------+ + |#rot |vector3 |#rot=0,90,0 |rotates | + | | | |camera to | + | | | |xyz-coord | + | | | |0.5,0,0 | + +-----------------------+--------------------------------------+------------+-------------+ + |Media Fragments |media fragment |#t=0,2&loop |play (and | + |(https://www.w3.org/TR/|(#media%20fragments%20and%20datatypes)| |loop) 3D | + |media-frags/) | | |animation | + | | | |from 0 | + | | | |seconds till | + | | | |2 seconds | + +-----------------------+--------------------------------------+------------+-------------+ Table 1 @@ -333,9 +325,17 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 6] + + + + + + + + +van Kammen Expires 10 April 2025 [Page 6] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 +======+========+============+===================+================+ @@ -389,9 +389,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 7] +van Kammen Expires 10 April 2025 [Page 7] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 { @@ -445,9 +445,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 8] +van Kammen Expires 10 April 2025 [Page 8] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 * collapsing the 3D scene to an wordgraph (for essential navigation @@ -501,9 +501,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 9] +van Kammen Expires 10 April 2025 [Page 9] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 | An important aspect of HFL is that URI Fragments can be triggered @@ -557,9 +557,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 10] +van Kammen Expires 10 April 2025 [Page 10] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 my.io/scene.fbx @@ -594,30 +594,31 @@ Internet-Draft XR Fragments September 2024 | embedded object. Basically an embedded link becoming an outbound | link by activating it. -8.1. Fragment-to-metadata mapping +8.1. Level2: Implicit URI Fragments - These are automatic fragment-to-metadata mappings, which only trigger - if the 3D scene metadata matches a specific identifier: + These fragments are derived from objectnames (or their extras) within + a 3D scene, and trigger certain actions when evaluated by the + browser: +================+======================================+=============+=====================+=======================+ | |fragment |type |example |info | +================+======================================+=============+=====================+=======================+ |*PRESET* |# |string |#cubes |evaluates preset | - | | | | |(#foo&bar) defined in | - | | | | |3D Object metadata | - | | | | |(#cubes: #foo&bar e.g.)| - | | | | |while URL-browserbar | - | | | | |reflects #cubes. Only | - | | | | |works when metadata-key| - | | | | |starts with # | + | | | | |(#foo&bar) when a scene| + | | | | |contains extra (#cubes:| + | | | | |#foo&bar e.g.) while | + | | | | |URL-browserbar reflects| + | | | | |#cubes. Only works | + | | | | |when metadata-key | -van Kammen Expires 31 March 2025 [Page 11] +van Kammen Expires 10 April 2025 [Page 11] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 + | | | | |starts with # | +----------------+--------------------------------------+-------------+---------------------+-----------------------+ |*FOCUS* |# |string |#person |(and show) object(s) | | | | | |with tag: person or | @@ -631,9 +632,6 @@ Internet-Draft XR Fragments September 2024 | | | | |by looking up XRWG | | | | | |(*=including children) | +----------------+--------------------------------------+-------------+---------------------+-----------------------+ - |*CAMERASWITCH* |# |string |#cam01 |sets camera with name | - | | | | |cam01 as active camera | - +----------------+--------------------------------------+-------------+---------------------+-----------------------+ |*MATERIALUPDATE*|#[*]=|string=string|#car=metallic |sets material of car to| | | | | |material with name | | | | | |metallic (*=including | @@ -666,16 +664,16 @@ Internet-Draft XR Fragments September 2024 | | | | |uri)). NOTE: metadata-| | | | | |key should not start | | | | | |with # | - - - -van Kammen Expires 31 March 2025 [Page 12] - -Internet-Draft XR Fragments September 2024 - - +----------------+--------------------------------------+-------------+---------------------+-----------------------+ |*ANIMATION* |#= |string=string|#people=walk |assign a different | + + + +van Kammen Expires 10 April 2025 [Page 12] + +Internet-Draft XR Fragments October 2024 + + | | | |#people=noanim |animation to object(s) | +----------------+--------------------------------------+-------------+---------------------+-----------------------+ @@ -722,16 +720,16 @@ Internet-Draft XR Fragments September 2024 | | | | (does not | | | | | affect | | | | | playbackstate | - - - -van Kammen Expires 31 March 2025 [Page 13] - -Internet-Draft XR Fragments September 2024 - - | | | | of media) | +-----------+----------------------+---------------+----------------+ + + + +van Kammen Expires 10 April 2025 [Page 13] + +Internet-Draft XR Fragments October 2024 + + | vector2 | uv=u,v,uspeed,vspeed | 0,0 | set uv offset | | | | | instantly | | | | | (default | @@ -773,19 +771,6 @@ Internet-Draft XR Fragments September 2024 Table 6 - - - - - - - - -van Kammen Expires 31 March 2025 [Page 14] - -Internet-Draft XR Fragments September 2024 - - | * = this is extending the W3C media fragments | (https://www.w3.org/TR/media-frags/#mf-advanced) with (missing) | playback/viewport-control. Normally #t=0,2 implies setting start/ @@ -793,6 +778,14 @@ Internet-Draft XR Fragments September 2024 | pausing a video, speeding up/slowing down media, as well as | enabling/disabling looping. | + + + +van Kammen Expires 10 April 2025 [Page 14] + +Internet-Draft XR Fragments October 2024 + + | The rationale for uv is that the xywh Media Fragment deals with | rectangular media, which does not translate well to 3D models | (which use triangular polygons, not rectangular) positioned by uv- @@ -837,9 +830,16 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 15] + + + + + + + +van Kammen Expires 10 April 2025 [Page 15] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 9. Navigating 3D @@ -893,9 +893,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 16] +van Kammen Expires 10 April 2025 [Page 16] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 +────────────────────────────────────────────────────────+ @@ -949,9 +949,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 17] +van Kammen Expires 10 April 2025 [Page 17] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 +========+========+===================================================+ @@ -1005,9 +1005,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 18] +van Kammen Expires 10 April 2025 [Page 18] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 | Instead of cherrypicking a rootobject #fishbowl with src, @@ -1061,9 +1061,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 19] +van Kammen Expires 10 April 2025 [Page 19] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 * image/jpg @@ -1117,9 +1117,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 20] +van Kammen Expires 10 April 2025 [Page 20] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 6. make sure that the ''back-button'' of the ''browser-history'' @@ -1173,9 +1173,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 21] +van Kammen Expires 10 April 2025 [Page 21] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 12.3. Scaling instanced content @@ -1229,9 +1229,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 22] +van Kammen Expires 10 April 2025 [Page 22] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 15. XR Fragment: t @@ -1285,9 +1285,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 23] +van Kammen Expires 10 April 2025 [Page 23] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 It's simple but powerful syntax which allows filtering the scene @@ -1341,9 +1341,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 24] +van Kammen Expires 10 April 2025 [Page 24] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 (https://github.com/coderofsalvation/xrfragment/blob/main/example/ @@ -1397,9 +1397,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 25] +van Kammen Expires 10 April 2025 [Page 25] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 *UX* @@ -1453,9 +1453,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 26] +van Kammen Expires 10 April 2025 [Page 26] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 http://y.io/z.fbx | Derived XRWG (expressed as JSON) @@ -1509,9 +1509,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 27] +van Kammen Expires 10 April 2025 [Page 27] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 * wordmatch *inside* src text @@ -1565,9 +1565,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 28] +van Kammen Expires 10 April 2025 [Page 28] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 * out-of-the-box (de)multiplex human text and metadata in one go @@ -1621,9 +1621,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 29] +van Kammen Expires 10 April 2025 [Page 29] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 20. Importing/exporting @@ -1677,9 +1677,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 30] +van Kammen Expires 10 April 2025 [Page 30] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 For example: @@ -1733,9 +1733,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 31] +van Kammen Expires 10 April 2025 [Page 31] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 24. URI Templates (RFC6570) @@ -1789,9 +1789,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 32] +van Kammen Expires 10 April 2025 [Page 32] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 | Example: object 'tryceratops' with aria-description: is a huge @@ -1845,9 +1845,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 33] +van Kammen Expires 10 April 2025 [Page 33] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 1. The enduser must be able to enable an accessibility-mode (which @@ -1901,9 +1901,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 34] +van Kammen Expires 10 April 2025 [Page 34] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 26.2. Overlap with fileformat-specific extensions @@ -1957,9 +1957,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 35] +van Kammen Expires 10 April 2025 [Page 35] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 +===========+===================+==============================+ @@ -2013,9 +2013,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 36] +van Kammen Expires 10 April 2025 [Page 36] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 +────────────────────────────────────────────────────────────────────────────────────────────────────────+ @@ -2069,9 +2069,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 37] +van Kammen Expires 10 April 2025 [Page 37] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 27. Security Considerations @@ -2125,9 +2125,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 38] +van Kammen Expires 10 April 2025 [Page 38] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 30. IANA Considerations @@ -2181,9 +2181,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 39] +van Kammen Expires 10 April 2025 [Page 39] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 | XR fragment | URI Fragment with spatial hints like | @@ -2237,9 +2237,9 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 40] +van Kammen Expires 10 April 2025 [Page 40] -Internet-Draft XR Fragments September 2024 +Internet-Draft XR Fragments October 2024 | ◻ | ascii representation of an 3D object/mesh | @@ -2293,4 +2293,4 @@ Internet-Draft XR Fragments September 2024 -van Kammen Expires 31 March 2025 [Page 41] +van Kammen Expires 10 April 2025 [Page 41] diff --git a/doc/RFC_XR_Fragments.xml b/doc/RFC_XR_Fragments.xml index b0d3885..f15dff8 100644 --- a/doc/RFC_XR_Fragments.xml +++ b/doc/RFC_XR_Fragments.xml @@ -135,8 +135,8 @@ But approaches things from a higherlevel feedbackloop/hypermedia browser-perspec
- - + + @@ -152,13 +152,6 @@ But approaches things from a higherlevel feedbackloop/hypermedia browser-perspec - - - - - - -
#<preset> string #cubesevaluates preset (#foo&bar) defined in 3D Object metadata (#cubes: #foo&bar e.g.) while URL-browserbar reflects #cubes. Only works when metadata-key starts with #evaluates preset (#foo&bar) when a scene contains extra (#cubes: #foo&bar e.g.) while URL-browserbar reflects #cubes. Only works when metadata-key starts with #
will reset (!), show/focus or hide (-) focus object(s) with tag: person or name person by looking up XRWG (*=including children)
CAMERASWITCH#<cameraname>string#cam01sets camera with name cam01 as active camera
MATERIALUPDATE #<tag_or_objectname>[*]=<materialname>
#pos vector3#pos=0.5,0,0positions camera (or XR floor) to xyz-coord 0.5,0,0,#pos=0.5,0,0 #pos=room pos=cam2positions camera (or XR floor) to xyz-coord/object/camera
#t=0,2&loop play (and loop) 3D animation from 0 seconds till 2 seconds
but can also crop, animate & configure uv-coordinates/shader uniforms
@@ -406,8 +399,8 @@ For example, to render a portal with a preview-version of the scene, create an 3
It also allows sourceportation, which basically means the enduser can teleport to the original XR Document of an src embedded object, and see a visible connection to the particular embedded object. Basically an embedded link becoming an outbound link by activating it.
-
Fragment-to-metadata mapping -These are automatic fragment-to-metadata mappings, which only trigger if the 3D scene metadata matches a specific identifier: +
Level2: Implicit URI Fragments +These fragments are derived from objectnames (or their extras) within a 3D scene, and trigger certain actions when evaluated by the browser: @@ -425,7 +418,7 @@ For example, to render a portal with a preview-version of the scene, create an 3 - + @@ -444,14 +437,6 @@ For example, to render a portal with a preview-version of the scene, create an 3 - - - - - - - - diff --git a/index.html b/index.html index afbb8da..6f2ad8c 100644 --- a/index.html +++ b/index.html @@ -484,6 +484,8 @@ button.sidebar-toggle{
  • #
  • +
  • #<objectname>
  • +
  • #loop 🌱
  • #pos
  • @@ -506,17 +508,19 @@ button.sidebar-toggle{
  • 🎞 Media Fragments
  • +
  • 📜 level1: URL
  • + +
  • 📜 level2: metadata extras
  • +
  • 📜 XR fragments
  • -
  • 📜 XR Fragments
  • - -
  • 📡 by feature (heuristics)
  • +
  • 📡 implicit scene features
  • 🔗 URL
  • 🔨 XR Fragments parser
  • -
  • 🖇 auto-generated fragments
  • +
  • 🖇 implicit URI fragments
  • 🖥 Blender ✅🔥
  • @@ -696,16 +700,26 @@ button.sidebar-toggle{
  • $:/state/toc/🧰 Libaries & Tools-The parser-2107579733
  • +
  • $:/state/toc/🧰 Libraries & Tools-🔨 XR Fragments parser-892672655
  • +
  • $:/state/toc/Examples-AFRAME-698730194
  • $:/state/toc/Examples-THREE-698730194
  • +
  • $:/state/toc/Reference-📜 level 1 spec--403145756
  • + +
  • $:/state/toc/Reference-📜 level 1 spec: URL--403145756
  • + +
  • $:/state/toc/Reference-📜 level1: URL--403145756
  • +
  • $:/state/toc/Reference-📜 XR Fragments--403145756
  • $:/state/toc/Reference-📡 by feature (heuristics)--403145756
  • $:/state/toc/Reference-📡 feature heuristics--403145756
  • +
  • $:/state/toc/Reference-📡 implicit scene features--403145756
  • +
  • $:/state/toc/Reference-🧰 libraries--403145756
  • $:/state/toc/Reference-js/AFRAME--403145756
  • @@ -716,6 +730,14 @@ button.sidebar-toggle{
  • $:/state/toc/Reference-The parser--403145756
  • +
  • $:/state/toc/Reference/📜 level 1 spec-🔗 URL--403145756
  • + +
  • $:/state/toc/Reference/📜 level 1 spec-metadata extras--403145756
  • + +
  • $:/state/toc/Reference/📜 level1: URL-🔗 URL--403145756
  • + +
  • $:/state/toc/Reference/📜 level1: URL/🔗 URL-🖇 implicit URI fragments--403145756
  • +
  • $:/state/toc/Reference/📜 XR Fragments-🎞 Media Fragments--403145756
  • $:/state/toc/Reference/📜 XR Fragments-🎞 W3C media fragments--403145756
  • @@ -734,6 +756,10 @@ button.sidebar-toggle{
  • $:/state/toc/Reference/📜 XR Fragments-metadata extras--403145756
  • +
  • $:/state/toc/Reference/📜 XR Fragments/🔗 URL-🖇 implicit URI fragments--403145756
  • + +
  • $:/state/toc/Reference/📜 XR Fragments/🔗 URL/🖇 implicit URI fragments-🎞 Media Fragments--403145756
  • +
  • $:/state/toc/Reference/🧰 libraries-XR Fragment parser--403145756
  • $:/state/toc/Reference/js/AFRAME-THREE.js--403145756
  • @@ -848,8 +874,6 @@ button.sidebar-toggle{
  • interlinked.png
  • -
  • metadata extras
  • -
  • mov
  • multiparty networking
  • @@ -977,25 +1001,27 @@ button.sidebar-toggle{
    #<preset> string #cubesevaluates preset (#foo&bar) defined in 3D Object metadata (#cubes: #foo&bar e.g.) while URL-browserbar reflects #cubes. Only works when metadata-key starts with #evaluates preset (#foo&bar) when a scene contains extra (#cubes: #foo&bar e.g.) while URL-browserbar reflects #cubes. Only works when metadata-key starts with #
    will reset (!), show/focus or hide (-) focus object(s) with tag: person or name person by looking up XRWG (*=including children)
    CAMERASWITCH#<cameraname>string#cam01sets camera with name cam01 as active camera
    MATERIALUPDATE #<tag_or_objectname>[*]=<materialname>