open nested rooms#309
Conversation
8c25d76 to
aa09303
Compare
|
Yeah, I see in your branch you've implemented a new function, Another potential gotcha with adding rooms as children of rooms is that the It's not immediately clear to me how rooms merged this way will interact with the editor and the network manager. In theory it's possible for each merged room to exist as a separate networking context, and the editor could be extended to understand the idea that multiple contexts may be active, and objects need to belong to a specific one, and not always the main room context. I'm a bit confused about some of the stuff in the xrfragments translator. Looks like we're monkeypatching |
We can, I wasn't sure that's why I first put into a patch.
In the current version, I ended up duplicating the room via this line. The current implementation is kind of the best of the worst, since both (not) calling |
|
Here some more (stress)tests: Cross-server world (`auto_load="true")Compose one world out of multiple worlds: <link url_pos="0 0 0" url="https://vesta.janusxr.org/spyduck/new-bark-town-pokemon-gsc" auto_load="true" ...
<link url_pos="0 0 0" url="https://vesta.janusxr.org" auto_load="true" auto_load_delay="3000" ...
<link url_pos="0 0 0" url="https://www.janusxr.org/newlobby/index.html" auto_load="true" ...
<link url_pos="0 0 0" url="https://xrforge.isvery.ninja/models/zzswz4qlqw8w/model_files/test.xrf.glb" ...TBH. I have not seen any solution which allows for composing such a cross-server world: video-28-cut-merged-1776355259830-ezgif.com-gif-maker.mp4ps. another win: it made me discover this bug. #! XR Fragment operator +
|
Exactly what I ended up doing..the portal janusobject itself is the default parent of a nested room (and can be can be changed via `target='anotherobject')
Thanks for noticing, I've introduced this.enable = function() {
this.getObjectsDeep()
.filter( (obj) => obj.start )
.map( (obj) => obj.start() )It allowed me to patch |
0dddd2a to
0aeb75d
Compare
OK I think this PR is ready.
Also I've updated the README.md with source/demo-links to it, which will work once this PR is merged. |
|
please merge #316 instead |

demo: import portal room
source:
<link overlay="true" url="https://xrforge.isvery.ninja"/>video-22-cut-merged-1775758896357-ezgif.com-gif-maker.mp4
demo: recursive room
source: overlay_recursive.xml
video-26-ezgif.com-gif-maker.mp4
this PR enables opening nested room via
I've played a bit around, with different implementations.
The issue I stumbled upon is that
<link>portalTesting matrix
I've got the best results (and least amount of code) with B.
The collaborational editing feature needs a different brainstorm I think.
Any thoughs welcome, but here's something which works and is tested (including the back-button, the nested open rooms persists when navigating back):
https://github.com/coderofsalvation/janusweb/blob/feat/overlayrooms/tests/room/overlay.xml