added example application

This commit is contained in:
Emma Tebibyte 2022-08-12 18:45:52 -04:00
parent 7286b275b7
commit 211f6ca293
3 changed files with 78 additions and 5 deletions

View File

@ -60,8 +60,8 @@
kernel.</p>
<h3 id="network"><a href=#network>Network Members</a></h3>
<p style="font-size:0.75em;"><i>For aspiring Network Members, please see our
<a href="/blog/hello-world#network-application">application
<p style="font-size:0.75em;"><i>For aspiring Network Members, please
see our <a href="network-application">application
information</a></i></p>
<!-- <p><a href="https://ortusjournal.org"> [Insert their
description here, consult with them on their preferred description]
@ -70,7 +70,7 @@
<a href="https://gschoppe.com/wordpress/plugins-and-themes-open-source/">non-free plugins</a>].</p>
<p><a href="https://embeddedscript.net">New Media artist Richard
Williams' website</a>. <a href="https://bibliogram.art/u/_remind_me_tomorrow">[see also]</a>
Williams' website</a>. <a href="https://farside.link/https://instagram.com/_remind_me_tomorrow">[see also]</a>
[<a href="https://www.gnu.org/philosophy/javascript-trap.html">
unlicensed JavaScript</a>].</p> -->
</body>

View File

@ -9,8 +9,10 @@
<meta content="width=device-width, initial-scale=1" name="viewport" />
<meta content="interest-cohort=()" http-equiv="Permissions-Policy" /> <!-- FUCK GOOGLE -->
</head>
<header><img id="logo" src="/assets/img/TiB-network.png" width=25% style="vertical-align:top" /></header>
<header><img id="logo" src="/assets/img/TiB-network.png" width=25% style="vertical-align:top" />
</header>
<body id="about">
<p align="left"><a href=/about><i>Return to About</i></a></p>
<p>In order to apply to be a member of the Tebibyte Media Network,
please reference the below guidelines. All applications should be sent
to <a href="mailto:apply@tebibyte.media">apply@tebibyte.media</a>.</p>
@ -83,4 +85,5 @@
list of free software licenses</a></li>
</ul>
</li>
</ol>
</ol>
<p>A sample application is located <a href="sample-application.txt">here</a>.<p>

View File

@ -0,0 +1,70 @@
Nexus is a federated, open source, hackable VR social platform and protocol.
Project members include Person1 <user@example.com>, Person2 <user@example.com>,
and Person 3 <user@example.com>. The representative of the project is Person1.
Nexus' current design is subject to change; we are still in the rough
prototyping stage and we expect to "ship-of-thesus" our current design quite a
bit. The goal of Nexus is to provide an open, extendable, VR social platform. To
do this, Nexus separates its logic into individual WASM scripts and a networking
API based on the ECS model. Everything communicates using the gLTF and VRM
standards: VRM for avatars, and gLTF for objects and worlds. Several different
actors are present within the Nexus architecture:
A “world” is a collection of WASM scripts and gLTF models able to be reproduced.
It is intended for users to be able to create worlds, and to share them,
allowing others to use the worlds as templates from which to create servers. A
“server” is a running instance of a world; how servers interop with other
servers is yet to be determined. A “client” is the front-end application that
can connect to any Nexus server and interact with other clients over the server.
The current plan is to provide almost everything using WASM scripts.
WASM scripts have two categories so far; there are server scripts, that just run
on the server, and client scripts, which are sent over to the client for the
client to run locally and then interact with the server using the networking
API. It's possible that we will come up with some kind of server-client dual
script type, in which clients run a script to keep themselves up to date with
the server. The server checks to make sure its results line up with the clients
in order to limit abuse.
Camera and physics (gravity, collision, buttons, etc.) interactions, IK and FBT,
and GUI systems (server discovery interfaces, friends lists, etc.) will all be
provided by WASM scripts. We will provide default implementations, but the
community will be free to hack on those scripts or create their own from scratch
to provide the same or new functionality. This creates an extremely extensible
platform. Using WASM means that, as we go into the future, more languages could
be utilized to write social vr, or non-social vr experiences, such as games, a
scene editor, media creation tools, etc.
This system enables people to to write clients and servers in other languages or
engines than Bevy, which we are currently using for our standard implementation.
As long as clients or servers properly respect the WASM scripts, everything
should work across different implementations. If someone creates a Nexus server
SDK in Unity, they will be able to take advantage of much of Unity to create
Nexus worlds.
The fact that we use WASM also means that game developers can create games or
experiences in normal, 2D IDEs, such as writing a game in Rust, instead of
having to deal with our scene editor. That being said, we do plan to make a
scene editor in Nexus, but this is a tentative, far-future plan.
The current plan is to use IPFS to provide sharing of WASM scripts, models, and
whatever else may materialize in the future.
Theoretical work on a permissions system has not yet begun.
The aim is to provide an open source VR social platform where people can
collaborate and communicate with each other, and a game engine-like base to
build social VR applications.
Our Minimum Viable Product is gLTF models loaded in for avatars, downloading and
loading, basic voice chat, and synced worlds.
The timespan of this project to full completion is several years. If all goes
according to plan, an MVP should be only a few months off.
The server and client implementation will be licensed under the GplV3, but all
the base scripts, for things like physics, inverse kinematics, and the basic UI
implementation will be licensed under the Expat License (also known as the MIT
License).