Skip to content
This repository was archived by the owner on May 18, 2025. It is now read-only.

Commit 28fb416

Browse files
wip
1 parent 2624936 commit 28fb416

File tree

19 files changed

+150
-56
lines changed

19 files changed

+150
-56
lines changed

doc/RFC_XR_Fragments.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ It solves:
116116
1. Interlinking text & spatial objects by collapsing space into a Word Graph (XRWG) to show [visible links](#visible-links)
117117
1. unlocking spatial potential of the (originally 2D) hashtag (which jumps to a chapter) for navigating XR documents
118118
1. refraining from introducing scripting-engines for mundane tasks (and preventing its inevitable security-headaches)
119+
1. the gap between text an 3d objects: object-names directly map to hashtags (=fragments), which allows 3D to text transcription.
119120

120121
> NOTE: The chapters in this document are ordered from highlevel to lowlevel (technical) as much as possible
121122
@@ -1038,10 +1039,12 @@ The following demonstrates a simple video player:
10381039
10391040
```
10401041

1041-
# Author/Sharing metadata
1042+
# Additional scene metadata
10421043

1043-
XR Fragments does not contain static metadata attributes for this, but encourages browsers to scan nodes for the following custom properties:
1044+
XR Fragments does not aim to redefine the metadata-space by introducing its own cataloging-metadata fields.
1045+
Instead, it encourages browsers to scan nodes for the following custom properties:
10441046

1047+
* [SPDX](https://spdx.dev/) license information
10451048
* [ARIA](https://www.w3.org/WAI/standards-guidelines/aria/) attributes (`aria-*: .....`)
10461049
* [Open Graph](https://ogp.me) attributes (`og:*: .....`)
10471050
* [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
10541057

10551058
| metadata key | example value |
10561059
|--------------------------------------------------------|-------------------------------------------------|
1057-
| `dc:creator` | `John Doe` |
10581060
| `aria-description`, `og:description`, `dc:description` | `An immersive experience about Triceratops` (*) |
1061+
| `SPDX` | `CC0-1.0` |
1062+
| `dc:creator` | `John Doe` |
10591063
| `dc:title`, `og:title` | 'Triceratops` (*) |
10601064
| `og:site_name` | `https://xrfragment.org` |
10611065
| `dc.publisher` | `NLNET` |
10621066
| `dc.date` | `2024-01-01` |
10631067
| `dc.identifier` | `XRFRAGMENT-001` |
10641068
| `journal` (bibTeX) | `{Future Of Text Vol 3},` |
1065-
| Person (JSON-LD) | `{"@type":"Person",................}` |
1069+
| `Person` (JSON-LD) | `{"@type":"Person",................}` |
10661070

10671071
> \* = these are interchangable (only one needs to be defined)
10681072

example/aframe/sandbox/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ <h1>💁 Hi there!</h1>
4747
<br>
4848
<b>This uses only open standards:</b><br>
4949
📦 surf 3D models using URLs<br>
50+
🎞 interactive <a href="https://www.w3.org/TR/media-frags/" target="_blank">W3C Media Fragments</a> and <a href="https://en.wikipedia.org/wiki/URI_Template" target="_blank">URI Templates</a><br>
5051
🧑‍🤝‍🧑 <b>instant</b> meetings inside hyperlinked 3D models<br>
5152
🚫 <b>zero proprietary</b> tech/game engines or platforms<br>
5253
🙈 unhosted, privacy-friendly, avatar-agnostic scenes<br>

example/aframe/sandbox/other.glb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../assets/other.glb
877 KB
Binary file not shown.

example/assets/index.glb

25.1 KB
Binary file not shown.

example/assets/other.glb

2.1 MB
Binary file not shown.

make

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ build(){
5656
test -d src/3rd/js/aframe/build/aframe || git clone https://github.com/aframevr/aframe src/3rd/js/aframe/build/aframe --depth=1
5757
curdir=$(pwd)
5858
cd src/3rd/js/aframe/build && cp three.module.js aframe/src/lib/. # override to add extra loaders like fbx/collada e.g.
59-
cd aframe && npm run dist
59+
#cd aframe && npm install && npm install troika-three-text && npm run dist
60+
cd aframe && npm install && npm run dist
6061
cd "$curdir"
6162
cp src/3rd/js/aframe/build/aframe/dist/aframe-master.min.js dist/aframe.min.js
6263
test -f dist/aframe-blink-controls.min.js || {
@@ -124,7 +125,7 @@ build(){
124125
return $ok
125126
}
126127

127-
test -z $1 && { parser && js; }
128+
test -z $1 && { parser && aframe && js; }
128129
test -z $1 || "$@"
129130
}
130131

src/3rd/js/aframe/build/three.module.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { ColladaLoader } from 'super-three/examples/jsm/loaders/ColladaLoader';
1010
import { MTLLoader } from 'super-three/examples/jsm/loaders/MTLLoader';
1111
import * as BufferGeometryUtils from 'super-three/examples/jsm/utils/BufferGeometryUtils';
1212
import { LightProbeGenerator } from 'super-three/examples/jsm/lights/LightProbeGenerator';
13+
//import {Text} from 'troika-three-text'
1314

1415
var THREE = window.THREE = SUPER_THREE;
1516

@@ -26,5 +27,6 @@ THREE.ColladaLoader = ColladaLoader;
2627
THREE.OBB = OBB;
2728
THREE.BufferGeometryUtils = BufferGeometryUtils;
2829
THREE.LightProbeGenerator = LightProbeGenerator;
30+
//THREE.Text = Text
2931

3032
export default THREE;

src/3rd/js/aframe/xrf-console.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
AFRAME.registerComponent('vconsole', {
22
init: function () {
33
//AFRAME.XRF.navigator.to("https://coderofsalvation.github.io/xrsh-media/assets/background.glb")
4+
return
5+
46
document.head.innerHTML += `
57
<style type="text/css">
68
.vc-panel {

src/3rd/js/plugin/frontend/css.js

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -290,16 +290,21 @@ document.head.innerHTML += `
290290
291291
.badge,
292292
#messages .msg.ui div.badge{
293+
box-sizing:border-box;
293294
display:inline-block;
294295
color: var(--xrf-white);
295296
font-weight: bold;
296-
background: var(--xrf-gray);
297-
border-radius:5px;
298-
padding:0px 4px;
297+
background: var(--xrf-dark-gray);
298+
border-radius:16px;
299+
padding:0px 12px;
299300
font-size: var(--xrf-font-size-0);
300301
margin-right:10px;
301302
text-decoration:none !important;
302303
}
304+
#messages .msg.ui div.badge a{
305+
color:#FFF;
306+
}
307+
303308
.ruler{
304309
width:97%;
305310
margin:7px 0px;
@@ -358,6 +363,15 @@ document.head.innerHTML += `
358363
top: 64px;
359364
}
360365
366+
.transcript{
367+
max-height:105px;
368+
max-width:405px;
369+
overflow-y:auto;
370+
border: 1px solid var(--xrf-gray);
371+
border-radius: 5px;
372+
padding: 10px;
373+
}
374+
361375
.right { float:right }
362376
.left { float:left }
363377
@@ -535,7 +549,7 @@ document.head.innerHTML += `
535549
position: relative;
536550
display: inline-block;
537551
-moz-transform: rotate(-45deg) scale(var(--ggs,1));
538-
transform: translate(4px,1px) rotate(-45deg) scale(var(--ggs,1));
552+
transform: translate(4px,-5px) rotate(-45deg) scale(var(--ggs,1));
539553
width: 8px;
540554
height: 2px;
541555
background: currentColor;
@@ -701,7 +715,7 @@ document.head.innerHTML += `
701715
box-sizing: border-box;
702716
position: relative;
703717
display: inline-block;
704-
transform: scale(var(--ggs,1)) translate(3px,9px);
718+
transform: scale(var(--ggs,1)) translate(3px,3px);
705719
width: 16px;
706720
height: 6px;
707721
border: 2px solid;

0 commit comments

Comments
 (0)