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

Commit 688713d

Browse files
work in progress [might break]
1 parent d3b767b commit 688713d

File tree

12 files changed

+281
-537
lines changed

12 files changed

+281
-537
lines changed

dist/trystero-torrent.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

example/aframe/sandbox/index.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
</head>
1212
<body>
1313
<script src="./../../../dist/xrfragment.aframe.js"></script>
14+
<script src="./../../../dist/xrfragment.extras.js"></script>
1415

1516
<a-scene xr-mode-ui="XRMode: xr" renderer="colorManagement: true; highRefreshRate:true" light="defaultLightsEnabled: false">
1617
<a-entity id="player" wasd-controls look-controls>
@@ -33,7 +34,7 @@
3334
XRFMENU.logo = './../../assets/logo.png'
3435
XRFMENU.morelabel = '⚡'
3536
// add your menubuttons:
36-
XRFMENU.buttons = XRFMENU.buttons.concat([`<a class="btn" aria-label="button" aria-description="about menu" onclick="XRFMENU.showAbout()">💁 about</a><br>`])
37+
XRFMENU.buttons.push(`<a class="btn" aria-label="button" aria-description="about menu" onclick="XRFMENU.showAbout()">💁 about</a><br>`)
3738
XRFMENU.showAbout = () => window.notify(`
3839
<h1>💁 Hi there!</h1>
3940

make

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,14 +84,18 @@ build(){
8484
cat dist/xrfragment.three.js \
8585
src/3rd/js/aframe/*.js \
8686
example/assets/js/qr.js > dist/xrfragment.aframe.js
87+
88+
# html extras like menu & meetings
89+
test -f dist/alpine.min.js || wget "https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js" -O dist/alpine.min.js
90+
cat dist/alpine.min.js src/3rd/js/extra/*.js > dist/xrfragment.extras.js
8791

8892
# fat all-in-one standalone xrf release
8993
test -f /tmp/xrf-aframe.js || {
9094
wget "https://aframe.io/releases/1.5.0/aframe.min.js" -O /tmp/xrf-aframe.js
9195
wget "https://cdn.jsdelivr.net/npm/aframe-blink-controls/dist/aframe-blink-controls.min.js" -O /tmp/xrf-blink.js
92-
#for i in /tmp/xrf-*.js; do echo -e "\n" >> $i; done # add extra linebreak to prevent bundle issues
9396
}
94-
cat /tmp/xrf-*.js dist/xrfragment.aframe.js > dist/xrfragment.aframe.all.js
97+
98+
cat /tmp/xrf-*.js dist/xrfragment.aframe.js dist/xrfragment.extras.js > dist/xrfragment.aframe.all.js
9599

96100
# add license headers
97101
for file in dist/xrfragment.{aframe,module,three,three.module,aframe.all}.js; do
@@ -142,6 +146,7 @@ repos(){
142146

143147
# remove aframe reference
144148
sed -i 's|<script src="https:\/\/aframe.*||g' ../xrfragment-helloworld/index.html
149+
sed -i 's|<script src=".*extras.*||g' ../xrfragment-helloworld/index.html
145150
sed -i 's|<script src=".*blink-controls.*||g' ../xrfragment-helloworld/index.html
146151
sed -i 's|aframe\.js|aframe.all.js|g' ../xrfragment-helloworld/index.html
147152
}

src/3rd/js/$.js

Lines changed: 2 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,8 @@
1-
// this project uses #vanillajs #proxies #clean #noframework
2-
//
3-
// menu = $proxy({
4-
// attach: 'body',
5-
// html: (el) => `<ul><li>${el.items.join('</li><li>')}</li></lu>`,
6-
// items: [1,2],
7-
// on: (el,k,v) => {
8-
// switch(k){
9-
// default: return el.outerHTML = el.html(el)
10-
// }
11-
// }
12-
// })
13-
//
14-
// menu.items = menu.items.concat([3,4])
15-
// $('#foo')
16-
// $$('.someclass').map( (el) => el.classList.toggle() )
17-
//
18-
$proxy = (opts) => {
19-
let el = document.createElement('div')
20-
el.innerHTML = opts.html(opts)
21-
el.querySelector = el.querySelector.bind(el)
22-
el.appendChild = el.appendChild.bind(el)
23-
let parent = typeof opts.attach == 'string' ? document.querySelector(opts.attach) : opts.attach
24-
parent.appendChild( el )
25-
el.on = el.addEventListener.bind(el)
26-
for( let i in opts ) el[i] = opts[i]
27-
return new Proxy( el, {
28-
get: (el,k,receiver) => el[k] || '',
29-
set: (el,k,v) => { el[k] = v; el.on(el,k,v) }
30-
})
31-
}
1+
// the core project uses #vanillajs #proxies #clean #noframework
322
$ = typeof $ != 'undefined' ? $ : (s) => document.querySelector(s) // respect jquery
333
$$ = typeof $$ != 'undefined' ? $$ : (s) => [...document.querySelectorAll(s)] // zepto etc.
344

35-
$el = (html) => {
5+
$el = (html,tag) => {
366
let el = document.createElement('div')
377
el.innerHTML = html
388
return el.children[0]

src/3rd/js/aframe/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ window.AFRAME.registerComponent('xrf', {
2222
renderer: aScene.renderer,
2323
loaders: {
2424
gltf: THREE.GLTFLoader, // which 3D assets (exts) to check for XR fragments?
25-
glb: THREE.GLTFLoader
25+
glb: THREE.GLTFLoader,
26+
obj: THREE.OBJLoader
2627
}
2728
})
2829
if( !XRF.camera ) throw 'xrfragment: no camera detected, please declare <a-entity camera..> ABOVE entities with xrf-attributes'

0 commit comments

Comments
 (0)