diff --git a/doc/RFC_XR_Fragments.md b/doc/RFC_XR_Fragments.md
index 4b8f6e3..ea84b34 100644
--- a/doc/RFC_XR_Fragments.md
+++ b/doc/RFC_XR_Fragments.md
@@ -116,6 +116,7 @@ It solves:
1. Interlinking text & spatial objects by collapsing space into a Word Graph (XRWG) to show [visible links](#visible-links)
1. unlocking spatial potential of the (originally 2D) hashtag (which jumps to a chapter) for navigating XR documents
1. refraining from introducing scripting-engines for mundane tasks (and preventing its inevitable security-headaches)
+1. the gap between text an 3d objects: object-names directly map to hashtags (=fragments), which allows 3D to text transcription.
> NOTE: The chapters in this document are ordered from highlevel to lowlevel (technical) as much as possible
@@ -1038,10 +1039,12 @@ The following demonstrates a simple video player:
```
-# Author/Sharing metadata
+# Additional scene metadata
-XR Fragments does not contain static metadata attributes for this, but encourages browsers to scan nodes for the following custom properties:
+XR Fragments does not aim to redefine the metadata-space by introducing its own cataloging-metadata fields.
+Instead, it encourages browsers to scan nodes for the following custom properties:
+* [SPDX](https://spdx.dev/) license information
* [ARIA](https://www.w3.org/WAI/standards-guidelines/aria/) attributes (`aria-*: .....`)
* [Open Graph](https://ogp.me) attributes (`og:*: .....`)
* [Dublin-Core](https://www.dublincore.org/specifications/dublin-core/application-profile-guidelines/) attributes(`dc:*: .....`)
@@ -1054,15 +1057,16 @@ Individual nodes can be enriched with such metadata, but most importantly the sc
| metadata key | example value |
|--------------------------------------------------------|-------------------------------------------------|
-| `dc:creator` | `John Doe` |
| `aria-description`, `og:description`, `dc:description` | `An immersive experience about Triceratops` (*) |
+| `SPDX` | `CC0-1.0` |
+| `dc:creator` | `John Doe` |
| `dc:title`, `og:title` | 'Triceratops` (*) |
| `og:site_name` | `https://xrfragment.org` |
| `dc.publisher` | `NLNET` |
| `dc.date` | `2024-01-01` |
| `dc.identifier` | `XRFRAGMENT-001` |
| `journal` (bibTeX) | `{Future Of Text Vol 3},` |
-| Person (JSON-LD) | `{"@type":"Person",................}` |
+| `Person` (JSON-LD) | `{"@type":"Person",................}` |
> \* = these are interchangable (only one needs to be defined)
diff --git a/example/aframe/sandbox/index.html b/example/aframe/sandbox/index.html
index beb9e9a..6b024ea 100644
--- a/example/aframe/sandbox/index.html
+++ b/example/aframe/sandbox/index.html
@@ -47,6 +47,7 @@
This uses only open standards:
📦 surf 3D models using URLs
+ 🎞 interactive W3C Media Fragments and URI Templates
🧑🤝🧑 instant meetings inside hyperlinked 3D models
🚫 zero proprietary tech/game engines or platforms
🙈 unhosted, privacy-friendly, avatar-agnostic scenes
diff --git a/example/aframe/sandbox/other.glb b/example/aframe/sandbox/other.glb
new file mode 120000
index 0000000..f068d54
--- /dev/null
+++ b/example/aframe/sandbox/other.glb
@@ -0,0 +1 @@
+../../assets/other.glb
\ No newline at end of file
diff --git a/example/assets/audio/nobodyhere.wav b/example/assets/audio/nobodyhere.wav
new file mode 100644
index 0000000..86d2a52
Binary files /dev/null and b/example/assets/audio/nobodyhere.wav differ
diff --git a/example/assets/index.glb b/example/assets/index.glb
index b0f76a7..a15565b 100644
Binary files a/example/assets/index.glb and b/example/assets/index.glb differ
diff --git a/example/assets/other.glb b/example/assets/other.glb
new file mode 100644
index 0000000..3ab6707
Binary files /dev/null and b/example/assets/other.glb differ
diff --git a/make b/make
index f83bc90..aa5aea1 100755
--- a/make
+++ b/make
@@ -56,7 +56,8 @@ build(){
test -d src/3rd/js/aframe/build/aframe || git clone https://github.com/aframevr/aframe src/3rd/js/aframe/build/aframe --depth=1
curdir=$(pwd)
cd src/3rd/js/aframe/build && cp three.module.js aframe/src/lib/. # override to add extra loaders like fbx/collada e.g.
- cd aframe && npm run dist
+ #cd aframe && npm install && npm install troika-three-text && npm run dist
+ cd aframe && npm install && npm run dist
cd "$curdir"
cp src/3rd/js/aframe/build/aframe/dist/aframe-master.min.js dist/aframe.min.js
test -f dist/aframe-blink-controls.min.js || {
@@ -124,7 +125,7 @@ build(){
return $ok
}
- test -z $1 && { parser && js; }
+ test -z $1 && { parser && aframe && js; }
test -z $1 || "$@"
}
diff --git a/src/3rd/js/aframe/build/three.module.js b/src/3rd/js/aframe/build/three.module.js
index b82b158..d5683db 100644
--- a/src/3rd/js/aframe/build/three.module.js
+++ b/src/3rd/js/aframe/build/three.module.js
@@ -10,6 +10,7 @@ import { ColladaLoader } from 'super-three/examples/jsm/loaders/ColladaLoader';
import { MTLLoader } from 'super-three/examples/jsm/loaders/MTLLoader';
import * as BufferGeometryUtils from 'super-three/examples/jsm/utils/BufferGeometryUtils';
import { LightProbeGenerator } from 'super-three/examples/jsm/lights/LightProbeGenerator';
+//import {Text} from 'troika-three-text'
var THREE = window.THREE = SUPER_THREE;
@@ -26,5 +27,6 @@ THREE.ColladaLoader = ColladaLoader;
THREE.OBB = OBB;
THREE.BufferGeometryUtils = BufferGeometryUtils;
THREE.LightProbeGenerator = LightProbeGenerator;
+//THREE.Text = Text
export default THREE;
diff --git a/src/3rd/js/aframe/xrf-console.js b/src/3rd/js/aframe/xrf-console.js
index d7aaa9b..78e133a 100644
--- a/src/3rd/js/aframe/xrf-console.js
+++ b/src/3rd/js/aframe/xrf-console.js
@@ -1,6 +1,8 @@
AFRAME.registerComponent('vconsole', {
init: function () {
//AFRAME.XRF.navigator.to("https://coderofsalvation.github.io/xrsh-media/assets/background.glb")
+ return
+
document.head.innerHTML += `