cleanup (pending bug: duplicate non-euclidian different scales
This commit is contained in:
parent
0bbf3ae5e4
commit
969251eb7d
7 changed files with 18 additions and 12 deletions
Binary file not shown.
|
|
@ -39,14 +39,13 @@ window.AFRAME.registerComponent('xrf', {
|
|||
p.resolve()
|
||||
AFRAME.fade.out(fastFadeMs)
|
||||
}, fastFadeMs)
|
||||
}
|
||||
if( !isLocal ){
|
||||
}else if( !isLocal ){
|
||||
AFRAME.fade.in()
|
||||
setTimeout( () => {
|
||||
p.resolve()
|
||||
setTimeout( () => AFRAME.fade.out(), 1000 ) // allow one second to load textures e.g.
|
||||
}, AFRAME.fade.data.fadetime )
|
||||
}
|
||||
}else p.resolve()
|
||||
}
|
||||
})
|
||||
|
||||
|
|
@ -81,7 +80,6 @@ window.AFRAME.registerComponent('xrf', {
|
|||
|
||||
// cleanup xrf-get objects when resetting scene
|
||||
xrf.addEventListener('reset', (opts) => {
|
||||
console.log("aframe reset")
|
||||
let els = [...document.querySelectorAll('[xrf-get]')]
|
||||
els.map( (el) => document.querySelector('a-scene').removeChild(el) )
|
||||
})
|
||||
|
|
|
|||
|
|
@ -40,7 +40,6 @@ xrf.navigator.to = (url,flags,loader,data) => {
|
|||
setTimeout( () => { // give external objects some slack
|
||||
let frag = hashbus.pub( url, model) // and eval URI XR fragments
|
||||
hashbus.pub.XRWG({model,scene:model.scene,frag})
|
||||
console.dir(frag)
|
||||
},2000)
|
||||
xrf.add( model.scene )
|
||||
xrf.navigator.updateHash(hash)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,17 @@
|
|||
/*
|
||||
* TODO: refactor/fix this (queries are being refactored to filters)
|
||||
*/
|
||||
|
||||
|
||||
xrf.addEventListener('dynamicKey', (opts) => {
|
||||
let {scene,id,match,v} = opts
|
||||
if( v.filter ){
|
||||
let frags = {}
|
||||
frags[ v.fragment ] = v
|
||||
xrf.filter.scene({frag:frags,scene})
|
||||
}
|
||||
})
|
||||
|
||||
// spec: https://xrfragment.org/#filters
|
||||
xrf.filter = function(query, cb){
|
||||
let result = []
|
||||
|
|
@ -15,7 +26,7 @@ xrf.filter.scene = function(opts){
|
|||
|
||||
xrf.filter
|
||||
.sort(frag) // get (sorted) filters from XR Fragments
|
||||
.process(frag,scene) // show/hide things
|
||||
.process(frag,scene,opts) // show/hide things
|
||||
|
||||
scene.visible = true // always enable scene
|
||||
|
||||
|
|
@ -41,11 +52,12 @@ xrf.filter.process = function(frag,scene,opts){
|
|||
|
||||
// spec 2: https://xrfragment.org/doc/RFC_XR_Macros.html#embedding-xr-content-using-src
|
||||
// reparent scene based on objectname in case it matches a (non-negating) selector
|
||||
if( !firstFilter.value && firstFilter.show === true ){
|
||||
if( opts.reparent && !firstFilter.value && firstFilter.show === true ){
|
||||
let obj
|
||||
scene.traverse( (n) => hasName(n, firstFilter.key,firstFilter) && (obj = n) )
|
||||
if(obj){
|
||||
while( scene.children.length > 0 ) scene.children[0].removeFromParent()
|
||||
obj.position.set(0,0,0)
|
||||
scene.add( obj )
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -108,8 +108,7 @@ xrf.frag.src.scale = function(scene, opts, url){
|
|||
xrf.frag.src.filterScene = (scene,opts) => {
|
||||
let { mesh, model, camera, renderer, THREE, hashbus, frag} = opts
|
||||
|
||||
xrf.filter.scene({scene,frag})
|
||||
if( scene.children.length == 1 ) scene.children[0].position.set(0,0,0)
|
||||
xrf.filter.scene({scene,frag,reparent:true})
|
||||
|
||||
scene.traverse( (m) => {
|
||||
if( m.userData && (m.userData.src || m.userData.href) ) return ; // prevent infinite recursion
|
||||
|
|
|
|||
|
|
@ -54,7 +54,6 @@ let loadAudio = (mimetype) => function(url,opts){
|
|||
|
||||
if( t.z > 0 ) sound.setLoopEnd( loopEnd )
|
||||
if( t.y != undefined ){
|
||||
console.dir({loopStart,t})
|
||||
sound.setLoopStart( loopStart )
|
||||
sound.offset = loopStart
|
||||
}
|
||||
|
|
|
|||
|
|
@ -151,7 +151,6 @@ xrf.addEventListener('render', (opts) => {
|
|||
xrf.addEventListener('dynamicKey', (opts) => {
|
||||
// select active camera if any
|
||||
let {id,match,v} = opts
|
||||
console.dir(opts)
|
||||
match.map( (w) => {
|
||||
w.nodes.map( (node) => {
|
||||
if( node.isCamera ){
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue