From c81f37d2c31371092169af98f0eb46e9e250bdfd Mon Sep 17 00:00:00 2001 From: Leon van Kammen Date: Tue, 18 Aug 2026 15:30:10 +0200 Subject: [PATCH] added share button + parent world link --- .env | 4 +- src/.init.lua | 3 +- src/.lua/util.lua | 2 +- src/css/xrforge.css | 2 +- src/img/share.svg | 12 +++ src/myverse/janusxr_tutorial/AFRAME.jpg | Bin 33229 -> 93112 bytes .../janusxr_tutorial/AFRAME/index.html | 1 + src/page/dir.html | 35 ++++---- src/page/dir.lua | 34 +++++--- src/page/footer.html | 2 +- src/page/header.html | 26 ++++++ src/page/index.html | 7 +- src/page/janusxr.html | 15 ++-- src/plugin/diskscan.lua | 15 ++++ src/plugin/federation.lua | 15 +++- src/plugin/global.lua | 2 +- src/plugin/janusxr.lua | 75 +++++++++++++++++- src/plugin/markdown.lua | 1 + src/plugin/peertube.lua | 1 + src/plugin/pubnix.lua | 50 ++++++++++++ src/plugin/rssatom.lua | 1 + src/plugin/xrfragments.lua | 2 +- src/util/{xrforge.sh => build.sh} | 2 +- 23 files changed, 257 insertions(+), 50 deletions(-) create mode 100644 src/img/share.svg create mode 100644 src/plugin/pubnix.lua rename src/util/{xrforge.sh => build.sh} (95%) diff --git a/.env b/.env index f0395e0..8f0b117 100644 --- a/.env +++ b/.env @@ -1,6 +1,6 @@ # aliases -build(){ $(pwd)/src/util/xrforge.sh build; } -rebuild(){ $(pwd)/src/util/xrforge.sh rebuild; } +build(){ $(pwd)/src/util/build.sh build; } +rebuild(){ $(pwd)/src/util/build.sh rebuild; } # forgejo server hook #test "$GITEA_ROOT_URL" = "https://xrforge.isvery.ninja/" && { diff --git a/src/.init.lua b/src/.init.lua index 8ac293b..19a8029 100644 --- a/src/.init.lua +++ b/src/.init.lua @@ -54,6 +54,7 @@ app.opts = require('config')(app) -- load system plugins (in specific order for admin panel) app.plugin.global = app.addPlugin('plugin/global') +app.plugin.pubnix = app.addPlugin('plugin/pubnix') app.plugin.diskscan = app.addPlugin('plugin/diskscan') app.plugin.convert = app.addPlugin('plugin/convert') app.plugin.moderation = app.addPlugin('plugin/moderation') @@ -76,7 +77,7 @@ print = function(...) Log(kLogInfo, ... or "''") end -- nice redbean logging fro -- init URL router app.url['^/data'] = '/data.lua' -- setup custom file endpoint -app.get('^/$', app.plugin.global.middleware.homepage_2D_or_3D ) +app.use( app.plugin.global.middleware.homepage_2D_or_3D ) app.url['^/admin[/]?$'] = '/page/admin/index.lua' app.get('^/design[/]?$', util.pagerender('page/design.html')) diff --git a/src/.lua/util.lua b/src/.lua/util.lua index 4a41541..47b1735 100644 --- a/src/.lua/util.lua +++ b/src/.lua/util.lua @@ -327,7 +327,7 @@ end function util.stripPath(str) - return str:gsub("^./",""):gsub("^/",""):gsub("/$","") + return str:gsub("^/zip/",""):gsub("^./",""):gsub("^/",""):gsub("/$","") end -- WARNING: this is a destructive function which renders the redbean server inactive diff --git a/src/css/xrforge.css b/src/css/xrforge.css index e6e0e93..931686f 100644 --- a/src/css/xrforge.css +++ b/src/css/xrforge.css @@ -151,7 +151,7 @@ form > table > tbody > tr > td:nth-child(3) { .primary { color: #ff33Ff;} .secondary { color: #7070ff;} .btn a.primary{ background: #ff33Ff; color:#000} -.btn a.secondary{ background: #224; color: #83f; } +.btn a.secondary{ background: #000; color: #83f; } .pad1{ padding:20px; diff --git a/src/img/share.svg b/src/img/share.svg new file mode 100644 index 0000000..1e9e83d --- /dev/null +++ b/src/img/share.svg @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/src/myverse/janusxr_tutorial/AFRAME.jpg b/src/myverse/janusxr_tutorial/AFRAME.jpg index 272b50c8e6e18fefb804c57541a709793896887a..9105c08e5f6c144e6f55e9732fabfe4818fba613 100644 GIT binary patch literal 93112 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 Jme$)p|JlMD3Mv2q literal 33229 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 diff --git a/src/myverse/janusxr_tutorial/AFRAME/index.html b/src/myverse/janusxr_tutorial/AFRAME/index.html index f94228c..d80892b 100644 --- a/src/myverse/janusxr_tutorial/AFRAME/index.html +++ b/src/myverse/janusxr_tutorial/AFRAME/index.html @@ -1,3 +1,4 @@ + diff --git a/src/page/dir.html b/src/page/dir.html index 029b863..c9ec6f4 100644 --- a/src/page/dir.html +++ b/src/page/dir.html @@ -5,7 +5,7 @@ ${header}

${opts.title}


-
${opts.plugin_global_subtitle}
+
${opts.plugin_global_subtitle}

]]) @@ -21,20 +21,23 @@ end} {if items then for i=1,#items do local item = items[i] - local icon = 'list-tree' - local thumbnail = '' - if #item.thumbnail > 0 then thumbnail = 'style="background-image: url(' .. EscapeFragment( util.stripPath(item.thumbnail) ) .. ');"' end - if item.view3D or item.portal3D == false then icon = 'play' end - print([[ - - ]]) + local visible = item.view2D == nil or (item.view2D ~= nil and item.view2D ~= false) + if visible then + local icon = 'list-tree' + local thumbnail = '' + if #item.thumbnail > 0 then thumbnail = 'style="background-image: url(' .. EscapeFragment( util.stripPath(item.thumbnail) ) .. ');"' end + if item.view3D or item.portal3D == false then icon = 'play' end + print([[ + + ]]) + end end end} {if itemsremote then @@ -46,7 +49,7 @@ end} if item.view3D or item.portal3D == false then icon = 'play' end print([[
- +
 ]] .. item.title .. [[ diff --git a/src/page/dir.lua b/src/page/dir.lua index d777100..9442cdc 100644 --- a/src/page/dir.lua +++ b/src/page/dir.lua @@ -30,17 +30,13 @@ return { -- "parent = " .. util.stripPath(v.parent.path) .. " " .. -- "matchpath = " .. util.stripPath(matchpath) -- ) - if match(v.path, matchpath) then -- show parent folder if any - local parent = app.cache.items[ v.parent.id ] - if v.portal then - trace("-- portal redirect") - redirect = v.portal.url - end - if match(parent.path, app.opts.plugin_diskscan_dir) then -- add rootfolder if needed - local root = app.cache.items[ app.opts.plugin_diskscan_dir ] - --res.items[ root.id ] = root - end - end + --if match(v.path, matchpath) then -- add parent folder if any + --res.items[ v.parent.id ] = v.parent + -- if match(v.parent.path, app.opts.plugin_diskscan_dir) then -- add rootfolder if needed + -- local root = app.cache.items[ app.opts.plugin_diskscan_dir ] + -- res.items[ root.id ] = root + -- end + --end -- add items from dir if match(v.parent.path, matchpath) then @@ -49,6 +45,15 @@ return { res.items[ v.id ] = v res.parent = parent end + if not isroot then + res.items[ v.parent.id ] = { + view2D = false, + url = v.parent.url, + title = "parent world", + name = "parent world", + thumbnail = '', + } + end end end end @@ -57,7 +62,9 @@ return { local data = util.merge({ url = req.param.url, -- query hint to render janus.url in iframe (index.html) items = {}, - parent=res.parent + referrer = isroot and app.opts.plugin_federation_parent_url or util.getURL(), + parent=res.parent, + template=res.template },{ opts = app.opts }) local i = 0 foreach( res.items, function(k,v) @@ -70,10 +77,13 @@ return { end -- prioritize markup experience above binary 3D files as experience containers if not data.item or (isMarkupExperience(v) and not isMarkupExperience(data.item)) then + -- update referrer url + data.referrer = util.getURL( v.view3D and v.parent.parent.url or v.parent.url ) data.item = v data.title = data.item.title data.parent = v.parent data.url = app.opts.baseurl .. util.stripPath(v.url) -- because we are running in iframe + -- .. EscapeFragment( (v.url:match("#") and "&" or "#" ) .. 'janus.referrer=' .. EscapeFragment(v.referrer) ) if v.janusxr and (v.janusxr.jml or v.janusxr.aframe) then -- what to do here? no generated portals? data.janusxr = app.tpl( util.readfile(v.path), data ) diff --git a/src/page/footer.html b/src/page/footer.html index b3ad9c1..6c79cbc 100644 --- a/src/page/footer.html +++ b/src/page/footer.html @@ -17,7 +17,7 @@ NLNET
- View from XR Device
+ View from XR Device
Content overview
About
diff --git a/src/page/header.html b/src/page/header.html index be1e8ac..cfb4aba 100644 --- a/src/page/header.html +++ b/src/page/header.html @@ -37,6 +37,32 @@ {if true then print( app.opts.plugin_global_topmenu_html:gsub("\n"," ") ) end} + {if template == "page/dir.html" then + print([[ ]]) + end} + {if template == "page/index.html" then + local sharedata = { + title = (item and item.title or opts.plugin_global_title) + } + print([[ + + + + + ]]) + end} diff --git a/src/page/index.html b/src/page/index.html index f5fde5c..6a83bb8 100644 --- a/src/page/index.html +++ b/src/page/index.html @@ -3,7 +3,7 @@ ${header}
- + {if item and item.parent and item.parent.info then print([[ @@ -35,8 +35,9 @@ end} url = document.location.origin + document.location.pathname + '?url=' + url } }catch(e){} - const isFileWithExtension = url.replace( new RegExp('./','g'),"").match("\\.") - if( !isFileWithExtension ){ + const isFileWithExtension = url.replace( new RegExp('.*/','g'),"").match("\\.") ? true : false + //url = url.replace(/#.*/,'') + '#janus.referrer=' + encodeURIComponent(document.location.href) + if( !isFileWithExtension ){ window.history.replaceState( url, iframe.contentDocument.title, url ); } setTimeout( () => { diff --git a/src/page/janusxr.html b/src/page/janusxr.html index 2c7300c..ee22e7e 100644 --- a/src/page/janusxr.html +++ b/src/page/janusxr.html @@ -34,8 +34,8 @@ end} {if item then print([[ - - + + ]]) else local room = app.opts.plugin_janusxr_portalroom @@ -47,10 +47,14 @@ end} end} {if true then - function addPortal(id,x,v,url,i,z,thumb,rotation,scale) + function addPortal(id,x,v,url,i,z,thumb,rotation,scale,item) print('\t') print('\t ') print('\t ') + --TODO: fix janusweb paragraph for markdown urls + --if item.README ~= nil then + -- print('\t ') + --end print('\t') end end} @@ -66,7 +70,7 @@ end} end if v.dir then url = url .. "/" end if v.redirect then url = v.redirect end -- dont wrap standalone glb's in janusxr - addPortal('dir',center, v, url,i, -4, thumb, '0 0 0', '0.2 0.2 0.2') + addPortal('dir',center, v, url,i, -4, thumb, '0 0 0', '0.2 0.2 0.2', v) end end} {if not item and itemsremote and #itemsremote > 0 then @@ -80,7 +84,7 @@ end} end if v.dir then url = url .. "/" end if v.redirect then url = v.redirect end -- dont wrap standalone glb's in janusxr - addPortal('remote',center, v, url,i, 4, thumb, '0 180 0', '0.2 0.2 0.2') + addPortal('remote',center, v, url,i, 4, thumb, '0 180 0', '0.2 0.2 0.2',v) end print([[ @@ -88,6 +92,7 @@ end} end} + ${janusxr_jml_deco} ${opts.plugin_janusxr_jml} diff --git a/src/plugin/diskscan.lua b/src/plugin/diskscan.lua index f63d567..71b2795 100644 --- a/src/plugin/diskscan.lua +++ b/src/plugin/diskscan.lua @@ -3,6 +3,20 @@ local dir = require "opendirectory" app.on('init', function() print("scanning experiences (this make take a while..)") app.opts.plugin_diskscan_dirname = app.opts.plugin_diskscan_dir:gsub("^[.]?[/]?","") + -- swap between internal / external version of diskscan_dir + if app.opts.plugin_diskscan_dir:match("^/zip/") then + if util.fileExist(app.opts.plugin_diskscan_dir) then + print("ℹ️ serving " .. app.opts.plugin_diskscan_dir .. " from local disk") + app.opts.plugin_diskscan_dir = app.opts.plugin_diskscan_dir:gsub("^/zip/","") + app.set('app.opts', app.opts) + end + else + if not util.fileExist(app.opts.plugin_diskscan_dir) then + print("ℹ️ serving " .. app.opts.plugin_diskscan_dir .. " from internal (executable)") + app.opts.plugin_diskscan_dir = '/zip/' .. util.stripPath(app.opts.plugin_diskscan_dir) + app.set('app.opts', app.opts) + end + end app.plugin.diskscan.scan(app.opts.plugin_diskscan_dir) end) @@ -36,6 +50,7 @@ return { path = scandir, url = "/" .. util.stripPath(scandir), name = scandir:gsub(".*/",""), + thumbnail = "", title = scandir:gsub(".*/",""):gsub("-"," "), file = { ino = scandir }, id = scandir diff --git a/src/plugin/federation.lua b/src/plugin/federation.lua index 0705157..d2fe51c 100644 --- a/src/plugin/federation.lua +++ b/src/plugin/federation.lua @@ -24,7 +24,8 @@ app.on('dir', function(opts) table.insert(itemsremote, { title = url:gsub(".*//",""), thumbnail = thumburl, - url = '/janusweb/index.html#janus.url=' .. EscapeFragment(url) + url = '/janusweb/index.html#janus.url=' .. EscapeFragment(url) + .. '&janus.referrer=' .. EscapeFragment( util.getURL(opts.urlpath ) ) }) end end @@ -34,7 +35,7 @@ end) local plugin = { name = 'Federation', tab = " Federation", - info = 'Add links to other (janus)XR(forges), and have them show up as extra portals in portalrooms', + info = 'Add links to other (janus)XR(forges), and have them show up as extra portals in portalrooms.
NOTE: please leave at the Parent World URL non-empty, as it promotes interconnected ecosystems of experiences ♥', opts = { -- TODO populate this based on xrforge-federation.json { key='app.opts.plugin_federation_strategy', @@ -43,6 +44,14 @@ local plugin = { default="homepage", values={always='always',homepage='only homepage'} }, + { + key='app.opts.plugin_federation_parent_url', + title='Parent World URL', + info="3D portal (entrypoint) in homepage", + default="https://www.janusxr.org", + placeholder="https://www.janusxr.org", + values='' + }, { key='app.opts.plugin_federation_url_1', title='Federated URL 1', @@ -54,7 +63,7 @@ local plugin = { key='app.opts.plugin_federation_url_2', title='Federated URL 2', info="URL and/or Thumbnail URL (space separated)", - default="https://www.janusxr.org https://www.janusvr.com/images/logos/logotextoverlight.png", + default="https://aframe.io/aframe/examples/boilerplate/hello-world/ /myverse/janusxr_tutorial/AFRAME.jpg", values='' }, { diff --git a/src/plugin/global.lua b/src/plugin/global.lua index 0600680..9770bd1 100644 --- a/src/plugin/global.lua +++ b/src/plugin/global.lua @@ -113,7 +113,7 @@ local plugin = { }, middleware = { homepage_2D_or_3D = function(req,res,next) - if (app.opts.plugin_global_homepage == '3D') or (req.param.view == '3D') or (req.param.url) then + if (req.url == '/' or req.url == '/index.html' and app.opts.plugin_global_homepage == '3D') or (req.param.view == '3D') or (req.param.url) then res.template = 'page/index.html' else res.template = 'page/dir.html' diff --git a/src/plugin/janusxr.lua b/src/plugin/janusxr.lua index 83b9024..13d283c 100644 --- a/src/plugin/janusxr.lua +++ b/src/plugin/janusxr.lua @@ -8,6 +8,15 @@ app.on('scan_experience', function(exp) --print_r(exp) end) +app.on('dir', function(opts) + local hash = GetPath() + if #app.opts.plugin_janusxr_random_objects > 0 and + #app.opts.plugin_janusxr_random_colors > 0 then + opts.data.janusxr_jml_deco = app.plugin.janusxr.getRandomDeco(7,50,hash,0,30) .. + app.plugin.janusxr.getRandomDeco(7,50,hash .. hash,30,30) + end +end) + app.on('scan_experience_file', function(exp) local me = app.plugin.janusxr local size = exp.file.attr:size() @@ -56,8 +65,7 @@ app.on('scan_experience_file', function(exp) end end) -app.on('set', function(k,v) -end) +app.on('set', function(k,v) end) -- this registers the plugin UI local rooms = {random="random room",room_plane="wirefloor",room1="room1",room2="room2",room3="room3",room4="room4",room5="room5",room6="room6",room7="room7"} @@ -118,6 +126,22 @@ local plugin = { default="room_plane", values={random="random room",room_plane="wirefloor",room1="room1",room2="room2",room3="room3",room4="room4",room5="room5",room6="room6",room7="room7"} }, + { + key='app.opts.plugin_janusxr_random_objects', + title='Random objects', + info="Random object id's in portal rooms", + default="capsule cone cube cylinder pyramid sphere torus", + placeholder="capsule cone cube cylinder pipe pyramid sphere torus", + values="", + }, + { + key='app.opts.plugin_janusxr_random_colors', + title='Random colors', + info="Random object colors in portal rooms", + default="#ffffff #111122 #FF33FF #8833FF #7070FF #404070 #222244", + placeholder="#ffffff #111122 #FF33FF #8833FF #7070FF #404070 #222244", + values="", + }, { key='app.opts.plugin_janusxr_scraper', title='Scraper', @@ -141,6 +165,7 @@ local plugin = { values='' } }, + getRandomRoom = function() local me = app.plugin.janusxr local room= '' @@ -153,6 +178,52 @@ local plugin = { end end) return room + end, + + getRandomDeco = function(num_objects, radius, seed_string, y, scale) + num_objects = num_objects or 6 + y = y or 0 + radius = radius or 2 -- Configurable distance from (0, 0, 0) + seed_string = seed_string or 'xf2dxf2dxf3f23' -- Given hashstring + local JML = '' + local colors = util.split( app.opts.plugin_janusxr_random_colors, ' ') + local ids = util.split( app.opts.plugin_janusxr_random_objects, ' ') + + local function hash_string_to_number(str) + local hash = 5381 + for i = 1, #str do + local char = string.byte(str, i) + hash = (hash * 33 + char) % 2147483647 + end + return hash + end + local index = { + color= hash_string_to_number(seed_string) % #colors, + id = hash_string_to_number(seed_string) % #ids + } + + for i = 1, num_objects do + -- Calculate angle in radians to space objects evenly around a circle + local angle = (i - 1) * (2 * math.pi / num_objects) + -- Calculate X and Z positions along the circle radius + local x = radius * math.cos(angle) + local z = radius * math.sin(angle) + local y = y -- Height level + + local selected_id = ids[ index.id+1] + local selected_color = colors[ index.color+1 ] + + local pos_str = string.format("%.2f %g %.2f", x, y, z) + local xml_tag = string.format('', + selected_id, pos_str, selected_color, scale, scale, scale) + + JML = JML .. xml_tag .. "\n" + + -- increase indexes + index.id = (index.id + 1 ) % #ids + index.color = (index.color + 1 ) % #colors + end + return JML end } diff --git a/src/plugin/markdown.lua b/src/plugin/markdown.lua index 2a35ebf..5dcda60 100644 --- a/src/plugin/markdown.lua +++ b/src/plugin/markdown.lua @@ -12,6 +12,7 @@ app.on('scan_experience_file', function(exp) if exp.path:match(v) then print("✅ └─ plugin/markdown: detected " .. v) exp.parent.info = '
' .. markdown( util.readfile(exp.path) ) .. '
' + exp.parent.README = util.stripPath( exp.path ) end end) end) diff --git a/src/plugin/peertube.lua b/src/plugin/peertube.lua index 5d54ec2..30ccab7 100644 --- a/src/plugin/peertube.lua +++ b/src/plugin/peertube.lua @@ -25,6 +25,7 @@ app.on('dir', function(opts) title = url:gsub(".*//",""), thumbnail = thumburl, url = '/janusweb/index.html#janus.url=' .. EscapeFragment(url) + .. '&janus.referrer=' .. EscapeFragment( util.getURL(opts.urlpath ) ) }) end end diff --git a/src/plugin/pubnix.lua b/src/plugin/pubnix.lua new file mode 100644 index 0000000..2d9a5fe --- /dev/null +++ b/src/plugin/pubnix.lua @@ -0,0 +1,50 @@ +local util = require('util') + +app.on('scan_experience', function(exp) + --print_r(exp) +end) + +app.on('scan_experience_file', function(exp) +end) + +app.on('set', function(k,v) +end) + +-- this registers the plugin UI +local plugin = { + name = "PubNIX", + info = 'disabled Turn server into a pubnix: automatically scan userdirectories in /home/* for XR experiences, and add them as 3D portals.', + opts = { + { + key='app.opts.plugin_pubnix_enabled', + title='Add homedirs', + info='Scan for experiences in /home/*', + default = "enabled", + values={enabled="enabled",disabled="disabled"} + }, + { + key='app.opts.plugin_pubnix_folder', + title='Require folder', + info='Require specific folder (/home/john/xrforge e.g.)', + default = "./xrforge", + values='' + }, + { + key='app.opts.plugin_pubnix_thumbnail', + title='User thumbnail', + info='look for /home/john/xrforge/~john.jpg sidecarfile', + default = "enabled", + values={enabled="enabled",disabled="disabled"} + }, + { + key='app.opts.plugin_pubnix_exclude', + title='Exclude pattern', + info='Space-separated, lua patterns for directories', + default = "", + placeholder = "admin root", + values='' + }, + } +} + +return plugin diff --git a/src/plugin/rssatom.lua b/src/plugin/rssatom.lua index 9efc7f5..81284ae 100644 --- a/src/plugin/rssatom.lua +++ b/src/plugin/rssatom.lua @@ -25,6 +25,7 @@ app.on('dir', function(opts) title = url:gsub(".*//",""), thumbnail = thumburl, url = '/janusweb/index.html#janus.url=' .. EscapeFragment(url) + .. '&janus.referrer=' .. EscapeFragment( util.getURL(opts.urlpath ) ) }) end end diff --git a/src/plugin/xrfragments.lua b/src/plugin/xrfragments.lua index 5dcf2a3..28f5b7c 100644 --- a/src/plugin/xrfragments.lua +++ b/src/plugin/xrfragments.lua @@ -13,7 +13,7 @@ app.on('scan_experience_file', function(exp) local hasHref = false if ext == 'glb' then -- detect XR Fragment exp https://xrfragment.org/#%F0%9F%93%9C%20level0%3A%20File - local tree = me.extract_glb_json( util.stripPath(exp.path) ) + local tree = me.extract_glb_json( exp.path ) --util.stripPath(exp.path) ) hasHref = me.detectHrefInStruct(tree) end -- check sidecarfiles: https://xrfragment.org/#sidecar%20files diff --git a/src/util/xrforge.sh b/src/util/build.sh similarity index 95% rename from src/util/xrforge.sh rename to src/util/build.sh index 69f5afd..95d2602 100755 --- a/src/util/xrforge.sh +++ b/src/util/build.sh @@ -36,7 +36,7 @@ download(){ 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 - test -d src/janusweb || cp -r janusweb-${version} src/janusweb + test -d src/janusweb || cp -Lr janusweb-${version} src/janusweb } "$@"