diff --git a/index.html b/index.html
index 88ded25..51b19d5 100644
--- a/index.html
+++ b/index.html
@@ -252,7 +252,7 @@ document.querySelector("#immersbundle").addEventListener('load',(event) => {
immersClient = document.querySelector("immers-hud").immersClient
document.querySelector('immers-hud').immersClient.sendModel = async function sendModel (name, glb, privacy, icon, to = []) {
return this.activities.model(name, glb, icon, to, privacy)
- }
+ } // shim until API update
document.querySelector("immers-hud").setAttribute("access-role", "modFull")
document.querySelector("immers-hud").immersClient.addEventListener("immers-client-connected", _ => {
//immersClient.addEventListener("immers-client-new-message", e => addNewNote(e.detail.message.messageHTML) )
@@ -260,7 +260,8 @@ document.querySelector("#immersbundle").addEventListener('load',(event) => {
if (e.detail.message.type == "chat"){
let msg = ( await immersClient.activities.getObject( e.detail.message.id ))
if (msg.object.context.location )
- addNewNote( e.detail.message.messageHTML ,msg.object.context.location.position )
+ addNewNote( e.detail.message.messageHTML, msg.object.context.location.position ,
+ "0.1 0.1 0.1", null, "immerschat", "true", msg.object.context.location.rotation )
else
addNewNote( e.detail.message.messageHTML )
// could hook on pinchended
@@ -999,7 +1000,10 @@ AFRAME.registerComponent('pinchprimary', { // currently only 1 hand, the right o
if (selectedElement){
let content = selectedElement.getAttribute("value")
if (content && immersClient && immersClient.connected){
- immersClient.place.location = { position: AFRAME.utils.coordinates.stringify(event.detail.position), rotation: "0 0 0" };
+ immersClient.place.location = {
+ position: AFRAME.utils.coordinates.stringify(event.detail.position),
+ rotation: AFRAME.utils.coordinates.stringify( selectedElement.getAttribute("rotation") )
+ };
immersClient.sendChatMessage(content, "public");
}
selectedElements.push({element:selectedElement, timestamp:Date.now(), primary:true})
@@ -1235,7 +1239,7 @@ AFRAME.registerComponent('hud', {
}
})
-function addNewNote( text, position=`-0.2 1.1 -0.1`, scale= "0.1 0.1 0.1", id=null, classes=null, visible="true" ){
+function addNewNote( text, position=`-0.2 1.1 -0.1`, scale= "0.1 0.1 0.1", id=null, classes=null, visible="true", rotation="0 0 0" ){
var newnote = document.createElement("a-troika-text")
newnote.setAttribute("anchor", "left" )
newnote.setAttribute("outline-width", "5%" )
@@ -1255,6 +1259,7 @@ function addNewNote( text, position=`-0.2 1.1 -0.1`, scale= "0.1 0.1 0.1", id=nu
newnote.setAttribute("value", text )
//newnote.setAttribute("font", "sw-test/Roboto-msdf.json")
newnote.setAttribute("position", position)
+ newnote.setAttribute("rotation", rotation)
newnote.setAttribute("scale", scale)
AFRAME.scenes[0].appendChild( newnote )
targets.push(newnote)
@@ -1803,6 +1808,18 @@ function addPageFromURL(url){
return el
}
+function getModelsFromWebDAV(){
+ const webdavurl = "https://webdav.benetou.fr";
+ const client = window.WebDAV.createClient(webdavurl)
+ async function getDirectory(path = "/"){ return await client.getDirectoryContents(path); }
+ getDirectory("models").then( d => d.sort( (a,b) => (a.filename>b.filename)).slice(0,10).map( (c,i) => addModelFromURL(webdavurl+c.filename)))
+}
+
+function addModelFromURL(url){
+ return addNewNote("jxr lg "+url+ " 0.001", -Math.random()+" "+Math.random()*3 + " -1")
+ // should try boxing it instead in 1m3
+}
+
// same principle to go from nextPage() to openingLinkedPages() from wiki URL
// consider screenstack, could add a note to mode further