work in progress [might break]

This commit is contained in:
Leon van Kammen 2023-12-15 19:03:58 +01:00
parent ae9eae1b20
commit f6132a29f4
8 changed files with 2788 additions and 12 deletions

View file

@ -1,5 +1,5 @@
/*
* v0.5.1 generated at Fri Dec 15 06:46:07 PM CET 2023
* v0.5.1 generated at Fri Dec 15 07:00:04 PM CET 2023
* https://xrfragment.org
* SPDX-License-Identifier: MPL-2.0
*/
@ -3095,6 +3095,8 @@ window.AFRAME.registerComponent('xrf', {
let url = opts.xrf.string
let isLocal = url.match(/^#/)
let hasPos = url.match(/pos=/)
let meeting = $('[meeting]') ? $('[meeting]').components['meeting'] : false
if(meeting) meeting.notifyTeleport(url)
if( isLocal && hasPos ){
// local teleports only
let fastFadeMs = 200
@ -3510,7 +3512,7 @@ AFRAME.registerComponent('meeting', {
return this
},
notifyTeleport: function(buttons){
notifyTeleport: function(url,buttons){
// send to network
this.sendChat({
content: `${this.data.visitorname} teleported to ${this.roomname}`,

View file

@ -1,5 +1,5 @@
/*
* v0.5.1 generated at Fri Dec 15 06:46:07 PM CET 2023
* v0.5.1 generated at Fri Dec 15 07:00:04 PM CET 2023
* https://xrfragment.org
* SPDX-License-Identifier: MPL-2.0
*/
@ -3089,6 +3089,8 @@ window.AFRAME.registerComponent('xrf', {
let url = opts.xrf.string
let isLocal = url.match(/^#/)
let hasPos = url.match(/pos=/)
let meeting = $('[meeting]') ? $('[meeting]').components['meeting'] : false
if(meeting) meeting.notifyTeleport(url)
if( isLocal && hasPos ){
// local teleports only
let fastFadeMs = 200
@ -3504,7 +3506,7 @@ AFRAME.registerComponent('meeting', {
return this
},
notifyTeleport: function(buttons){
notifyTeleport: function(url,buttons){
// send to network
this.sendChat({
content: `${this.data.visitorname} teleported to ${this.roomname}`,

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,5 @@
/*
* v0.5.1 generated at Fri Dec 15 06:46:07 PM CET 2023
* v0.5.1 generated at Fri Dec 15 07:00:04 PM CET 2023
* https://xrfragment.org
* SPDX-License-Identifier: MPL-2.0
*/

View file

@ -1,5 +1,5 @@
/*
* v0.5.1 generated at Fri Dec 15 06:46:07 PM CET 2023
* v0.5.1 generated at Fri Dec 15 07:00:04 PM CET 2023
* https://xrfragment.org
* SPDX-License-Identifier: MPL-2.0
*/

View file

@ -32,21 +32,21 @@
XRFMENU.logo = './../../assets/logo.png'
XRFMENU.morelabel = '⚡'
// add your menubuttons:
XRFMENU.html.push(`<a class="btn" aria-label="button" aria-description="help menu" onclick="window.showHelp()">💁 help?</a><br>`)
showHelp = () => window.notify(`
XRFMENU.html.push(`<a class="btn" aria-label="button" aria-description="about menu" onclick="window.showAbout()">💁 about</a><br>`)
showAbout = () => window.notify(`
<h1>💁 Hi there!</h1>
This XR experience works on almost any device.<br>
This XR fragments experience works almost anywhere.<br>
Allowing rich audiovisual events with(out)<br>
VR/AR headsets (it's awesome though ♥️)<br>
<br>
<b>This uses only open standards:</b><br>
📦 surf 3D models using URLs<br>
🧑‍🤝‍🧑 <b>instant</b> meetings inside hyperlinked 3D models<br>
🚫 no proprietary tech/game engines or platforms<br>
🚫 <b>zero proprietary</b> tech/game engines or platforms<br>
🙈 unhosted, privacy-friendly, avatar-agnostic scenes<br>
🔗 <a href="https://xrfragment.org" target="_blank">XR Fragments</a> for 3D hyper-linking & navigation<br>
🔗 <a href="https://xrfragment.org" target="_blank">XR Fragments</a> for 3D <b>hyper-linking</b> & navigation<br>
📷 Serverless & encrypted <a href="https://webrtc.org" target="_blank">P2P WebRTC</a> using <a href="https://github.com/dmotz/trystero" target="_blank">trystero</a><br>
🦍 <a href="https://immersiveweb.dev" target="_blank">WebXR</a> using <a href="https://aframe.io" target="_blank">AFRAME</a> + <a href="https://three.org" target="_blank">Three.js</a><br>
🙉 go selfhost <a href="https://github.com/coderofsalvation/xrfragment-helloworld">worlds-in-a-webpage</a><br>

View file

@ -62,6 +62,8 @@ window.AFRAME.registerComponent('xrf', {
let url = opts.xrf.string
let isLocal = url.match(/^#/)
let hasPos = url.match(/pos=/)
let meeting = $('[meeting]') ? $('[meeting]').components['meeting'] : false
if(meeting) meeting.notifyTeleport(url)
if( isLocal && hasPos ){
// local teleports only
let fastFadeMs = 200

View file

@ -350,7 +350,7 @@ AFRAME.registerComponent('meeting', {
return this
},
notifyTeleport: function(buttons){
notifyTeleport: function(url,buttons){
// send to network
this.sendChat({
content: `${this.data.visitorname} teleported to ${this.roomname}`,