update documentation

This commit is contained in:
Leon van Kammen 2023-09-06 15:43:29 +02:00
parent c50c9adbcf
commit efd75b7a54
4 changed files with 191 additions and 110 deletions

View file

@ -82,7 +82,7 @@ value: draft-XRFRAGMENTS-leonvankammen-00
<p>This draft offers a specification for 4D URLs &amp; navigation, to link 3D scenes and text together with- or without a network-connection.<br> <p>This draft offers a specification for 4D URLs &amp; navigation, to link 3D scenes and text together with- or without a network-connection.<br>
The specification promotes spatial addressibility, sharing, navigation, query-ing and tagging interactive (text)objects across for (XR) Browsers.<br> The specification promotes spatial addressibility, sharing, navigation, query-ing and tagging interactive (text)objects across for (XR) Browsers.<br>
XR Fragments allows us to enrich existing dataformats, by recursive use of existing proven technologies like <a href="https://en.wikipedia.org/wiki/URI_fragment">URI Fragments</a> and BibTeX notation.<br></p> XR Fragments allows us to enrich existing dataformats, by recursive use of existing proven technologies like <a href="https://en.wikipedia.org/wiki/URI_fragment">URI Fragments</a> and BibTags notation.<br></p>
<blockquote> <blockquote>
<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>
@ -97,7 +97,7 @@ XR Fragments allows us to enrich/connect existing dataformats, by recursive use
<ol> <ol>
<li>addressibility and navigation of 3D scenes/objects: <a href="https://en.wikipedia.org/wiki/URI_fragment">URI Fragments</a> + src/href spatial metadata</li> <li>addressibility and navigation of 3D scenes/objects: <a href="https://en.wikipedia.org/wiki/URI_fragment">URI Fragments</a> + src/href spatial metadata</li>
<li>hasslefree tagging across text and spatial objects using <a href="https://en.wikipedia.org/wiki/BibTeX">BibTeX</a> &lsquo;tags&rsquo; as appendix (see <a href="https://visual-meta.info">visual-meta</a> e.g.)</li> <li>hasslefree tagging across text and spatial objects using <a href="https://en.wikipedia.org/wiki/BibTeX">BibTags</a> as appendix (see <a href="https://visual-meta.info">visual-meta</a> e.g.)</li>
</ol> </ol>
<blockquote> <blockquote>
@ -204,6 +204,16 @@ This also means that the repair-ability of machine-matters should be human frien
<td>(un)obtrusive</td> <td>(un)obtrusive</td>
<td>obtrusive: wrapping human text/thought in XML/HTML/JSON obfuscates human text into a salad of machine-symbols and words</td> <td>obtrusive: wrapping human text/thought in XML/HTML/JSON obfuscates human text into a salad of machine-symbols and words</td>
</tr> </tr>
<tr>
<td>BibTeX</td>
<td>simple tagging/citing/referencing standard for plaintext</td>
</tr>
<tr>
<td>BibTag</td>
<td>a BibTeX tag</td>
</tr>
</tbody> </tbody>
</table> </table>
@ -367,23 +377,24 @@ Ideally metadata must come <strong>later with</strong> text, but not <strong>obf
<ol> <ol>
<li>XR Fragments allows <b id="tagging-text">hasslefree XR text tagging</b>, using BibTeX metadata <strong>at the end of content</strong> (like <a href="https://visual.meta.info">visual-meta</a>).</li> <li>XR Fragments allows <b id="tagging-text">hasslefree XR text tagging</b>, using BibTeX metadata <strong>at the end of content</strong> (like <a href="https://visual.meta.info">visual-meta</a>).</li>
<li>XR Fragments allows hasslefree <a href="#textual-tag">textual tagging</a>, <a href="#spatial-tag">spatial tagging</a>, and <a href="#supra-tagging">supra tagging</a>, by mapping 3D/text object (class)names using BibTeX &lsquo;tags&rsquo;</li> <li>XR Fragments allows hasslefree <a href="#textual-tag">textual tagging</a>, <a href="#spatial-tag">spatial tagging</a>, and <a href="#supra-tagging">supra tagging</a>, by mapping 3D/text object (class)names using BibTeX &lsquo;tags&rsquo;</li>
<li>inline BibTeX &lsquo;tags&rsquo; are the minimum required <strong>requestless metadata</strong>-layer for XR text, RDF/JSON is great (but fits better in the application-layer)</li> <li>Bibs/BibTeX-appendices is first-choice <strong>requestless metadata</strong>-layer for XR text, HTML/RDF/JSON is great (but fits better in the application-layer)</li>
<li>Default font (unless specified otherwise) is a modern monospace font, for maximized tabular expressiveness (see <a href="#core-principle">the core principle</a>).</li> <li>Default font (unless specified otherwise) is a modern monospace font, for maximized tabular expressiveness (see <a href="#core-principle">the core principle</a>).</li>
<li>anti-pattern: hardcoupling a mandatory <strong>obtrusive markuplanguage</strong> or framework with an XR browsers (HTML/VRML/Javascript) (see <a href="#core-principle">the core principle</a>)</li> <li>anti-pattern: hardcoupling a mandatory <strong>obtrusive markuplanguage</strong> or framework with an XR browsers (HTML/VRML/Javascript) (see <a href="#core-principle">the core principle</a>)</li>
<li>anti-pattern: limiting human introspection, by immediately funneling human thought into typesafe, precise, pre-categorized metadata like RDF (see <a href="#core-principle">the core principle</a>)</li> <li>anti-pattern: limiting human introspection, by immediately funneling human thought into typesafe, precise, pre-categorized metadata like RDF (see <a href="#core-principle">the core principle</a>)</li>
</ol> </ol>
<p>This allows recursive connections between text itself, as well as 3D objects and vice versa, using <strong>BibTeX-tags</strong> :</p> <p>This allows recursive connections between text itself, as well as 3D objects and vice versa, using <strong>BibTags</strong> :</p>
<pre><code> +--------------------------------------------------+ <pre><code> +---------------------------------------------+ +------------------+
| My Notes | | My Notes | | / \ |
| | | | | / \ |
| The houses seen here are built in baroque style. | | The houses here are built in baroque style. | | /house\ |
| | | | | |_____| |
| @house{houses, &lt;----- XR Fragment triple/tag: phrase-matching BibTeX | | +---------|--------+
| url = {#.house} &lt;------------------- XR Fragment URI | @house{houses, &gt;----'house'--------| class/name match?
| } | | url = {#.house} &gt;----'houses'-------` class/name match?
+--------------------------------------------------+ | } |
+---------------------------------------------+
</code></pre> </code></pre>
<p>This allows instant realtime tagging of objects at various scopes:</p> <p>This allows instant realtime tagging of objects at various scopes:</p>
@ -682,7 +693,7 @@ In that sense, it&rsquo;s one step up from the <code>.ini</code> fileformat (whi
<li>The XR Fragments spec does not aim to harden the BiBTeX format</li> <li>The XR Fragments spec does not aim to harden the BiBTeX format</li>
<li>However, respect multi-line BibTex values because of <a href="#core-principle">the core principle</a></li> <li>However, respect multi-line BibTex values because of <a href="#core-principle">the core principle</a></li>
<li>Expand bibs and rulers (like <code>${visual-meta-start}</code>) according to the <a href="https://github.com/coderofsalvation/tagbibs">tagbibs spec</a></li> <li>Expand bibs and rulers (like <code>${visual-meta-start}</code>) according to the <a href="https://github.com/coderofsalvation/tagbibs">tagbibs spec</a></li>
<li>BibTeX snippets should always start in the beginning of a line (regex: ^@), hence mimetype <code>text/plain;charset=utf-8;tag=^@</code></li> <li>BibTeX snippets should always start in the beginning of a line (regex: ^@), hence mimetype <code>text/plain;charset=utf-8;bib=^@</code></li>
</ol> </ol>
<p>Here&rsquo;s an XR Text (de)multiplexer in javascript, which ticks all the above boxes:</p> <p>Here&rsquo;s an XR Text (de)multiplexer in javascript, which ticks all the above boxes:</p>

View file

@ -95,7 +95,7 @@ value: draft-XRFRAGMENTS-leonvankammen-00
This draft offers a specification for 4D URLs & navigation, to link 3D scenes and text together with- or without a network-connection.<br> This draft offers a specification for 4D URLs & navigation, to link 3D scenes and text together with- or without a network-connection.<br>
The specification promotes spatial addressibility, sharing, navigation, query-ing and tagging interactive (text)objects across for (XR) Browsers.<br> The specification promotes spatial addressibility, sharing, navigation, query-ing and tagging interactive (text)objects across for (XR) Browsers.<br>
XR Fragments allows us to enrich existing dataformats, by recursive use of existing proven technologies like [URI Fragments](https://en.wikipedia.org/wiki/URI_fragment) and BibTeX notation.<br> XR Fragments allows us to enrich existing dataformats, by recursive use of existing proven technologies like [URI Fragments](https://en.wikipedia.org/wiki/URI_fragment) and BibTags notation.<br>
> 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)
@ -109,7 +109,7 @@ However, thru the lens of authoring, their lowest common denominator is still: p
XR Fragments allows us to enrich/connect existing dataformats, by recursive use of existing technologies:<br> XR Fragments allows us to enrich/connect existing dataformats, by recursive use of existing technologies:<br>
1. addressibility and navigation of 3D scenes/objects: [URI Fragments](https://en.wikipedia.org/wiki/URI_fragment) + src/href spatial metadata 1. addressibility and navigation of 3D scenes/objects: [URI Fragments](https://en.wikipedia.org/wiki/URI_fragment) + src/href spatial metadata
1. hasslefree tagging across text and spatial objects using [BibTeX](https://en.wikipedia.org/wiki/BibTeX) 'tags' as appendix (see [visual-meta](https://visual-meta.info) e.g.) 1. hasslefree tagging across text and spatial objects using [BibTags](https://en.wikipedia.org/wiki/BibTeX) as appendix (see [visual-meta](https://visual-meta.info) e.g.)
> 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
@ -143,6 +143,8 @@ Let's always focus on average humans: the 'fuzzy symbolical mind' must be served
|extrospective | outward sensemaking ("I'm fairly sure John is a person who lives in oklahoma") | |extrospective | outward sensemaking ("I'm fairly sure John is a person who lives in oklahoma") |
|`◻` | ascii representation of an 3D object/mesh | |`◻` | ascii representation of an 3D object/mesh |
|(un)obtrusive | obtrusive: wrapping human text/thought in XML/HTML/JSON obfuscates human text into a salad of machine-symbols and words | |(un)obtrusive | obtrusive: wrapping human text/thought in XML/HTML/JSON obfuscates human text into a salad of machine-symbols and words |
|BibTeX | simple tagging/citing/referencing standard for plaintext |
|BibTag | a BibTeX tag |
# List of URI Fragments # List of URI Fragments
@ -233,23 +235,24 @@ This way:
1. XR Fragments allows <b id="tagging-text">hasslefree XR text tagging</b>, using BibTeX metadata **at the end of content** (like [visual-meta](https://visual.meta.info)). 1. XR Fragments allows <b id="tagging-text">hasslefree XR text tagging</b>, using BibTeX metadata **at the end of content** (like [visual-meta](https://visual.meta.info)).
1. XR Fragments allows hasslefree <a href="#textual-tag">textual tagging</a>, <a href="#spatial-tag">spatial tagging</a>, and <a href="#supra-tagging">supra tagging</a>, by mapping 3D/text object (class)names using BibTeX 'tags' 1. XR Fragments allows hasslefree <a href="#textual-tag">textual tagging</a>, <a href="#spatial-tag">spatial tagging</a>, and <a href="#supra-tagging">supra tagging</a>, by mapping 3D/text object (class)names using BibTeX 'tags'
3. inline BibTeX 'tags' are the minimum required **requestless metadata**-layer for XR text, RDF/JSON is great (but fits better in the application-layer) 1. Bibs/BibTeX-appendices is first-choice **requestless metadata**-layer for XR text, HTML/RDF/JSON is great (but fits better in the application-layer)
5. Default font (unless specified otherwise) is a modern monospace font, for maximized tabular expressiveness (see [the core principle](#core-principle)). 1. Default font (unless specified otherwise) is a modern monospace font, for maximized tabular expressiveness (see [the core principle](#core-principle)).
6. anti-pattern: hardcoupling a mandatory **obtrusive markuplanguage** or framework with an XR browsers (HTML/VRML/Javascript) (see [the core principle](#core-principle)) 1. anti-pattern: hardcoupling a mandatory **obtrusive markuplanguage** or framework with an XR browsers (HTML/VRML/Javascript) (see [the core principle](#core-principle))
7. anti-pattern: limiting human introspection, by immediately funneling human thought into typesafe, precise, pre-categorized metadata like RDF (see [the core principle](#core-principle)) 1. anti-pattern: limiting human introspection, by immediately funneling human thought into typesafe, precise, pre-categorized metadata like RDF (see [the core principle](#core-principle))
This allows recursive connections between text itself, as well as 3D objects and vice versa, using **BibTeX-tags** : This allows recursive connections between text itself, as well as 3D objects and vice versa, using **BibTags** :
``` ```
+--------------------------------------------------+ +---------------------------------------------+ +------------------+
| My Notes | | My Notes | | / \ |
| | | | | / \ |
| The houses seen here are built in baroque style. | | The houses here are built in baroque style. | | /house\ |
| | | | | |_____| |
| @house{houses, <----- XR Fragment triple/tag: phrase-matching BibTeX | | +---------|--------+
| url = {#.house} <------------------- XR Fragment URI | @house{houses, >----'house'--------| class/name match?
| } | | url = {#.house} >----'houses'-------` class/name match?
+--------------------------------------------------+ | } |
+---------------------------------------------+
``` ```
This allows instant realtime tagging of objects at various scopes: This allows instant realtime tagging of objects at various scopes:
@ -391,7 +394,7 @@ In that sense, it's one step up from the `.ini` fileformat (which has never leak
1. The XR Fragments spec does not aim to harden the BiBTeX format 1. The XR Fragments spec does not aim to harden the BiBTeX format
2. However, respect multi-line BibTex values because of [the core principle](#core-principle) 2. However, respect multi-line BibTex values because of [the core principle](#core-principle)
3. Expand bibs and rulers (like `${visual-meta-start}`) according to the [tagbibs spec](https://github.com/coderofsalvation/tagbibs) 3. Expand bibs and rulers (like `${visual-meta-start}`) according to the [tagbibs spec](https://github.com/coderofsalvation/tagbibs)
4. BibTeX snippets should always start in the beginning of a line (regex: ^@), hence mimetype `text/plain;charset=utf-8;tag=^@` 4. BibTeX snippets should always start in the beginning of a line (regex: ^@), hence mimetype `text/plain;charset=utf-8;bib=^@`
Here's an XR Text (de)multiplexer in javascript, which ticks all the above boxes: Here's an XR Text (de)multiplexer in javascript, which ticks all the above boxes:

View file

@ -20,7 +20,7 @@ Abstract
for (XR) Browsers. for (XR) Browsers.
XR Fragments allows us to enrich existing dataformats, by recursive XR Fragments allows us to enrich existing dataformats, by recursive
use of existing proven technologies like URI Fragments use of existing proven technologies like URI Fragments
(https://en.wikipedia.org/wiki/URI_fragment) and BibTeX notation. (https://en.wikipedia.org/wiki/URI_fragment) and BibTags notation.
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)
@ -73,20 +73,20 @@ Table of Contents
5. List of metadata for 3D nodes . . . . . . . . . . . . . . . . 5 5. List of metadata for 3D nodes . . . . . . . . . . . . . . . . 5
6. Navigating 3D . . . . . . . . . . . . . . . . . . . . . . . . 5 6. Navigating 3D . . . . . . . . . . . . . . . . . . . . . . . . 5
7. Embedding 3D content . . . . . . . . . . . . . . . . . . . . 6 7. Embedding 3D content . . . . . . . . . . . . . . . . . . . . 6
8. Text in XR (tagging,linking to spatial objects) . . . . . . . 6 8. Text in XR (tagging,linking to spatial objects) . . . . . . . 7
8.1. Default Data URI mimetype . . . . . . . . . . . . . . . . 9 8.1. Default Data URI mimetype . . . . . . . . . . . . . . . . 10
8.2. URL and Data URI . . . . . . . . . . . . . . . . . . . . 10 8.2. URL and Data URI . . . . . . . . . . . . . . . . . . . . 11
8.3. Bibs-enabled BibTeX: lowest common denominator for tagging/ 8.3. Bibs-enabled BibTeX: lowest common denominator for tagging/
triples . . . . . . . . . . . . . . . . . . . . . . . . . 11 triples . . . . . . . . . . . . . . . . . . . . . . . . . 12
8.4. XR Text example parser . . . . . . . . . . . . . . . . . 13 8.4. XR Text example parser . . . . . . . . . . . . . . . . . 14
9. HYPER copy/paste . . . . . . . . . . . . . . . . . . . . . . 15 9. HYPER copy/paste . . . . . . . . . . . . . . . . . . . . . . 16
10. XR Fragment queries . . . . . . . . . . . . . . . . . . . . . 16 10. XR Fragment queries . . . . . . . . . . . . . . . . . . . . . 17
10.1. including/excluding . . . . . . . . . . . . . . . . . . 16 10.1. including/excluding . . . . . . . . . . . . . . . . . . 17
10.2. Query Parser . . . . . . . . . . . . . . . . . . . . . . 17 10.2. Query Parser . . . . . . . . . . . . . . . . . . . . . . 18
10.3. XR Fragment URI Grammar . . . . . . . . . . . . . . . . 18 10.3. XR Fragment URI Grammar . . . . . . . . . . . . . . . . 19
11. Security Considerations . . . . . . . . . . . . . . . . . . . 18 11. Security Considerations . . . . . . . . . . . . . . . . . . . 19
12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19
13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 18 13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 19
1. Introduction 1. Introduction
@ -102,9 +102,9 @@ Table of Contents
1. addressibility and navigation of 3D scenes/objects: URI Fragments 1. addressibility and navigation of 3D scenes/objects: URI Fragments
(https://en.wikipedia.org/wiki/URI_fragment) + src/href spatial (https://en.wikipedia.org/wiki/URI_fragment) + src/href spatial
metadata metadata
2. hasslefree tagging across text and spatial objects using BibTeX 2. hasslefree tagging across text and spatial objects using BibTags
(https://en.wikipedia.org/wiki/BibTeX) 'tags' as appendix (see (https://en.wikipedia.org/wiki/BibTeX) as appendix (see visual-
visual-meta (https://visual-meta.info) e.g.) meta (https://visual-meta.info) e.g.)
@ -196,6 +196,11 @@ Internet-Draft XR Fragments September 2023
| (un)obtrusive | obtrusive: wrapping human text/thought in | | (un)obtrusive | obtrusive: wrapping human text/thought in |
| | XML/HTML/JSON obfuscates human text into a | | | XML/HTML/JSON obfuscates human text into a |
| | salad of machine-symbols and words | | | salad of machine-symbols and words |
+---------------+---------------------------------------------+
| BibTeX | simple tagging/citing/referencing standard |
| | for plaintext |
+---------------+---------------------------------------------+
| BibTag | a BibTeX tag |
+---------------+---------------------------------------------+ +---------------+---------------------------------------------+
Table 1 Table 1
@ -213,11 +218,6 @@ Internet-Draft XR Fragments September 2023
+----------+---------+--------------+----------------------------+ +----------+---------+--------------+----------------------------+
| #t | vector2 | #t=500,1000 | sets animation-loop range | | #t | vector2 | #t=500,1000 | sets animation-loop range |
| | | | between frame 500 and 1000 | | | | | between frame 500 and 1000 |
+----------+---------+--------------+----------------------------+
| #...... | string | #.cubes | object(s) of interest |
| | | #cube | (fragment to object name |
| | | | or class mapping) |
+----------+---------+--------------+----------------------------+
@ -226,6 +226,12 @@ van Kammen Expires 9 March 2024 [Page 4]
Internet-Draft XR Fragments September 2023 Internet-Draft XR Fragments September 2023
+----------+---------+--------------+----------------------------+
| #...... | string | #.cubes | object(s) of interest |
| | | #cube | (fragment to object name |
| | | | or class mapping) |
+----------+---------+--------------+----------------------------+
Table 2 Table 2
| xyz coordinates are similar to ones found in SVG Media Fragments | xyz coordinates are similar to ones found in SVG Media Fragments
@ -261,6 +267,21 @@ Internet-Draft XR Fragments September 2023
Here's an ascii representation of a 3D scene-graph which contains 3D Here's an ascii representation of a 3D scene-graph which contains 3D
objects &#9723; and their metadata: objects &#9723; and their metadata:
van Kammen Expires 9 March 2024 [Page 5]
Internet-Draft XR Fragments September 2023
+--------------------------------------------------------+ +--------------------------------------------------------+
| | | |
| index.gltf | | index.gltf |
@ -273,15 +294,6 @@ Internet-Draft XR Fragments September 2023
| | | |
+--------------------------------------------------------+ +--------------------------------------------------------+
van Kammen Expires 9 March 2024 [Page 5]
Internet-Draft XR Fragments September 2023
An XR Fragment-compatible browser viewing this scene, allows the end- An XR Fragment-compatible browser viewing this scene, allows the end-
user to interact with the buttonA and buttonB. user to interact with the buttonA and buttonB.
In case of buttonA the end-user will be teleported to another In case of buttonA the end-user will be teleported to another
@ -312,6 +324,20 @@ Internet-Draft XR Fragments September 2023
| | | |
+--------------------------------------------------------+ +--------------------------------------------------------+
van Kammen Expires 9 March 2024 [Page 6]
Internet-Draft XR Fragments September 2023
An XR Fragment-compatible browser viewing this scene, lazy-loads and An XR Fragment-compatible browser viewing this scene, lazy-loads and
projects painting.png onto the (plane) object called canvas (which is projects painting.png onto the (plane) object called canvas (which is
copy-instanced in the bed and livingroom). copy-instanced in the bed and livingroom).
@ -330,14 +356,6 @@ Internet-Draft XR Fragments September 2023
Ideally metadata must come *later with* text, but not *obfuscate* the Ideally metadata must come *later with* text, but not *obfuscate* the
text, or *in another* file. text, or *in another* file.
van Kammen Expires 9 March 2024 [Page 6]
Internet-Draft XR Fragments September 2023
| Humans first, machines (AI) later (core principle (#core- | Humans first, machines (AI) later (core principle (#core-
| principle) | principle)
@ -350,9 +368,9 @@ Internet-Draft XR Fragments September 2023
tagging</a>, <a href="#spatial-tag">spatial tagging</a>, and <a tagging</a>, <a href="#spatial-tag">spatial tagging</a>, and <a
href="#supra-tagging">supra tagging</a>, by mapping 3D/text href="#supra-tagging">supra tagging</a>, by mapping 3D/text
object (class)names using BibTeX 'tags' object (class)names using BibTeX 'tags'
3. inline BibTeX 'tags' are the minimum required *requestless 3. Bibs/BibTeX-appendices is first-choice *requestless metadata*-
metadata*-layer for XR text, RDF/JSON is great (but fits better layer for XR text, HTML/RDF/JSON is great (but fits better in the
in the application-layer) application-layer)
4. Default font (unless specified otherwise) is a modern monospace 4. Default font (unless specified otherwise) is a modern monospace
font, for maximized tabular expressiveness (see the core font, for maximized tabular expressiveness (see the core
principle (#core-principle)). principle (#core-principle)).
@ -364,17 +382,28 @@ Internet-Draft XR Fragments September 2023
metadata like RDF (see the core principle (#core-principle)) metadata like RDF (see the core principle (#core-principle))
This allows recursive connections between text itself, as well as 3D This allows recursive connections between text itself, as well as 3D
objects and vice versa, using *BibTeX-tags* : objects and vice versa, using *BibTags* :
+--------------------------------------------------+
| My Notes |
| |
| The houses seen here are built in baroque style. |
| |
| @house{houses, <----- XR Fragment triple/tag: phrase-matching BibTeX van Kammen Expires 9 March 2024 [Page 7]
| url = {#.house} <------------------- XR Fragment URI
| } | Internet-Draft XR Fragments September 2023
+--------------------------------------------------+
+---------------------------------------------+ +------------------+
| My Notes | | / \ |
| | | / \ |
| The houses here are built in baroque style. | | /house\ |
| | | |_____| |
| | +---------|--------+
| @house{houses, >----'house'--------| class/name match?
| url = {#.house} >----'houses'-------` class/name match?
| } |
+---------------------------------------------+
This allows instant realtime tagging of objects at various scopes: This allows instant realtime tagging of objects at various scopes:
@ -389,7 +418,34 @@ Internet-Draft XR Fragments September 2023
van Kammen Expires 9 March 2024 [Page 7]
van Kammen Expires 9 March 2024 [Page 8]
Internet-Draft XR Fragments September 2023 Internet-Draft XR Fragments September 2023
@ -445,7 +501,7 @@ Internet-Draft XR Fragments September 2023
van Kammen Expires 9 March 2024 [Page 8] van Kammen Expires 9 March 2024 [Page 9]
Internet-Draft XR Fragments September 2023 Internet-Draft XR Fragments September 2023
@ -501,7 +557,7 @@ Internet-Draft XR Fragments September 2023
van Kammen Expires 9 March 2024 [Page 9] van Kammen Expires 9 March 2024 [Page 10]
Internet-Draft XR Fragments September 2023 Internet-Draft XR Fragments September 2023
@ -557,7 +613,7 @@ Internet-Draft XR Fragments September 2023
van Kammen Expires 9 March 2024 [Page 10] van Kammen Expires 9 March 2024 [Page 11]
Internet-Draft XR Fragments September 2023 Internet-Draft XR Fragments September 2023
@ -613,7 +669,7 @@ Internet-Draft XR Fragments September 2023
van Kammen Expires 9 March 2024 [Page 11] van Kammen Expires 9 March 2024 [Page 12]
Internet-Draft XR Fragments September 2023 Internet-Draft XR Fragments September 2023
@ -669,7 +725,7 @@ Internet-Draft XR Fragments September 2023
van Kammen Expires 9 March 2024 [Page 12] van Kammen Expires 9 March 2024 [Page 13]
Internet-Draft XR Fragments September 2023 Internet-Draft XR Fragments September 2023
@ -704,7 +760,7 @@ Internet-Draft XR Fragments September 2023
3. Expand bibs and rulers (like ${visual-meta-start}) according to 3. Expand bibs and rulers (like ${visual-meta-start}) according to
the tagbibs spec (https://github.com/coderofsalvation/tagbibs) the tagbibs spec (https://github.com/coderofsalvation/tagbibs)
4. BibTeX snippets should always start in the beginning of a line 4. BibTeX snippets should always start in the beginning of a line
(regex: ^@), hence mimetype text/plain;charset=utf-8;tag=^@ (regex: ^@), hence mimetype text/plain;charset=utf-8;bib=^@
Here's an XR Text (de)multiplexer in javascript, which ticks all the Here's an XR Text (de)multiplexer in javascript, which ticks all the
above boxes: above boxes:
@ -725,7 +781,7 @@ xrtext = {
van Kammen Expires 9 March 2024 [Page 13] van Kammen Expires 9 March 2024 [Page 14]
Internet-Draft XR Fragments September 2023 Internet-Draft XR Fragments September 2023
@ -781,7 +837,7 @@ Internet-Draft XR Fragments September 2023
van Kammen Expires 9 March 2024 [Page 14] van Kammen Expires 9 March 2024 [Page 15]
Internet-Draft XR Fragments September 2023 Internet-Draft XR Fragments September 2023
@ -837,7 +893,7 @@ console.log( xrtext.encode(text,tags) ) // multiplex text & bibtex back to
van Kammen Expires 9 March 2024 [Page 15] van Kammen Expires 9 March 2024 [Page 16]
Internet-Draft XR Fragments September 2023 Internet-Draft XR Fragments September 2023
@ -893,7 +949,7 @@ Internet-Draft XR Fragments September 2023
van Kammen Expires 9 March 2024 [Page 16] van Kammen Expires 9 March 2024 [Page 17]
Internet-Draft XR Fragments September 2023 Internet-Draft XR Fragments September 2023
@ -949,7 +1005,7 @@ Internet-Draft XR Fragments September 2023
van Kammen Expires 9 March 2024 [Page 17] van Kammen Expires 9 March 2024 [Page 18]
Internet-Draft XR Fragments September 2023 Internet-Draft XR Fragments September 2023
@ -1005,4 +1061,4 @@ Internet-Draft XR Fragments September 2023
van Kammen Expires 9 March 2024 [Page 18] van Kammen Expires 9 March 2024 [Page 19]

View file

@ -14,7 +14,7 @@
The specification promotes spatial addressibility, sharing, navigation, query-ing and tagging interactive (text)objects across for (XR) Browsers.<br /> The specification promotes spatial addressibility, sharing, navigation, query-ing and tagging interactive (text)objects across for (XR) Browsers.<br />
XR Fragments allows us to enrich existing dataformats, by recursive use of existing proven technologies like <eref target="https://en.wikipedia.org/wiki/URI_fragment">URI Fragments</eref> and BibTeX notation.<br /> XR Fragments allows us to enrich existing dataformats, by recursive use of existing proven technologies like <eref target="https://en.wikipedia.org/wiki/URI_fragment">URI Fragments</eref> and BibTags notation.<br />
</t> </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>
@ -35,7 +35,7 @@ XR Fragments allows us to enrich/connect existing dataformats, by recursive use
<ol spacing="compact"> <ol spacing="compact">
<li>addressibility and navigation of 3D scenes/objects: <eref target="https://en.wikipedia.org/wiki/URI_fragment">URI Fragments</eref> + src/href spatial metadata</li> <li>addressibility and navigation of 3D scenes/objects: <eref target="https://en.wikipedia.org/wiki/URI_fragment">URI Fragments</eref> + src/href spatial metadata</li>
<li>hasslefree tagging across text and spatial objects using <eref target="https://en.wikipedia.org/wiki/BibTeX">BibTeX</eref> 'tags' as appendix (see <eref target="https://visual-meta.info">visual-meta</eref> e.g.)</li> <li>hasslefree tagging across text and spatial objects using <eref target="https://en.wikipedia.org/wiki/BibTeX">BibTags</eref> as appendix (see <eref target="https://visual-meta.info">visual-meta</eref> e.g.)</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></section> </blockquote></section>
@ -134,6 +134,16 @@ This also means that the repair-ability of machine-matters should be human frien
<td>(un)obtrusive</td> <td>(un)obtrusive</td>
<td>obtrusive: wrapping human text/thought in XML/HTML/JSON obfuscates human text into a salad of machine-symbols and words</td> <td>obtrusive: wrapping human text/thought in XML/HTML/JSON obfuscates human text into a salad of machine-symbols and words</td>
</tr> </tr>
<tr>
<td>BibTeX</td>
<td>simple tagging/citing/referencing standard for plaintext</td>
</tr>
<tr>
<td>BibTag</td>
<td>a BibTeX tag</td>
</tr>
</tbody> </tbody>
</table></section> </table></section>
@ -290,22 +300,23 @@ Ideally metadata must come <strong>later with</strong> text, but not <strong>obf
<ol spacing="compact"> <ol spacing="compact">
<li>XR Fragments allows &lt;b id=&quot;tagging-text&quot;&gt;hasslefree XR text tagging&lt;/b&gt;, using BibTeX metadata <strong>at the end of content</strong> (like <eref target="https://visual.meta.info">visual-meta</eref>).</li> <li>XR Fragments allows &lt;b id=&quot;tagging-text&quot;&gt;hasslefree XR text tagging&lt;/b&gt;, using BibTeX metadata <strong>at the end of content</strong> (like <eref target="https://visual.meta.info">visual-meta</eref>).</li>
<li>XR Fragments allows hasslefree &lt;a href=&quot;#textual-tag&quot;&gt;textual tagging&lt;/a&gt;, &lt;a href=&quot;#spatial-tag&quot;&gt;spatial tagging&lt;/a&gt;, and &lt;a href=&quot;#supra-tagging&quot;&gt;supra tagging&lt;/a&gt;, by mapping 3D/text object (class)names using BibTeX 'tags'</li> <li>XR Fragments allows hasslefree &lt;a href=&quot;#textual-tag&quot;&gt;textual tagging&lt;/a&gt;, &lt;a href=&quot;#spatial-tag&quot;&gt;spatial tagging&lt;/a&gt;, and &lt;a href=&quot;#supra-tagging&quot;&gt;supra tagging&lt;/a&gt;, by mapping 3D/text object (class)names using BibTeX 'tags'</li>
<li>inline BibTeX 'tags' are the minimum required <strong>requestless metadata</strong>-layer for XR text, RDF/JSON is great (but fits better in the application-layer)</li> <li>Bibs/BibTeX-appendices is first-choice <strong>requestless metadata</strong>-layer for XR text, HTML/RDF/JSON is great (but fits better in the application-layer)</li>
<li>Default font (unless specified otherwise) is a modern monospace font, for maximized tabular expressiveness (see <eref target="#core-principle">the core principle</eref>).</li> <li>Default font (unless specified otherwise) is a modern monospace font, for maximized tabular expressiveness (see <eref target="#core-principle">the core principle</eref>).</li>
<li>anti-pattern: hardcoupling a mandatory <strong>obtrusive markuplanguage</strong> or framework with an XR browsers (HTML/VRML/Javascript) (see <eref target="#core-principle">the core principle</eref>)</li> <li>anti-pattern: hardcoupling a mandatory <strong>obtrusive markuplanguage</strong> or framework with an XR browsers (HTML/VRML/Javascript) (see <eref target="#core-principle">the core principle</eref>)</li>
<li>anti-pattern: limiting human introspection, by immediately funneling human thought into typesafe, precise, pre-categorized metadata like RDF (see <eref target="#core-principle">the core principle</eref>)</li> <li>anti-pattern: limiting human introspection, by immediately funneling human thought into typesafe, precise, pre-categorized metadata like RDF (see <eref target="#core-principle">the core principle</eref>)</li>
</ol> </ol>
<t>This allows recursive connections between text itself, as well as 3D objects and vice versa, using <strong>BibTeX-tags</strong> :</t> <t>This allows recursive connections between text itself, as well as 3D objects and vice versa, using <strong>BibTags</strong> :</t>
<artwork> +--------------------------------------------------+ <artwork> +---------------------------------------------+ +------------------+
| My Notes | | My Notes | | / \ |
| | | | | / \ |
| The houses seen here are built in baroque style. | | The houses here are built in baroque style. | | /house\ |
| | | | | |_____| |
| @house{houses, &lt;----- XR Fragment triple/tag: phrase-matching BibTeX | | +---------|--------+
| url = {#.house} &lt;------------------- XR Fragment URI | @house{houses, &gt;----'house'--------| class/name match?
| } | | url = {#.house} &gt;----'houses'-------` class/name match?
+--------------------------------------------------+ | } |
+---------------------------------------------+
</artwork> </artwork>
<t>This allows instant realtime tagging of objects at various scopes:</t> <t>This allows instant realtime tagging of objects at various scopes:</t>
<table> <table>
@ -582,7 +593,7 @@ In that sense, it's one step up from the <tt>.ini</tt> fileformat (which has nev
<li>The XR Fragments spec does not aim to harden the BiBTeX format</li> <li>The XR Fragments spec does not aim to harden the BiBTeX format</li>
<li>However, respect multi-line BibTex values because of <eref target="#core-principle">the core principle</eref></li> <li>However, respect multi-line BibTex values because of <eref target="#core-principle">the core principle</eref></li>
<li>Expand bibs and rulers (like <tt>${visual-meta-start}</tt>) according to the <eref target="https://github.com/coderofsalvation/tagbibs">tagbibs spec</eref></li> <li>Expand bibs and rulers (like <tt>${visual-meta-start}</tt>) according to the <eref target="https://github.com/coderofsalvation/tagbibs">tagbibs spec</eref></li>
<li>BibTeX snippets should always start in the beginning of a line (regex: ^@), hence mimetype <tt>text/plain;charset=utf-8;tag=^@</tt></li> <li>BibTeX snippets should always start in the beginning of a line (regex: ^@), hence mimetype <tt>text/plain;charset=utf-8;bib=^@</tt></li>
</ol> </ol>
<t>Here's an XR Text (de)multiplexer in javascript, which ticks all the above boxes:</t> <t>Here's an XR Text (de)multiplexer in javascript, which ticks all the above boxes:</t>