You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
spasca-fot-sloan-q2/data/filters/visualmeta.json.js

41 lines
1.8 KiB

function filterVisualMetaJSON( contentFilename ){
let file = filesWithMetadata[contentFilename]
if (!file) return
let contentType = file.contentType
if ( contentType.includes("json") && contentFilename.endsWith(".visualmetaexport.json")) {
console.log('it is a visualmeta export file', contentFilename)
fetch( contentFilename ).then( r => r.json() ).then( json => {
//console.log( json )
let titleEl = addNewNote( json["visual-meta-bibtex-self-citation"].article.title, "0 1.8 -.3" )
json["visual-meta-full-document-text"].text.split("\n").reverse().map( (e, i) => {
let el = addNewNote( e, "0 "+(1+i/40)+" -.5" )
if ( e.startsWith("#") ){
//el.addEventListener("object3dset", _ => el.setAttribute("font-size", el.getAttribute("font-size")*20 ) )
// not yet set, events loaded and object3dset do not help
el.setAttribute("font-size", 0.3)
el.setAttribute("value", e.replaceAll("#","") )
// should be a bit more subtle...
}
})
Object.values( json["Glossary"].entries ).map( (e, i) => { let el = addNewNote( e.phrase + ' ' + e.entry, "-1.3 "+(1+i/10)+" -.6" ) })
Object.values( json["document-headings"] ).reverse().map( (e, i) => {
let el = addNewNote( e.name, "-1.1 "+(1+i/10)+" -.6" )
el.setAttribute("font-size", Number(e.level.replace("level",""))/10 )
el.addEventListener("object3dset", _ => el.object3D.translateX( 1-Number(e.level.replace("level",""))/10 ) )
})
AFRAME.scenes[0].emit('visualmetajsonloaded', contentFilename)
// to use the event consider :
//AFRAME.scenes[0].addEventListener("visualmetajsonloaded", e => console.log(e))
})
}
applyNextFilter( contentFilename )
}
sequentialFilters.push( filterVisualMetaJSON )