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.
41 lines
1.8 KiB
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 )
|
|
|