Compare commits

..

No commits in common. "dde10e9de2f05c87c8aeb630bf44b818a9522da0" and "4dc6ff409c6a22ed3e401891ba27a9b89a96fe49" have entirely different histories.

61 changed files with 22 additions and 2270 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

View file

@ -1,77 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>JanusWeb</title>
<link rel="stylesheet" type="text/css" href="janusweb.css" media="all" />
<link rel="manifest" href="manifest.json">
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, maximum-scale=1.0, width=device-width" />
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="theme-color" content="#2f363b">
<meta property="og:type" content="website" />
<meta property="og:title" content="XRForge JanusWeb" />
<meta property="og:description" content="The World Within The Web" />
<meta property="og:image" content="https://janusxr.com/backgrounds/wallpapers/generic.png" />
<script src="janusweb.js"></script>
<script src="media/component/janus-script-peertube/translator.js"></script>
</head>
<body>
<janus-viewer src="./index.html"></janus-viewer> <!-- project this document in 3D -->
</body>
</html>
<!--
<fireboxroom>
<assets></assets>
<room use_local_asset="room_plane" fwd="0 0 1">
<object js_id="links" rotation="0 180 0">
<link js_id="1" pos="3 0 10" xdir="-0.866027 0 0.499998" ydir="0 1 0" zdir="-0.499998 0 -0.866027" url="https://www.reddit.com/r/vrsites" col="#ffffff" scale="1.5 3 1" draw_glow="false" >
<paragraph js_id="p" width="300" height="700" pos="0 1.53 0.05" transparent="true" scale="0.7 1.68 1" lighting="false">
<![CDATA[ <img src="media/images/portal.svg" width="300" height="700"/> ]]>
</paragraph>
</link>
<link js_id="3" pos="5 0 8.5" xdir="-0.707109 0 0.707105" ydir="0 1 0" zdir="-0.707105 0 -0.707109" url="https://vesta.janusxr.org" col="#ffffff" scale="1.5 3 1" draw_glow="false">
<paragraph js_id="p" width="300" height="700" pos="0 1.53 0.05" transparent="true" scale="0.7 1.68 1" lighting="false">
<![CDATA[ <img src="media/images/portal.svg" width="300" height="700"/> ]]>
</paragraph>
</link>
<link js_id="2" pos="-3 0 10" xdir="-0.866024 0 -0.500002" ydir="0 1 0" zdir="0.500002 0 -0.866024" url="workspaces" col="#ffffff" scale="1.5 3 1" draw_glow="false">
<paragraph js_id="p" width="300" height="700" pos="0 1.53 0.05" transparent="true" scale="0.7 1.68 1" lighting="false">
<![CDATA[ <img src="media/images/portal.svg" width="300" height="700"/> ]]>
</paragraph>
</link>
<link js_id="4" pos="-5 0 8.5" xdir="-0.707106 0 -0.707108" ydir="0 1 0" zdir="0.707108 0 -0.707106" url="bookmarks" col="#ffffff" scale="1.5 3 1" draw_glow="false">
<paragraph js_id="p" width="300" height="700" pos="0 1.53 0.05" transparent="true" scale="0.7 1.68 1" lighting="false">
<![CDATA[ <img src="media/images/portal.svg" width="300" height="700"/> ]]>
</paragraph>
</link>
<link js_id="0" pos="0 0 10.8" xdir="-1 0 -0.000002" ydir="0 1 0" zdir="0.000002 0 -1" url="https://www.janusxr.org/newlobby/index.html" col="#ffffff" scale="1.5 3 1" draw_glow="false">
<paragraph js_id="p" width="300" height="700" pos="0 1.53 0.05" transparent="true" scale="0.7 1.68 1" lighting="false">
<![CDATA[ <img src="media/images/portal.svg" width="300" height="700"/> ]]>
</paragraph>
</link>
<link js_id="5" pos="-6.51 0 6.5" rotation="-180 65 -180" url="https://xrforge.isvery.ninja" col="#ffffff" scale="1.5 3 1" draw_glow="false">
<paragraph js_id="p" width="300" height="700" pos="0 1.53 0.05" transparent="true" scale="0.7 1.68 1" lighting="false">
<![CDATA[ <img src="media/images/portal.svg" width="300" height="700"/> ]]>
</paragraph>
</link>
</object>
</room>
</fireboxroom>
-->

View file

@ -1,133 +0,0 @@
[
{ "assettype":"model", "name":"capsule", "src":"assets/primitives/capsule.obj" },
{ "assettype":"model", "name":"cone", "src":"assets/primitives/cone.obj" },
{ "assettype":"model", "name":"cube", "src":"assets/primitives/cube.obj" },
{ "assettype":"model", "name":"cylinder", "src":"assets/primitives/cylinder.obj" },
{ "assettype":"model", "name":"pipe", "src":"assets/primitives/pipe.obj" },
{ "assettype":"model", "name":"plane", "src":"assets/primitives/plane.obj" },
{ "assettype":"model", "name":"pyramid", "src":"assets/primitives/pyramid.obj" },
{ "assettype":"model", "name":"sphere", "src":"assets/primitives/sphere.obj" },
{ "assettype":"model", "name":"torus", "src":"assets/primitives/torus.obj" },
{ "assettype":"image", "name":"room1_tex0", "src":"assets/rooms/room1.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"room2_tex0", "src":"assets/rooms/room2.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"room3_tex0", "src":"assets/rooms/room3.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"room4_tex0", "src":"assets/rooms/room4.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"room5_tex0", "src":"assets/rooms/room5.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"room6_tex0", "src":"assets/rooms/room6.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"room_1pedestal_tex0", "src":"assets/rooms/room_1pedestal.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"room_2pedestal_tex0", "src":"assets/rooms/room_2pedestal.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"room_3_narrow_tex0", "src":"assets/rooms/room_3_narrow.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"room_3_wide_tex0", "src":"assets/rooms/room_3_wide.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"room_4_narrow_tex0", "src":"assets/rooms/room_4_narrow.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"room_4_wide_tex0", "src":"assets/rooms/room_4_wide.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"room_box_small_tex0", "src":"assets/rooms/room_box_small.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"room_box_medium_tex0", "src":"assets/rooms/room_box_medium.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"room1_new_tex0", "src":"assets/rooms/room1_new.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"room_home_tex0", "src":"assets/rooms/room_home.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"room_plane_tex0", "src":"assets/rooms/tile_d.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"room_plane2_tex0", "src":"assets/rooms/room_plane2.png", "hasalpha": false, "preload": false },
{ "assettype":"model", "name":"room1", "src":"assets/rooms/room1.obj", "tex0":"room1_tex0", "hasalpha": false },
{ "assettype":"model", "name":"room2", "src":"assets/rooms/room2.obj", "tex0":"room2_tex0", "hasalpha": false },
{ "assettype":"model", "name":"room3", "src":"assets/rooms/room3.obj", "tex0":"room3_tex0", "hasalpha": false },
{ "assettype":"model", "name":"room4", "src":"assets/rooms/room4.obj", "tex0":"room4_tex0", "hasalpha": false },
{ "assettype":"model", "name":"room5", "src":"assets/rooms/room5.obj", "tex0":"room5_tex0", "hasalpha": false },
{ "assettype":"model", "name":"room6", "src":"assets/rooms/room6.obj", "tex0":"room6_tex0", "hasalpha": false },
{ "assettype":"model", "name":"room_1pedestal", "src":"assets/rooms/room_1pedestal.obj", "tex0":"room_1pedestal_tex0", "hasalpha": false },
{ "assettype":"model", "name":"room_2pedestal", "src":"assets/rooms/room_2pedestal.obj", "tex0":"room_2pedestal_tex0", "hasalpha": false },
{ "assettype":"model", "name":"room_3_narrow", "src":"assets/rooms/room_3_narrow.obj", "tex0":"room_3_narrow_tex0", "hasalpha": false },
{ "assettype":"model", "name":"room_3_wide", "src":"assets/rooms/room_3_wide.obj", "tex0":"room_3_wide_tex0", "hasalpha": false },
{ "assettype":"model", "name":"room_4_narrow", "src":"assets/rooms/room_4_narrow.obj", "tex0":"room_4_narrow_tex0", "hasalpha": false },
{ "assettype":"model", "name":"room_4_wide", "src":"assets/rooms/room_4_wide.obj", "tex0":"room_4_wide_tex0", "hasalpha": false },
{ "assettype":"model", "name":"room_box_small", "src":"assets/rooms/room_box_small.obj", "tex0":"room_box_small_tex0", "hasalpha": false },
{ "assettype":"model", "name":"room_box_medium", "src":"assets/rooms/room_box_medium.obj", "tex0":"room_box_medium_tex0", "hasalpha": false },
{ "assettype":"model", "name":"room1_new", "src":"assets/rooms/room1_new.obj", "tex0":"room1_new_tex0", "hasalpha": false },
{ "assettype":"model", "name":"room_home", "src":"assets/rooms/room_home.obj", "tex0":"room_home_tex0", "hasalpha": false },
{ "assettype":"model", "name":"room_plane", "src":"assets/rooms/room_plane.obj", "tex0":"room_plane_tex0", "hasalpha": false },
{ "assettype":"model", "name":"room_plane2", "src":"assets/rooms/room_plane2.obj", "tex0":"room_plane2_tex0", "hasalpha": false },
{ "assettype":"model", "name":"room1_collision", "src":"assets/rooms/room1_collision.obj" },
{ "assettype":"model", "name":"room2_collision", "src":"assets/rooms/room2_collision.obj" },
{ "assettype":"model", "name":"room3_collision", "src":"assets/rooms/room3_collision.obj" },
{ "assettype":"model", "name":"room4_collision", "src":"assets/rooms/room4_collision.obj" },
{ "assettype":"model", "name":"room5_collision", "src":"assets/rooms/room5_collision.obj" },
{ "assettype":"model", "name":"room6_collision", "src":"assets/rooms/room6_collision.obj" },
{ "assettype":"model", "name":"room_1pedestal_collision", "src":"assets/rooms/room_1pedestal_collision.obj" },
{ "assettype":"model", "name":"room_2pedestal_collision", "src":"assets/rooms/room_2pedestal_collision.obj" },
{ "assettype":"model", "name":"room_3_narrow_collision", "src":"assets/rooms/room_3_narrow_collision.obj" },
{ "assettype":"model", "name":"room_3_wide_collision", "src":"assets/rooms/room_3_wide_collision.obj" },
{ "assettype":"model", "name":"room_4_narrow_collision", "src":"assets/rooms/room_4_narrow_collision.obj" },
{ "assettype":"model", "name":"room_4_wide_collision", "src":"assets/rooms/room_4_wide_collision.obj" },
{ "assettype":"model", "name":"room_box_small_collision", "src":"assets/rooms/room_box_small_collision.obj" },
{ "assettype":"model", "name":"room_box_medium_collision", "src":"assets/rooms/room_box_medium_collision.obj" },
{ "assettype":"model", "name":"room1_new_collision", "src":"assets/rooms/room1_new_collision.obj" },
{ "assettype":"model", "name":"room_home_collision", "src":"assets/rooms/room_home_collision.obj" },
{ "assettype":"model", "name":"room_plane_collision", "src":"assets/rooms/room_plane_collision.obj" },
{ "assettype":"model", "name":"room_plane2_collision", "src":"assets/rooms/room_plane2_collision.obj" },
{ "assettype":"image", "name":"black", "src":"assets/black.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"clear", "src":"assets/clear.png", "hasalpha": true, "preload": false },
{ "assettype":"image", "name":"dark_back", "src":"assets/skybox/dark_back.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"dark_down", "src":"assets/skybox/dark_down.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"dark_front", "src":"assets/skybox/dark_front.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"dark_left", "src":"assets/skybox/dark_left.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"dark_right", "src":"assets/skybox/dark_right.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"dark_up", "src":"assets/skybox/dark_up.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"miramar_back", "src":"assets/skybox/miramar_back.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"miramar_down", "src":"assets/skybox/miramar_down.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"miramar_front", "src":"assets/skybox/miramar_front.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"miramar_left", "src":"assets/skybox/miramar_left.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"miramar_right", "src":"assets/skybox/miramar_right.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"miramar_up", "src":"assets/skybox/miramar_up.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"skyrender_back", "src":"assets/skybox/skyrender_back.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"skyrender_down", "src":"assets/skybox/skyrender_down.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"skyrender_front", "src":"assets/skybox/skyrender_front.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"skyrender_left", "src":"assets/skybox/skyrender_left.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"skyrender_right", "src":"assets/skybox/skyrender_right.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"skyrender_up", "src":"assets/skybox/skyrender_up.png", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"dayskybox_back", "src":"assets/skybox/Day/Dayback.jpg", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"dayskybox_down", "src":"assets/skybox/Day/Daybottom.jpg", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"dayskybox_front", "src":"assets/skybox/Day/Dayfront.jpg", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"dayskybox_left", "src":"assets/skybox/Day/Dayleft.jpg", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"dayskybox_right", "src":"assets/skybox/Day/Dayright.jpg", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"dayskybox_up", "src":"assets/skybox/Day/Daytop.jpg", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"nightskybox_back", "src":"assets/skybox/Night/Nightback.jpg", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"nightskybox_down", "src":"assets/skybox/Night/Nightbottom.jpg", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"nightskybox_front", "src":"assets/skybox/Night/Nightfront.jpg", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"nightskybox_left", "src":"assets/skybox/Night/Nightleft.jpg", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"nightskybox_right", "src":"assets/skybox/Night/Nightright.jpg", "hasalpha": false, "preload": false },
{ "assettype":"image", "name":"nightskybox_up", "src":"assets/skybox/Night/Nighttop.jpg", "hasalpha": false, "preload": false },
{ "assettype":"model", "name":"avatar", "src":"assets/avatar.obj", "tex0": "avatar_tex0" },
{ "assettype":"model", "name":"avatar_head", "src":"assets/avatar_head.obj", "tex0": "avatar_head_tex0" },
{ "assettype":"model", "name":"avatar_gltf", "src":"assets/janus-avatar-base.glb" },
{ "assettype":"model", "name":"avatar_animations", "src":"assets/janus-avatar-animations.glb" },
{ "assettype":"image", "name":"avatar_tex0", "src":"assets/avatar.png", "preload": false },
{ "assettype":"image", "name":"avatar_head_tex0", "src":"assets/avatar_head.png", "preload": false },
{ "assettype":"model", "name":"avatar_janusweb", "src":"assets/hoverscreen.obj" },
{ "assettype":"model", "name":"loading", "src":"assets/loading.obj" },
{ "assettype":"image", "name":"cursor_arrow", "src":"assets/cursor/arrow.png", "hasalpha": true },
{ "assettype":"image", "name":"cursor_crosshair", "src":"assets/cursor/crosshair.png", "hasalpha": true },
{ "assettype":"image", "name":"cursor_hand", "src":"assets/cursor/hand.png", "hasalpha": true },
{ "assettype":"image", "name":"cursor_dot_inactive", "src":"assets/cursor/cursor-dot-white.png", "hasalpha": true },
{ "assettype":"image", "name":"cursor_dot_active", "src":"assets/cursor/cursor-dot-green.png", "hasalpha": true },
{ "assettype":"model", "name":"controller_daydream", "src":"assets/controllers/daydream/vr_controller_daydream.obj", "mtl":"vr_controller_daydream.mtl" },
{ "assettype":"model", "name":"controller_vive", "src":"assets/controllers/vive/ViveController.dae.gz" },
{ "assettype":"model", "name":"controller_touch_left", "src":"assets/controllers/oculus/TouchLeftModified.dae.gz" },
{ "assettype":"model", "name":"controller_touch_right", "src":"assets/controllers/oculus/TouchRight.dae.gz" },
{ "assettype":"font", "name":"helvetiker", "src":"assets/fonts/helvetiker_regular.typeface.json" },
{ "assettype":"shader", "name":"defaultportal", "shadertype":"shadertoy","fragment_src":"assets/shaders/greenportal2.shadertoy.frag", "preload":true },
{ "assettype":"model", "name":"button", "src":"component/janus-script-peertube/asset/button.glb", "preload":true},
{ "assettype":"model", "name":"icon", "src":"component/janus-script-peertube/asset/button.icon.glb", "preload":true},
{ "assettype":"sound", "name":"button-click", "src":"component/janus-script-peertube/asset/button.click.mp3", "preload":true},
{ "assettype":"sound", "name":"button-hover", "src":"component/janus-script-peertube/asset/button.hover.mp3", "preload":true}
]

View file

@ -1,104 +0,0 @@
const PeertubeTranslatorBaseURL = document.currentScript.src.replace("/translator.js","")
elation.require([], function() {
elation.component.add('janusweb.translators.peertube', function() {
this.init = function() {
this.description = "peertube website to 3D translator"
}
this.exec = function(args) {
return new Promise(elation.bind(this, function(resolve, reject) {
var room = this.room = args.room;
reject() // for now
this.setupEvents()
var datapath = elation.config.get('janusweb.datapath', '/media/janusweb');
var roomdata = {
assets: {
assetlist: [
// {assettype: 'model', name: 'scene', src: args.url},
]
},
room: {
pos: [0,0,0],
xdir: "1 0 0",
zdir: "0 0 1",
},
object: [
// {id: 'scene', js_id: 0, pos: "0 0 0", xdir: "-1 0 0", zdir: "0 0 -1", lighting: "false"}
],
link: []
};
resolve(roomdata);
}));
}
// translate XR Fragments microformat into JML
this.parseSource = async function(sourcecode, room){
this.room = room
const isJML = /<fireboxroom>[\s\S]*?<\/fireboxroom>/si;
const isPeertube = /<meta\s+[^>]*property=['"]og:platform['"]\s+[^>]*content=['"]peertube['"][^>]*\/?>/si;
const isPeertubeVideo = /<meta\s+[^>]*property=['"]og:type['"]\s+[^>]*content=['"]video['"][^>]*\/?>/si;
const isPeertubeInstance = /<meta\s+[^>]*property=['"]og:type['"]\s+[^>]*content=['"]website['"][^>]*\/?>/si;
const is = {
JML: sourcecode.match(isJML),
peertube: sourcecode.match(isPeertube),
peertubeVideo: sourcecode.match(isPeertubeVideo),
peertubeInstance: sourcecode.match(isPeertubeInstance),
}
if( is.JML || !is.peertube ) return // JML takes precedence over microformats
if( !is.peertubeVideo && !is.peertubeInstance ) return
// ok..peertube time: get domtree
let el = document.createElement("div")
el.innerHTML = sourcecode
// try to fetch title + cover
const title = el.querySelector("title")
let logo = el.querySelector("meta[property='og:image']")?.getAttribute("content")
logo = logo ? logo : el.querySelector("meta[property='og:image:url']")?.getAttribute("content")
let url = new URL( String(room.url) )
let instance = url?.origin
let search = url?.search ? new URLSearchParams(url.search).get("search") : ""
room.corsproxy = ''
// return JML
let parsed = room.parseSource(`
<title>${ title ? title.innerText.replace(/\n.*/g,'') : room.baseurl.split("/").pop() }</title>
<FireBoxRoom>
<Assets>
${ logo ? `<assetimage src="${logo}" id="logo"/>` : ''}
<assetscript src="${PeertubeTranslatorBaseURL}/janus-script-peertube.js" proxy="false"/>
</Assets>
<Room use_local_asset="room5" pos="1.15 0 -5">
${ is.peertubeInstance ? `<peertube-app pos="4.55 2.71 0" scale="2 2 1" rotation="0 90 0" js_id="mypeertube-app" instance="${instance}" ${search?`search="${search}"`:``} autoload="true"/>`
: `<peertube pos="4.55 2.71 0" scale="2 2 1" rotation="0 90 0" js_id="peertube" src="${room.url}" auto_play="true"/>`
}
<object position='12.2 0 0' rotation="0 -90 0">
${ logo ? `<image id="logo" pos='0 5 0' scale='3 3 2' lighting="false" />` : ''}
<text text="${room.url.replace(/.*:\/\//,'')}" pos='0 1.45 0' scale='7 7 7' lighting="false" col='#000000'/>
<text text="Peertube" pos='0 8.6 0' scale='4 4 4' lighting="false" col='#000000'/>
</object>
</Room>
</FireBoxRoom>
`)
return parsed
}
// peertube microformat heuristic: <meta property="og:platform" content="PeerTube">
this.parseSource.regex = /<meta\s+[^>]*property=['"]og:platform['"]\s+[^>]*content=['"]peertube['"][^>]*\/?>/si;
});
});
elation.events.add(null, 'room_translator_register', function(e){
const room = e.element
const translators = e.data.translators
// prepend translator
e.data.translators = {}
e.data.translators['!peertube'] = elation.janusweb.translators.peertube({janus: janus})
for( let i in translators ){
e.data.translators[i] = translators[i]
}
})

View file

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 57 KiB

View file

@ -0,0 +1,4 @@
[Desktop Entry]
Type=Link
Name=icosa gallery
URL=https://icosa.gallery/collections

View file

Before

Width:  |  Height:  |  Size: 147 KiB

After

Width:  |  Height:  |  Size: 147 KiB

View file

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 91 KiB

View file

@ -4,5 +4,3 @@
This basically extends [the seamless JanusXR portalsystem](https://coderofsalvation.github.io/janus-guide/#/home/about) by <b>interconnecting</b> otherwise immersively-disjointed ecosystems like [AFRAME](https://aframe.io), by [reprojecting them in 3D](https://coderofsalvation.github.io/janus-guide/#/home/about).
Currently only geometry markup and models are supported.
> This example renders a local AFRAME URL

View file

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View file

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

View file

@ -1,4 +0,0 @@
[Desktop Entry]
Type=Link
Name=icosa gallery
URL=https://icosa.gallery/collections/LSc_DPROGR8

View file

@ -1 +0,0 @@
AFRAME.jpg

View file

@ -1,4 +0,0 @@
[Desktop Entry]
Type=Link
Name=AFRAME remote example
URL=https://aframe.io/aframe/examples/boilerplate/hello-world/

View file

@ -1,8 +0,0 @@
# AFRAME hello world
[XRForge's](https://xrforge.isvery.ninja/) [JanusXR](https://coderofsalvation.github.io/janus-guide/)-viewer ([janusweb](https://github.com/jbaicoianu/janusweb)) can detect [AFRAME](https://aframe.io) markup in HTML/XML/even binary files(!).
This basically extends [the seamless JanusXR portalsystem](https://coderofsalvation.github.io/janus-guide/#/home/about) by <b>interconnecting</b> otherwise immersively-disjointed ecosystems like [AFRAME](https://aframe.io), by [reprojecting them in 3D](https://coderofsalvation.github.io/janus-guide/#/home/about).
Currently only geometry markup and models are supported.
> This example renders a remote AFRAME URL

View file

@ -1,5 +0,0 @@
Demo of [XR Movies](https://xrfragment.org/#XR%20Movies%20%26%20books) using XR Fragments
* [default spawnpoint](https://xrfragment.org/#default%20spawn%20location)
* [WebVTT](https://xrfragment.org/#WebVTT%20subtitles) subtitles
* [href](https://xrfragment.org/#href) links/portals

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 MiB

View file

@ -1,27 +0,0 @@
WEBVTT
00:01.000 --> 00:04.000 href:#spawn
<v welcome> to a special experience.
00:06.000 --> 00:10.000
This is a special place..
00:11.000 --> 00:16.000 href:#platformA
A place to learn..
00:20.000 --> 00:25.000 href:#platformB
A place to reflect..
00:30.000 --> 00:33.000 href:#spawn_divine
Lets go inside..
00:36.000 --> 00:39.000 href:#inside
Here we are..
00:45.000 --> 00:48.000
Let's visit portals..
00:50.000 --> 00:57.000 href:#spawn
Try the portals on your left..

Binary file not shown.

Before

Width:  |  Height:  |  Size: 337 KiB

View file

Before

Width:  |  Height:  |  Size: 170 KiB

After

Width:  |  Height:  |  Size: 170 KiB

View file

Before

Width:  |  Height:  |  Size: 315 KiB

After

Width:  |  Height:  |  Size: 315 KiB

View file

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View file

@ -1,62 +0,0 @@
<h1>Hi there! 👋</h1>
Welcome to the [VAPORWAVE PLAZA】ぼをが
<br/>
<div class="btn script">
<button class="btn secondary" onclick="document.querySelector('#tips').style.display = ''">Tips for navigating in XR</button>
</div>
<div id="tips" style="display:none">
<br/>
<table>
<tr>
<td>
<b>Keyboard+Mouse</b>
</td>
<td>
use the WASD-keys and mousedrag to navigate
</td>
</tr>
<tr>
<td width="200">
<b>AR/VR headset</b>
</td>
<td>
walk around / use right-longpinch (or thumbstick) for local teleports<br/>
</td>
</tr>
<tr>
<td>
<b>PhoneVR</b>
</td>
<td>
use gaze or bluetooth/mouse to navigate
</td>
</tr>
<tr>
<td>
<b>PhoneAR</b>
</td>
<td>
walk around and tap screen to click
</td>
</tr>
<tr>
<td>
<b>Mobile</b>
</td>
<td>
use the WASD-keys and mousedrag to navigate
</td>
</tr>
</table>
<br/>
You've got this!
</div>
<br/>
Variation of: https://vesta.janusxr.org/virtualplaza/welcome-to-the-virtual-plaza
Updated with fixed links, works with the newer software.
#vaporwave #aesthetic

View file

@ -1,4 +0,0 @@
[Desktop Entry]
Type=Link
Name=VaporWave Plaza
URL=https://vesta.janusxr.org/spyduck/vaporwave-plaza

Binary file not shown.

Before

Width:  |  Height:  |  Size: 457 KiB

View file

@ -1,57 +0,0 @@
<h1>Hi there! 👋</h1>
Welcome to Vesta Worlds,
<br/>
<div class="btn script">
<button class="btn secondary" onclick="document.querySelector('#tips').style.display = ''">Tips for navigating in XR</button>
</div>
<div id="tips" style="display:none">
<br/>
<table>
<tr>
<td>
<b>Keyboard+Mouse</b>
</td>
<td>
use the WASD-keys and mousedrag to navigate
</td>
</tr>
<tr>
<td width="200">
<b>AR/VR headset</b>
</td>
<td>
walk around / use right-longpinch (or thumbstick) for local teleports<br/>
</td>
</tr>
<tr>
<td>
<b>PhoneVR</b>
</td>
<td>
use gaze or bluetooth/mouse to navigate
</td>
</tr>
<tr>
<td>
<b>PhoneAR</b>
</td>
<td>
walk around and tap screen to click
</td>
</tr>
<tr>
<td>
<b>Mobile</b>
</td>
<td>
use the WASD-keys and mousedrag to navigate
</td>
</tr>
</table>
<br/>
You've got this!
</div>
<br/>
VESTA is a social network for JanusXR experiences. Share, explore and create 3D worlds, games and videos with your friends across multiple metaverses.

View file

@ -1,4 +0,0 @@
[Desktop Entry]
Type=Link
Name=Vesta Worlds
URL=https://vesta.janusxr.org

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

View file

@ -6,7 +6,7 @@ header h2{
font-weight: normal;
}
header{
background-image: linear-gradient(0deg,#0000,#101,#0000), url(myverse/tech-demos/tronverse/tron/tron.png);
background-image: linear-gradient(0deg,#0000,#101,#0000), url(myverse/tronverse/tron/tron.png);
background-position-x: 0%;
background-position-y: 0%;
background-repeat: repeat;

View file

@ -55,28 +55,28 @@ local plugin = {
key='app.opts.plugin_federation_url_1',
title='Federated URL 1',
info="URL and/or Thumbnail URL (space separated)",
default="https://xrforge.isvery.ninja /img/xrforge.jpg",
default="https://xrforge.isvery.ninja https://i.imgur.com/x7fzn9v.png",
values=''
},
{
key='app.opts.plugin_federation_url_2',
title='Federated URL 2',
info="URL and/or Thumbnail URL (space separated)",
default="https://spyduck.net /img/cover-spyduck.jpg",
default="https://aframe.io/aframe/examples/boilerplate/hello-world/ /myverse/janusxr_tutorial/AFRAME.jpg",
values=''
},
{
key='app.opts.plugin_federation_url_3',
title='Federated URL 3',
info="URL and/or Thumbnail URL (space separated)",
default="https://nazrin.net/Hub /img/cover-nazrin.jpg",
default="https://spyduck.net /img/cover-spyduck.jpg",
values=''
},
{
key='app.opts.plugin_federation_url_4',
title='Federated URL 4',
info="URL and/or Thumbnail URL (space separated)",
default="",
default="https://nazrin.net/Hub /img/cover-nazrin.jpg",
values=''
},
{

View file

@ -2,11 +2,7 @@ local util = require('util')
local apiSync = require('apiSync')
app.on('init', function()
if not app.opts.plugin_diskscan_dir:match("^/zip/") then
app.plugin.openbrush.api = apiSync.init( 'openbrush' )
else
print("[openbrush.lua] disabled..please create a 'myverse' dir we can store files into")
end
app.plugin.openbrush.api = apiSync.init( 'openbrush' )
end)
local function scanTiltFile(exp)
@ -120,7 +116,7 @@ local plugin = {
key='app.opts.plugin_openbrush_sync_folder',
title='Sync to folder',
info='openbrush (icosa.gallery) assets will be saved here',
default = "./myverse/tech-demos/tronverse",
default = "./myverse/tronverse",
type = "dir",
values = {} -- populated by plugin/diskscan.lua
},

View file

@ -55,15 +55,15 @@ local plugin = {
key='app.opts.plugin_rssatom_url_1',
title='RSS/Atom URL 1',
info="URL and/or Thumbnail URL (space separated)",
default="https://mastodon.online/@lvk.rss img/mastodon.jpg",
values='https://mastodon.online/@lvk.rss img/mastodon.jpg'
default="https://mastodon.online/@lvk.rss https://pbs.twimg.com/profile_images/1604566357206601730/dlRNo-V-_400x400.jpg",
values='https://mastodon.online/@lvk.rss https://pbs.twimg.com/profile_images/1604566357206601730/dlRNo-V-_400x400.jpg'
},
{
key='app.opts.plugin_rssatom_url_2',
title='RSS/Atom URL 2',
info="URL and/or Thumbnail URL (space separated)",
default="https://nlnet.nl/feed.atom img/nlnet.jpg",
values='https://nlnet.nl/feed.atom img/nlnet.jpg'
default="https://nlnet.nl/feed.atom https://nlnet.nl/logo/history/logo-640x732-pre-2024.jpg",
values='https://nlnet.nl/feed.atom https://nlnet.nl/logo/history/logo-640x732-pre-2024.jpg'
},
{
key='app.opts.plugin_rssatom_url_3',

View file

@ -4,7 +4,7 @@ OUTDIR=result/bin
REDBEAN_URL="https://redbean.dev/redbean-3.0.0.com"
REDBEAN_CRC="382f1288bb96ace4bab5145e7df236846c33cc4f1be69233710682a9e71e7467 $OUTDIR/xrforge.com"
get(){
download(){
redbean(){
test -d $OUTDIR || mkdir -p $OUTDIR
@ -32,20 +32,18 @@ get(){
janusweb(){
set -x
test -d pkg/janusweb || {
mkdir pkg &>/dev/null || true
test -d janusweb || {
version=1.7.5
test -f janusweb-${version}.tar.gz || {
wget "https://github.com/coderofsalvation/janusweb/releases/download/v${version}-rc/janusweb-${version}.tar.gz"
}
test -d janusweb-${version} || tar -xvf janusweb-${version}.tar.gz
mv janusweb-${version} pkg/janusweb
mv janusweb-${version} janusweb
}
set -x
rsync -avLu pkg/janusweb src/. # overlay but leave newer files intact
rsync -avL janusweb src/.
# cleanup
rm src/janusweb/janusxr.com || true
rm src/janusweb/test || true
rm src/janusweb/media/test || true
# set xrforge as defualt config
cp src/janusweb/media/assets/webui/{xrforge,default}.json
}
@ -54,12 +52,11 @@ get(){
}
build(){
get redbean
get janusweb
download redbean
download janusweb
cd src
bundle(){ zip -yr $1 * .lua .init.lua .args; }
bundle ../result/bin/xrforge.com
unzip -l ../result/bin/xrforge.com
test -n "$ARCH" && bundle ../result/bin/xrforge-$ARCH.com
}