diff --git a/docs/creators-advanced-avatar-customization.md b/docs/creators-advanced-avatar-customization.md index 92b8c8e..b646da6 100644 --- a/docs/creators-advanced-avatar-customization.md +++ b/docs/creators-advanced-avatar-customization.md @@ -9,8 +9,8 @@ As described in the [creating custom avatars](intro-avatars.html) page, the most For more advanced customization, you can use the following resources: -* [Photoshop PSD Templates](https://github.com/MozillaReality/hubs-avatar-pipelines/blob/master/Photoshop) - Photoshop templates for a custom Hubs base color skin. You can also use Photoshop's 3D painting tools, using the [Robot OBJ/MAT file](https://github.com/j-conrad/hubs-avatar-pipelines/tree/master/Other%20model%20formats). -* [Substance Painter Project](https://github.com/MozillaReality/hubs-avatar-pipelines/blob/master/Substance)- Full Substance Painter projects for advanced custom skinning. You can also download and modify any of our example texture sets. +* [Photoshop PSD Templates](https://github.com/Hubs-Foundation/hubs-avatar-pipelines/tree/master/Photoshop) - Photoshop templates for a custom Hubs base color skin. You can also use Photoshop's 3D painting tools, using the [Robot OBJ/MAT file](https://github.com/j-conrad/hubs-avatar-pipelines/tree/master/Other%20model%20formats). +* [Substance Painter Project](https://github.com/Hubs-Foundation/hubs-avatar-pipelines/blob/master/Substance)- Full Substance Painter projects for advanced custom skinning. You can also download and modify any of our example texture sets. ![UV Layout example](img/UVLayout.jpg) @@ -48,9 +48,9 @@ You can follow along with Jim and Dom in this recorded live stream here to walk We offer the following resources if you'd like to modify our base Robot avatar: -* [Blender Source Files](https://github.com/MozillaReality/hubs-avatar-pipelines/tree/master/Blender/AvatarBot) are available of our Robot avatar. **For specific information about how to use these .blend files, be sure to check out the readme within the [Blender/AvatarBot](https://github.com/MozillaReality/hubs-avatar-pipelines/tree/master/Blender/AvatarBot) folder.** +* [Blender Source Files](https://github.com/Hubs-Foundation/hubs-avatar-pipelines/tree/master/Blender/AvatarBot) are available of our Robot avatar. **For specific information about how to use these .blend files, be sure to check out the readme within the [Blender/AvatarBot](https://github.com/Hubs-Foundation/hubs-avatar-pipelines/tree/master/Blender/AvatarBot) folder.** -* [Exported GLBs](Exported%20GLB%20models)/[Exported OBJ](https://github.com/MozillaReality/hubs-avatar-pipelines/tree/master/Other%20model%20formats) are available if you'd like to bring them into your editor of choice. +* [Exported GLBs](Exported%20GLB%20models)/[Exported OBJ](https://github.com/Hubs-Foundation/hubs-avatar-pipelines/tree/master/Other%20model%20formats) are available if you'd like to bring them into your editor of choice. We recommend using [Blender 2.83](https://builder.blender.org/download/) (or whatever the most recent release is) for custom models since we have provided example files that you may use as a guide. (Typically, skeleton setup varies between modeling appications which can make importing/exporting skeletons a bit tricky due to unexpected changes in bone rotations, but it is still possible to use something other than Blender.) Note: the .blend files were created with [Blender 2.8](https://builder.blender.org/download/) due to the built-in glTF exporter. The glTF importer/exporter for Blender is currently in development. Expect some bugs and [please report them!](https://github.com/KhronosGroup/glTF-Blender-IO/issues) @@ -58,7 +58,7 @@ Hubs avatars are meant for VR, which means that you should work in real world un ![avatar height diagram](img/avatarHeight.jpg) -Files with the suffix *_base* refer to the most barebones, basic robot avatar template that can be used as a reference when creating new avatar models. Typically, the Blender workflow would be to either 'Link' or 'Append' the objects from [AvatarBot_base_for_export.blend](https://github.com/MozillaReality/hubs-avatar-pipelines/tree/master/Blender/AvatarBot) in order to use the existing armature (skeleton) and any animations that go along with it, using them as a basis for your own model that you would attach to it. +Files with the suffix *_base* refer to the most barebones, basic robot avatar template that can be used as a reference when creating new avatar models. Typically, the Blender workflow would be to either 'Link' or 'Append' the objects from [AvatarBot_base_for_export.blend](https://github.com/Hubs-Foundation/hubs-avatar-pipelines/tree/master/Blender/AvatarBot) in order to use the existing armature (skeleton) and any animations that go along with it, using them as a basis for your own model that you would attach to it. The armature is based largely upon the same hierarchy and naming conventions of the skeleton provided by [High Fidelity](https://docs.highfidelity.com/en/rc80/create/avatars/avatar-standards.html#skeleton). This also happens to have a similar structure to VRChat in terms of bone orientations. However, in our current implementation in Hubs, we have eliminated some of the bones within the hierarchy, namely the lower body and arm joints since we are not using any sort of inverse kinematics (IK) at the moment. This may change in future iterations. diff --git a/docs/creators-blender-components.md b/docs/creators-blender-components.md index 55e5dd0..cbcbf0e 100644 --- a/docs/creators-blender-components.md +++ b/docs/creators-blender-components.md @@ -39,7 +39,9 @@ The second option is called ‘**Increment**’ and lets you specify the number ![UV Scroll Example 2](img/components_UVscroll_02.gif) - The same scroll speed as above with an increment value of 0.1. -We can take advantage of this effect by using long strips of animations in a sort of virtual flip-book, allowing the playback of things such as blinking lights, all the way to full-blown GIF animations. For additional information about advanced uses of the ‘UV Scroll’ component, see Jim’s excellent Creator Labs write-up [HERE](https://hubs.mozilla.com/labs/animating-textures-with-the-uv-scroll-component-pt1/). +We can take advantage of this effect by using long strips of animations in a sort of virtual flip-book, allowing the playback of things such as blinking lights, all the way to full-blown GIF animations. + + ## Avatar @@ -110,7 +112,7 @@ To make a media frame, create an ‘Empty’ in your Blender scene. Since media The ‘**Media Type**’ dropdown will let you specify which type of media your frame will accept. This can be limited to only 2D media, specific types of 2D media, 3D models, or any type of media. -For more information about the ‘Media Frame’ component, see Laurie ONeill’s article on Creator Labs [HERE](https://hubs.mozilla.com/labs/working-with-media-frames/). + ### Particle Emitter @@ -399,7 +401,7 @@ Adding an ‘Audio Target’ component to an empty will also automatically add a An ‘Audio Zone’ is a special volume in your Hubs scene inside which you can override audio settings. It is useful for creating private spaces in your scene outside of which audio cannot be heard from within the defined volume. Audio zones affect both spoken audio as well as media audio that are within the audio zone. -For more information about the ‘Audio Zone’ component and how it works, see [Matt’s article on Creator Labs](https://hubs.mozilla.com/labs/creating-speaker-stages-and-manipulating-audio-in-hubs/). + ### Image @@ -578,7 +580,7 @@ The Audio Settings options are: **Media Cone Outer Gain**: A double value describing the amount of volume reduction outside the cone defined by the ‘Media Cone Outer Gain’ attribute. Its default value is 0, meaning that no sound can be heard. -If you’d like an example of what some sound combinations can sound like, head on over to [THIS](https://hubs.mozilla.com/scenes/hitpNgs) super handy Hubs scene that has a number of videos, each with different ‘Audio Params’ overrides that you can listen to while you walk around so you can get an idea how the settings affect the volume as you move around the scene. + ### Environment Settings @@ -646,7 +648,9 @@ Contrary to popular assumption, Hubs avatars do not navigate the 3D scene using ![Navigation Mesh Example 1](img/components_navigationMesh_01.png) - A sample Hubs scene with a ‘Navigation Mesh’ (shown in green). -The ‘Navigation Mesh’ component gets attached to a duplicated section of floor that has areas cut out for walls and other scene objects that you don’t want avatars to be able to walk through. Navigation meshes must be one mesh object (you cannot have multiple nav meshes in a scene) and all vertices must be welded together so that there are no discontinuous pieces. It’s generally a good idea to also attach a ‘Visible’ component to your nav mesh with its visibility toggled off (unchecked). For more information about making custom nav meshes for your scene, check out Jim’s comprehensive article on Creator Labs [HERE](https://hubs.mozilla.com/labs/what-is-a-nav-mesh/). +The ‘Navigation Mesh’ component gets attached to a duplicated section of floor that has areas cut out for walls and other scene objects that you don’t want avatars to be able to walk through. Navigation meshes must be one mesh object (you cannot have multiple nav meshes in a scene) and all vertices must be welded together so that there are no discontinuous pieces. It’s generally a good idea to also attach a ‘Visible’ component to your nav mesh with its visibility toggled off (unchecked). + + ### Reflection Probes @@ -655,5 +659,5 @@ The ‘Reflection Probe’ element is used to create areas in your scene inside ![Reflection Probe Example 1](img/components_reflectionProbe_01.png) - The ‘Reflection Probe’ component and its settings. -For more information about the ‘Reflection Probe’ element, see [Jim’s excellent article on Creator Labs](https://hubs.mozilla.com/labs/baked-lighting-for-better-looking-hubs-scenes/) titled “Baked Lighting for Better-Looking Hubs Scenes”. + diff --git a/docs/creators-linking-rooms.md b/docs/creators-linking-rooms.md index 03d9692..a5f7521 100644 --- a/docs/creators-linking-rooms.md +++ b/docs/creators-linking-rooms.md @@ -8,8 +8,8 @@ It is possible to link Hubs rooms together using Spoke, or from directly in Hubs The first thing that you want to do is create your rooms. While you have the ability to create rooms directly from a scene URL, this will generate a new room each time. In order to link multiple rooms together, we recommend generating the rooms first, then updating the rooms to use a scene that contains links to the other room. -1. Go to [https://hubs.mozilla.com/](https://hubs.mozilla.com/) and use the 'Create Room' button to create a new room. You can use the 'Favorite' button to keep the room pinned to your home page to find it easily, or copy the link somewhere. -2. Do this for each room that you want to have available + ## Option 1: Linking rooms from inside Hubs It is possible to link rooms together directly from inside of another Hubs room without having to create new scenes. To do this: diff --git a/docs/dev-client-basics.md b/docs/dev-client-basics.md index 5a1459e..78a2468 100644 --- a/docs/dev-client-basics.md +++ b/docs/dev-client-basics.md @@ -36,7 +36,7 @@ and [`WebAudio`](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API) The `Media Capture and Streams API` allows microphones, cameras, and screencapture to be accessed within the browser. Data is captured and encoded locally before being sent (as `WebRTC` streams) to a backend service -([`Dialog`](https://github.com/mozilla/dialog)), where they are forwarded to +([`Dialog`](https://github.com/Hubs-Foundation/dialog)), where they are forwarded to other clients connected to the same room. Incoming streams are decoded and transformed (e.g. by `PannerNode` s and `GainNodes` from the `WebAudio` API) before being played through the user’s speakers. @@ -44,7 +44,7 @@ before being played through the user’s speakers. [`Web Sockets`](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) : The Hubs client is web app, which means its code is downloaded when you visit a hubs-powered site. After its initial load, the hubs client exchanges many, many -messages to the backend web server, [`Reticulum`](https://github.com/mozilla/reticulum). +messages to the backend web server, [`Reticulum`](https://github.com/Hubs-Foundation/reticulum). To download assets like 3D model files and 2D images, the client makes `HTTP` requests. To exchange game state information like, “where my avatar is moving”, the client sends messages over a `Web Socket` connection @@ -63,15 +63,15 @@ usually written in typescript. There are three main sections of application code: -The [`admin`](https://github.com/mozilla/hubs/tree/master/admin) directory +The [`admin`](https://github.com/Hubs-Foundation/hubs/tree/master/admin) directory contains a separate application that powers the Hubs admin panel. Note that this directory will likely undergo changes in the near future. -The [`react-components`](https://github.com/mozilla/hubs/tree/master/src/react-components) +The [`react-components`](https://github.com/Hubs-Foundation/hubs/tree/master/src/react-components) directory contains all of the 2D UI shown in menus, modals, and toolbars throughout the client. It is built with [`React`](https://react.dev/). -The [`src`](https://github.com/mozilla/hubs/tree/master/src) directory contains +The [`src`](https://github.com/Hubs-Foundation/hubs/tree/master/src) directory contains of the code that powers the 3D simulation. The entry points for various pages are defined in `webpack.config.js`. diff --git a/docs/dev-client-gameplay.md b/docs/dev-client-gameplay.md index 5fc1dbd..c04a3da 100644 --- a/docs/dev-client-gameplay.md +++ b/docs/dev-client-gameplay.md @@ -35,7 +35,7 @@ hundreds more from the community. Originally built with `A-Frame`, Hubs switched to `bitECS` and using `Three.js` directly. Motivation, goals, and non-goals about the transition can be found -in this PR from June, 2022. [#5536](https://github.com/mozilla/hubs/pull/5536) +in this PR from June, 2022. [#5536](https://github.com/Hubs-Foundation/hubs/pull/5536) TODO: Write the scope in this document based on that PR @@ -114,8 +114,8 @@ TODO: Add APIs to register custom add-ons. ### Directories Most of the built-in add-on source codes are found in -[`src/components`](https://github.com/mozilla/hubs/tree/master/src/components) and -[`src/bit-systems`](https://github.com/mozilla/hubs/tree/master/src/bit-systems). +[`src/components`](https://github.com/Hubs-Foundation/hubs/tree/master/src/components) and +[`src/bit-systems`](https://github.com/Hubs-Foundation/hubs/tree/master/src/bit-systems). Also find the files imported from them. If you want to read the built-in add-on code check the directories. @@ -754,7 +754,7 @@ consistency unless any strong reasons. ### HubsWorld -`HubsWorld` defined in [`src/app.ts`](https://github.com/mozilla/hubs/blob/master/src/app.ts) +`HubsWorld` defined in [`src/app.ts`](https://github.com/Hubs-Foundation/hubs/blob/master/src/app.ts) extends [`bitECS World`](https://github.com/NateTheGreatt/bitECS/blob/master/docs/INTRO.md#-world). It manages some extra Hubs Client specific resources and also provides some useful data. For example you can get elapsed and delta time from it. @@ -772,7 +772,7 @@ associated `Object3D` is allowed.) TODO: Write the benefit from this limitation You need to call `addObject3DComponent()` defined in -[`src/utils/jsx-entity.ts`](https://github.com/mozilla/hubs/blob/master/src/utils/jsx-entity.ts) +[`src/utils/jsx-entity.ts`](https://github.com/Hubs-Foundation/hubs/blob/master/src/utils/jsx-entity.ts) to associate an `Object3D` with an entity. ```typescript @@ -799,7 +799,7 @@ addObject3DComponent(world, eid, new Group()); ``` `addObject3DComponent()` adds the built-in component `Object3DTag` defined in -[`src/bit-components.js`](https://github.com/mozilla/hubs/blob/master/src/bit-components.js) +[`src/bit-components.js`](https://github.com/Hubs-Foundation/hubs/blob/master/src/bit-components.js) to an entity and stores an `Object3D` in the special `eid2obj` map managed in `HubsWorld`. @@ -941,7 +941,7 @@ hand and to version control. ### renderAsEntity() -Our `renderAsEntity()` function defined in [`src/utils/jsx-entity.js`](https://github.com/mozilla/hubs/blob/master/src/utils/jsx-entity.ts) +Our `renderAsEntity()` function defined in [`src/utils/jsx-entity.js`](https://github.com/Hubs-Foundation/hubs/blob/master/src/utils/jsx-entity.ts) parses `EntityDef`, adds entities to the world, and assign components to the entities. @@ -1102,10 +1102,10 @@ as Hubs bitECS component definition. ### Hubs Blender add-on and Spoke -[`Hubs Blender add-on`](https://github.com/MozillaReality/hubs-blender-exporter) +[`Hubs Blender add-on`](https://github.com/Hubs-Foundation/hubs-blender-exporter) can export `glTF` file with Hubs bitECS component data. -[Our online authoring tool Spoke](https://hubs.mozilla.com/spoke/) also +[Our online authoring tool Spoke](https://github.com/Hubs-Foundation/Spoke) also includes component data in the gltf files that it exports and uploads. diff --git a/docs/dev-client-networking.md b/docs/dev-client-networking.md index 1fadc81..b4096ea 100644 --- a/docs/dev-client-networking.md +++ b/docs/dev-client-networking.md @@ -12,7 +12,7 @@ Entity state includes things like what objects should be created by each client in a room, where those objects are, and associated [component](./dev-client-gameplay.html) data. [`WebRTC`](https://webrtc.org/) connections for streaming data (voice, video, screenshare) are out of scope for this document: Those are handled -separately by [`dialog`](https://github.com/mozilla/dialog) and the +separately by [`dialog`](https://github.com/Hubs-Foundation/dialog) and the `DialogAdapter`. TODO: Add the link to our WebRTC document when it will be ready @@ -30,13 +30,13 @@ the networking gameplay functionality of the Hubs client. ### Reticulum -[`Reticulum`](https://github.com/mozilla/reticulum) is a hybrid +[`Reticulum`](https://github.com/Hubs-Foundation/reticulum) is a hybrid game-networking and web API server built on [Phoenix](#phoenix). It manages a [mesh topology network](https://www.computerhope.com/jargon/m/mesh.htm) of Phoenix nodes. Hubs uses Reticulum server for real-time data transfer and also persistent data -(like accounts, rooms, [Spoke](https://hubs.mozilla.com/spoke/) projects, and +(like accounts, rooms, [Spoke](https://github.com/Hubs-Foundation/Spoke) projects, and more) management. Persistent data is stored in a [PostgreSQL](https://www.postgresql.org/) database. @@ -58,7 +58,7 @@ are a great resource for an overview of how it works. Real-time data is managed by [Phoenix Channels](https://hexdocs.pm/phoenix/Phoenix.Channel.html). The relevant channel for entity state networking is the `HubChannel` defined in -[`src/utils/hub-channel.js`](https://github.com/mozilla/hubs/blob/master/src/utils/hub-channel.js). +[`src/utils/hub-channel.js`](https://github.com/Hubs-Foundation/hubs/blob/master/src/utils/hub-channel.js). TODO: Write what Phoneix Channels are? @@ -94,7 +94,7 @@ Hubs Client manages who the creator of `networked instanciated entities`, `networked entities` instanciated by it are removed from the room. In order to keep these entities stayed in the room even after their authors -leave a room, the entity must be [`pinned`](https://hubs.mozilla.com/docs/hubs-features.html). +leave a room, the entity must be pinned. Pinned entities are stored in database in Reticulum. [More details will be explained later.](#persisting-networked-entity-state) @@ -270,7 +270,7 @@ component. Hubs Clients make their components data synched with remote clients. [Prefabs](./dev-client-gameplay.html#prefab) for networked entities must be registered in the built-in `prefabs` map defined in registered in the built-in `prefabs` map defined in -[`src/prefabs/prefabs.ts`](https://github.com/mozilla/hubs/blob/master/src/prefabs/prefabs.ts), +[`src/prefabs/prefabs.ts`](https://github.com/Hubs-Foundation/hubs/blob/master/src/prefabs/prefabs.ts), which is a map from `prefabName` string to `PrefabDefinition`, to let [`createNetworkedEntity()`](#createnetworkedentity) recognize it. `PrefabDefinition`s include functions that take `InitialData` and return @@ -312,11 +312,11 @@ TODO: Add a better API for registering prefab? ### createNetworkedEntity() Calling the built-in `createNetworkedEntity(world: HubsWorld, prefabName: string, data: InitialData)` -function defined in [`src/utils/create-networked-entity.ts`](https://github.com/mozilla/hubs/blob/master/src/utils/create-networked-entity.ts) +function defined in [`src/utils/create-networked-entity.ts`](https://github.com/Hubs-Foundation/hubs/blob/master/src/utils/create-networked-entity.ts) that takes - A `prefabName`, to indicate which prefab to initialize -- An [`InitialData`](https://github.com/mozilla/hubs/blob/master/src/utils/networking-types.ts) struct, to know how to initialize the prefab +- An [`InitialData`](https://github.com/Hubs-Foundation/hubs/blob/master/src/utils/networking-types.ts) struct, to know how to initialize the prefab TODO: Write what exactly `InitialData` is? @@ -339,7 +339,7 @@ const eid = createNetworkedEntity(world, "networked-foo", { val: 0 }); ### Network Schema -A [`NetworkSchema`](https://github.com/mozilla/hubs/blob/master/src/utils/network-schemas.ts) +A [`NetworkSchema`](https://github.com/Hubs-Foundation/hubs/blob/master/src/utils/network-schemas.ts) indicates how to pack component data into network update messages, and has the following properties: @@ -355,7 +355,7 @@ TODO: Write how `componentName` is used The `serialize` and `deserialize` functions can be generated by calling the built-in `defineNetworkSchema()` function defined in -[`src/utils/define-network-schema.js`](https://github.com/mozilla/hubs/blob/master/src/utils/define-network-schema.js). +[`src/utils/define-network-schema.js`](https://github.com/Hubs-Foundation/hubs/blob/master/src/utils/define-network-schema.js). TODO: Write how to write custom serialize and deserialize functions? @@ -368,7 +368,7 @@ looking for ways to simplify the complexity that `serializeForStorage` and `deserializeForStorage` introduce. `NetworkSchema` must be added to the built-in `schemas` map defined in -[`src/utils/network-schema.ts`](https://github.com/mozilla/hubs/blob/master/src/utils/network-schemas.ts). +[`src/utils/network-schema.ts`](https://github.com/Hubs-Foundation/hubs/blob/master/src/utils/network-schemas.ts). Example: @@ -426,7 +426,7 @@ TODO: Polish this section Networked entities are any entities with the `Networked` component. The `Networked` component defined in -[`src/bit-components.js`](https://github.com/mozilla/hubs/blob/master/src/bit-components.js) +[`src/bit-components.js`](https://github.com/Hubs-Foundation/hubs/blob/master/src/bit-components.js) contains: - A (networked) `id`, which clients use to uniquely identify this entity across @@ -628,7 +628,7 @@ client to delete, overwrite, or ignore descendant updates. Event handlers that queue messages for later processing can be found in `listenForNetworkMessages` defined in -[`src/utils/listen-for-network-message.ts`](https://github.com/mozilla/hubs/blob/master/src/utils/listen-for-network-messages.ts). +[`src/utils/listen-for-network-message.ts`](https://github.com/Hubs-Foundation/hubs/blob/master/src/utils/listen-for-network-messages.ts). ### Persisting Networked Entity State @@ -636,8 +636,7 @@ Event handlers that queue messages for later processing can be found in By default, `networked instanciated entities` which are created with the built-in [`createNetworkedEntity()`](#createnetworkedentity) function, are removed when their creator (client) is disconnects. In order to persist -these entities the entity must be -[`pinned`](https://hubs.mozilla.com/docs/hubs-features.html). Only +these entities the entity must be pinned. Only `networked instanciated entities` can be `pinned`. To `pin` an `network instantiated entities`, a client calls the built-in @@ -662,4 +661,4 @@ eventually consistent properties guarantee that if entity state updates that come from the database are out-of-date, they will be appropriately handled. The built-in functions described in this section are defined in -[`src/utils/entity-state-utils`](https://github.com/mozilla/hubs/blob/master/src/utils/entity-state-utils.ts). +[`src/utils/entity-state-utils`](https://github.com/Hubs-Foundation/hubs/blob/master/src/utils/entity-state-utils.ts). diff --git a/docs/dev-contributing.md b/docs/dev-contributing.md index cc6a28f..0aa57c1 100644 --- a/docs/dev-contributing.md +++ b/docs/dev-contributing.md @@ -5,16 +5,16 @@ title: Contributing This page outlines opportunities for people who want to contribute to the Hubs project. We welcome external contributions that align with the project's mission around enabling collaboration and communication through shared 3D spaces. You can find information about how to contribute to Hubs and the supporting projects that make up the platform here. -Contributors are expected to abide by the project's [Code of Conduct](https://github.com/mozilla/hubs/blob/master/CODE_OF_CONDUCT.md) and to be respectful of the project and people working on it. +Contributors are expected to abide by the project's [Code of Conduct](https://github.com/Hubs-Foundation/hubs/blob/master/CODE_OF_CONDUCT.md) and to be respectful of the project and people working on it. The following GitHub projects are part of the Hubs platform and governed by these contributing guidelines: -* https://github.com/mozilla/hubs/ - the core Hubs project -* https://github.com/mozilla/spoke - 3D editor for creating scenes -* https://github.com/mozilla/dialog - networking -* https://github.com/mozilla/reticulum - server infrastructure for Hubs -* https://github.com/mozilla/hubs-ops - operations infrastructure for Hubs -* https://github.com/MozillaReality/hubs-discord-bot - Hubs' Discord integration +* https://github.com/Hubs-Foundation/hubs/ - the core Hubs project +* https://github.com/Hubs-Foundation/spoke - 3D editor for creating scenes +* https://github.com/Hubs-Foundation/dialog - networking +* https://github.com/Hubs-Foundation/reticulum - server infrastructure for Hubs +* https://github.com/Hubs-Foundation/hubs-ops - operations infrastructure for Hubs +* https://github.com/Hubs-Foundation/hubs-discord-bot - Hubs' Discord integration ## Quick Start @@ -22,19 +22,19 @@ The following GitHub projects are part of the Hubs platform and governed by thes We are happy to receive contributions to the Hubs platform in a number of different ways as outlined below. Please note that all contributions are subject to approval by the project maintainers. We ask (but do not require) that those interested in contributing to Hubs consider joining the public [Hubs Discord chat server](https://discord.gg/wHmY4nd) to connect with the dev team, ask questions, and view discussions about work being done on the project. ### 💻 Code Contributions -Hubs has a client-server architecture that gives multiple users the ability to connect to a shared room on the server. If you are interested in contributing to the Hubs client, follow the instructions in the [Readme](https://github.com/mozilla/hubs#readme) to get started. If you want to contribute to the networking or infrastructure, consider looking at the [reticulum](https://github.com/mozilla/reticulum) or [Dialog](https://github.com/mozilla/dialog) repositories. If you are interested in working on the code for Spoke, the 3D editor used to create custom environments for Hubs rooms, explore the [Spoke](https://github.com/mozilla/spoke) repository. +Hubs has a client-server architecture that gives multiple users the ability to connect to a shared room on the server. If you are interested in contributing to the Hubs client, follow the instructions in the [Readme](https://github.com/Hubs-Foundation/hubs#readme) to get started. If you want to contribute to the networking or infrastructure, consider looking at the [reticulum](https://github.com/Hubs-Foundation/reticulum) or [Dialog](https://github.com/Hubs-Foundation/dialog) repositories. If you are interested in working on the code for Spoke, the 3D editor used to create custom environments for Hubs rooms, explore the [Spoke](https://github.com/Hubs-Foundation/spoke) repository. -For more information on the inner workings of Hubs and the architectural decisions behind the project, check out [this presentation on the Mozilla Hubs Code Base](https://vimeo.com/365531296) by Engineering Lead Greg Fodor. +For more information on the inner workings of Hubs and the architectural decisions behind the project, check out [this presentation on the Hubs Code Base](https://vimeo.com/365531296) by Engineering Lead Greg Fodor. -Issues that are open are tagged. If you explore a bug or feature request that you'd like to fix, make a comment on the case so we know you're looking into it! We try to use the '[good first issue](https://github.com/mozilla/hubs/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)' tag to identify some cases that may be easier than others to begin with as you get started with the code base. +Issues that are open are tagged. If you explore a bug or feature request that you'd like to fix, make a comment on the case so we know you're looking into it! We try to use the '[good first issue](https://github.com/Hubs-Foundation/hubs/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)' tag to identify some cases that may be easier than others to begin with as you get started with the code base. Steps to contributing code to the Hubs project: 1. Clone the repo you want to contribute to and get things running locally 2. Find an issue or improvement that you want to fix - give us a heads up that you're working on it by dropping in a comment on the issue. 3. Fix the bug! Test out your changes on your local setup and let us know if you have questions or want another opinion about the fix. -4. Submit your PR for a code review and someone from the team will take a look and give feedback. Make sure you follow up! We'll close the PR if it seems like you've abandoned it by not responding to any questions or comments we leave in the review. If your PR adds a new feature, consider requesting the 'What's New' tag. With the 'What's New' tag, any text in the main body of the PR up to (and including) an image will be added to the [Hubs website](https://hubs.mozilla.com/whats-new). Gifs are especially appreciated! [This pull request](https://github.com/mozilla/hubs/pull/1536) shows an example of how the 'What's New' tag can be used. -5. Celebrate! 🎉 You're helping Mozilla's mission to make the web an open and accessible place for social experiences! +4. Submit your PR for a code review and someone from the team will take a look and give feedback. Make sure you follow up! We'll close the PR if it seems like you've abandoned it by not responding to any questions or comments we leave in the review. If your PR adds a new feature, consider requesting the 'What's New' tag. With the 'What's New' tag, any text in the main body of the PR up to (and including) an image will be added to the Hubs website. Gifs are especially appreciated! [This pull request](https://github.com/Hubs-Foundation/hubs/pull/1536) shows an example of how the 'What's New' tag can be used. +5. Celebrate! 🎉 You're helping Hubs-Foundation's mission to make the web an open and accessible place for social experiences! @@ -57,10 +57,10 @@ We will do our best to respond to and tag inbound issues as they are submitted i | P3 | Address when able after P2 bugs are fixed. Affects a small set of users inconsistently in a non-breaking way with an easy workaround. | Every so often, a standalone VR headset will show up as a mobile phone in the user list. Refreshing fixes it. | ### 🎨 3D Art -If you are a 3D artist and want to support what we're doing with Hubs, consider creating and releasing content under a Creative Commons license or creating scenes using the [Spoke web editor](https://hubs.mozilla.com/spoke) and releasing them as remixable environments. Content with low polygon counts that are optimized to run well on the web are much appreciated! In particular, we'd love to see scenes that capture a wide range of experiences. +If you are a 3D artist and want to support what we're doing with Hubs, consider creating and releasing content under a Creative Commons license or creating scenes using the [Spoke web editor](https://github.com/Hubs-Foundation/Spoke) and releasing them as remixable environments. Content with low polygon counts that are optimized to run well on the web are much appreciated! In particular, we'd love to see scenes that capture a wide range of experiences. ### 📜 Documentation -Our documentation for Hubs is hosted on the [GitHub Hubs Wiki](https://github.com/mozilla/hubs/wiki) section of the project. The documentation for Spoke is hosted on the [GitHub Spoke Wiki](https://github.com/mozilla/spoke/wiki) For contributing corrections or additional pages for the Wiki, please file an issue as a suggestion in the corresponding repository with your proposed content and we will review it and add it to the wiki when all looks good! +Our documentation for Hubs is hosted on the [GitHub Hubs Wiki](https://github.com/Hubs-Foundation/hubs/wiki) section of the project. The documentation for Spoke is hosted on the [GitHub Spoke Wiki](https://github.com/Hubs-Foundation/spoke/wiki) For contributing corrections or additional pages for the Wiki, please file an issue as a suggestion in the corresponding repository with your proposed content and we will review it and add it to the wiki when all looks good! ### 🌐 Localization Hubs is currently en-US only, but if you would like to work with us on localization efforts, submit a suggestion through the GitHub issues and we'll work with you from there. diff --git a/docs/dev-system-overview.md b/docs/dev-system-overview.md index 2d38faa..1c3a621 100644 --- a/docs/dev-system-overview.md +++ b/docs/dev-system-overview.md @@ -3,7 +3,7 @@ id: system-overview title: System Overview --- -# [The Client](https://github.com/mozilla/hubs) +# [The Client](https://github.com/Hubs-Foundation/hubs) Renders almost everything the user sees. The html pages are served by Reticulum but come from the client. The front-end is built with React for 2D components and Three.js and A-Frame for the 3D scene. The 3D content is synced across clients using networked aframe. Physics run on the client using Ammo.js/Wasm. @@ -16,7 +16,7 @@ Game networking is implemented using the networked-aframe library. Currently, au ### Ammo.js/Wasm All physics simulation is done on the clients -- there is no server-side physics simulation of any kind. The servers are basically a message bus that takes the client messages, does slight modifications and adds authorization, then broadcasts the messages and their updates to all connected peers. Things like ownership over objects and other incidental concerns to orchestrate the in-game experience among peers is all based upon the client protocol implementation. -# [Reticulum](https://github.com/mozilla/reticulum) +# [Reticulum](https://github.com/Hubs-Foundation/reticulum) A mesh network of erlang/elixir/phoenix nodes, and is responsible for all non-voice/video traffic between users including: * Avatar transforms * Auth/magic sign in links @@ -31,7 +31,7 @@ Habitat provides packaging and orchestration. Deployment is orchestrated by Habi Every AWS EC2 instance is running Habitat and Habitat runs packages such as Hubs, Reticulum, Dialog etc. -# [Dialog](https://github.com/mozilla/dialog) +# [Dialog](https://github.com/Hubs-Foundation/dialog) Voice, video and audio traffic is handled via WebRTC Server based on the open source “mediasoup” project. (We formerly used the “Janus” project as our WebRTC server). It uses an SFU (Selective Forwarding Unit) topology where each participant is sending their data to a central routing machine which then sends back all participants data to each participant. # Postgres DB diff --git a/docs/hubs-cloud-branding.md b/docs/hubs-cloud-branding.md index 31a7e95..ef4a372 100644 --- a/docs/hubs-cloud-branding.md +++ b/docs/hubs-cloud-branding.md @@ -6,21 +6,21 @@ sidebar_label: Advanced: Brand Guidelines __Important Stuff To Keep In Mind__ -__Mozilla Hubs__ is the name of Mozilla’s public offering on https://hubs.mozilla.com + -__Hubs Cloud__ is the name of Mozilla’s cloud-based Hubs offering (https://hubs.mozilla.com/cloud) which allows for enterprise and individuals to stand up their own private instance of Hubs. + -When using Mozilla trademarks (including the Mozilla or Firefox logo and brand) you must comply with these [Mozilla Trademark Guidelines](https://www.mozilla.org/en-US/foundation/trademarks/policy/). +When using Hubs trademarks you must comply with Hubs Trademark Guidelines (coming soon). -You are allowed to use the Hubs Cloud logo in connection with your product or initiatives built upon Hubs Cloud. The recommended language to use is “Powered by Hubs Cloud” with a link to https://hubs.mozilla.com/cloud +You are allowed to use the Hubs logo in connection with your product or initiatives built upon Hubs. The recommended language to use is “Powered by Hubs” with a link to https://hubsfoundation.org -You are allowed to use the Mozilla Hubs logo in connection with your event or space, but only if it is held on Mozilla’s public Hubs offering located at https://hubs.mozilla.com/demo +You are allowed to use the Hubs logo in connection with your event or space, but only if it is held on Hubs’s public Hubs offering. -Please do not use language that implies that your product or site is partnered, affiliated with, or endorsed by Mozilla. This includes terms such as “Partners”, “Partnered with”, "Trusted by" or “Sponsored by.” +Please do not use language that implies that your product or site is partnered, affiliated with, or endorsed by the Hubs Foundation. This includes terms such as “Partners”, “Partnered with”, "Trusted by" or “Sponsored by.” __Downloads__ -These are the official logos for Mozilla Hubs and Hubs Cloud. +These are the official logos for Hubs and the Hubs Foundation. Mozilla Hubs @@ -36,10 +36,10 @@ light-stacked: dark-stacked: ![Mozilla Hubs Dark Stacked](img/hubs-dark-stacked-logo.png) -Hubs Cloud - Opaque Background + diff --git a/docs/hubs-cloud-custom-clients.md b/docs/hubs-cloud-custom-clients.md index 403f32e..1a8c41b 100644 --- a/docs/hubs-cloud-custom-clients.md +++ b/docs/hubs-cloud-custom-clients.md @@ -4,9 +4,9 @@ title: Creating and Deploying Custom Clients sidebar_label: Custom Clients --- -Now that you have a working Hubs Cloud instance, you can create and deploy custom versions of the [Hubs Client](https://hubs.mozilla.com) yourself! By forking the [hubs repository](https://github.com/mozilla/hubs), making code changes, then deploying it to your live instance. +Now that you have a working Hubs Cloud instance, you can create and deploy custom versions of the [Hubs Client](https://hubs.Hubs-Foundation.com) yourself! By forking the [hubs repository](https://github.com/Hubs-Foundation/hubs), making code changes, then deploying it to your live instance. -Your custom client code will be based off of the [`hubs-cloud` branch](https://github.com/mozilla/hubs/tree/hubs-cloud) which hosts Hubs client changes compatible with Hubs Cloud servers. Changes due to upgrades will be visible in merged PRs on the branch. +Your custom client code will be based off of the [`hubs-cloud` branch](https://github.com/Hubs-Foundation/hubs/tree/hubs-cloud) which hosts Hubs client changes compatible with Hubs Cloud servers. Changes due to upgrades will be visible in merged PRs on the branch. ## Setup your Custom Client with your fork and upstream @@ -15,11 +15,11 @@ Your custom client code will be based off of the [`hubs-cloud` branch](https://g Your fork is a copy of the hubs repository on your github account. 1. Create a [github account](https://github.com) -1. Go to https://github.com/mozilla/hubs +1. Go to https://github.com/Hubs-Foundation/hubs 1. Click the "Fork" button in the upper right hand corner -1. You'll be redirected to [github.com/mozilla/hubs/fork](https://github.com/mozilla/hubs/fork) +1. You'll be redirected to [github.com/Hubs-Foundation/hubs/fork](https://github.com/Hubs-Foundation/hubs/fork) 1. Make sure to UNCHECK the 'Copy the master branch only' option so that you have access to all the branches -1. Go to your newly forked repo (upper left should say " / hubs" NOT "mozilla/hubs") +1. Go to your newly forked repo (upper left should say " / hubs" NOT "Hubs-Foundation/hubs") 1. Click green "Code button" to open the **clone** options for your repo 1. **Copy** the url, you'll need this copied url for the next steps (everyone new to git use HTTPS) @@ -45,9 +45,9 @@ Upstream remote repository points to the original hubs repo, so when the hubs re Next, setup the original hubs repo as a remote upstream repository to keep your branches up to date. ```bash -# Connect to the mozilla managed hubs repository +# Connect to the Hubs-Foundation managed hubs repository git remote -v # should only print out "origin" your forked hubs repository url -git remote add upstream https://github.com/mozilla/hubs.git +git remote add upstream https://github.com/Hubs-Foundation/hubs.git git remote -v # now should see both origin + upstreams ``` @@ -56,8 +56,8 @@ You should see this printed: ``` origin origin -upstream https://github.com/mozilla/hubs.git (fetch) -upstream https://github.com/mozilla/hubs.git (push) +upstream https://github.com/Hubs-Foundation/hubs.git (fetch) +upstream https://github.com/Hubs-Foundation/hubs.git (push) ``` Success! You've set up your fork and upstream repositories on your machine. @@ -103,7 +103,7 @@ To test that your admin panel build is working, in your hubs repo root, try: 1. If these commands succeed, try the `npm run deploy` command again. 1. If these commands fail, try `npm ci` and the `build` commands one more time, then fix the error in your code, then try these commands again. -If at any point you want to revert your Hubs client back to using the Mozilla upstream version of the client, run `npm run undeploy`. +If at any point you want to revert your Hubs client back to using the Hubs-Foundation upstream version of the client, run `npm run undeploy`. ```bash npm run undeploy @@ -113,18 +113,18 @@ npm run undeploy You need to pull in the latest changes to the hubs-cloud branch into your fork + code. -Hubs Cloud is updated every month, to ensure your Hubs Cloud custom client is up to date, you should do this regularly in case of changes. See [Hubs Cloud Changelog](https://github.com/mozilla/hubs-cloud/blob/master/CHANGELOG.md) for details. +Hubs Cloud is updated every month, to ensure your Hubs Cloud custom client is up to date, you should do this regularly in case of changes. See [Hubs Cloud Changelog](https://github.com/Hubs-Foundation/hubs-cloud/blob/master/CHANGELOG.md) for details. -Check your remotes for the upstream mozilla hubs repository. If not, follow "Setup remotes" steps above. +Check your remotes for the upstream Hubs-Foundation hubs repository. If not, follow "Setup remotes" steps above. ```bash git remote -v # should see origin AND upstream fetch/push .git urls ``` -Fetch and merge the upstream Mozilla hubs-cloud branch into your branch. Especially important after a Hubs Cloud update. +Fetch and merge the upstream Hubs-Foundation hubs-cloud branch into your branch. Especially important after a Hubs Cloud update. ```bash -git fetch upstream # Gets all updates for your mozilla/hubs repo +git fetch upstream # Gets all updates for your Hubs-Foundation/hubs repo git checkout git merge upstream/hubs-cloud # Merges updates from the hubs-cloud branch into your current branch ``` diff --git a/docs/hubs-cloud-customizing-look-and-feel.md b/docs/hubs-cloud-customizing-look-and-feel.md index de43a78..5df7428 100644 --- a/docs/hubs-cloud-customizing-look-and-feel.md +++ b/docs/hubs-cloud-customizing-look-and-feel.md @@ -6,7 +6,7 @@ sidebar_label: Customizing Look & Feel # An announcement about the Hubs user interface -On January 25, 2021, we released a significant update to the user interface for Hubs on hubs.mozilla.com. This change will not go live on new Hubs Cloud deployments until on or after March 25, 2021. Before the update is released to Hubs Cloud, we encourage administrators of Hubs Cloud deployments to consider their own releases and determine a plan of action for updating to the new UI. +On January 25, 2021, we released a significant update to the user interface for Hubs on hubs.Hubs-Foundation.com. This change will not go live on new Hubs Cloud deployments until on or after March 25, 2021. Before the update is released to Hubs Cloud, we encourage administrators of Hubs Cloud deployments to consider their own releases and determine a plan of action for updating to the new UI. - If you have not made any changes to your Hubs Cloud client look and feel, your Hubs Cloud instance will be updated on or after March 25th to have the new UI. diff --git a/docs/hubs-cloud-discord-bot.md b/docs/hubs-cloud-discord-bot.md index 7873d10..e8eaa13 100644 --- a/docs/hubs-cloud-discord-bot.md +++ b/docs/hubs-cloud-discord-bot.md @@ -6,4 +6,4 @@ sidebar_label: Recipe: Discord Bot > Discord bot for Hubs Cloud is under **construction**! > -> Please follow [github.com/mozilla/hubs-cloud/issues/128](https://github.com/mozilla/hubs-cloud/issues/128) for updates. +> Please follow [github.com/Hubs-Foundation/hubs-cloud/issues/128](https://github.com/Hubs-Foundation/hubs-cloud/issues/128) for updates. diff --git a/docs/hubs-cloud-getting-started.md b/docs/hubs-cloud-getting-started.md index a4810e4..815555a 100644 --- a/docs/hubs-cloud-getting-started.md +++ b/docs/hubs-cloud-getting-started.md @@ -12,7 +12,7 @@ Once you've logged into Hubs Cloud for the first time, you should see the Hubs C ![Hubs Cloud Admin Landing](img/hubs-cloud-admin-landing.jpeg) -If so, congratulations! You've successfully deployed your own personal Social VR hub, powered by Hubs by Mozilla. +If so, congratulations! You've successfully deployed your own personal Social VR hub, powered by Hubs by Hubs-Foundation. You can always get back to the Admin Console by navigating to your site and looking for the "Admin" link in the top navigation bar: diff --git a/docs/hubs-cloud-importing-content.md b/docs/hubs-cloud-importing-content.md index 65e1c1d..e12e15a 100644 --- a/docs/hubs-cloud-importing-content.md +++ b/docs/hubs-cloud-importing-content.md @@ -6,13 +6,13 @@ sidebar_label: Importing Content The two forms of content you can import into Hubs Cloud are **avatars** and **scenes**. Avatars are 3D figures like robots, humans, and ducks that can be worn by visitors to represent themselves, and scenes are 3D environments like interiors and landscapes that provide visual grounding for a room. -Mozilla offers a number of [Asset Packs](./hubs-cloud-asset-packs.md) you can import to add some initial content to your hub. Additionally, you can import any custom content you've created, either on [hubs.mozilla.com](https://hubs.mozilla.com), or using the tools like the [Scene Editor](./hubs-cloud-enable-scene-editor.md) available on your hub. For more information about the Scene Editor, see [Spoke Documentation](http://hubs.local:3000/docs/docs/spoke-creating-projects.html)[^1]. +Hubs-Foundation offers a number of [Asset Packs](./hubs-cloud-asset-packs.md) you can import to add some initial content to your hub. Additionally, you can import any custom content you've created, either on [hubsfoundation.org](https://hubsfoundation.org), or using the tools like the [Scene Editor](./hubs-cloud-enable-scene-editor.md) available on your hub. For more information about the Scene Editor, see [Spoke Documentation](http://hubs.local:3000/docs/docs/spoke-creating-projects.html)[^1]. ### Admin Import Tool To start importing content, navigate to the "Import Content" tool from the Admin Console. If you don't remember how to get to the Admin Console, see the [Getting Started](./hubs-cloud-getting-started.md) Guide. -[^1]: 'Spoke' is the Mozilla trademarked name used for the Scene Editor on [hubs.mozilla.com](https://hubs.mozilla.com). +[^1]: 'Spoke' is the Hubs-Foundation trademarked name used for the Scene Editor on [hubsfoundation.org](https://hubsfoundation.org). ![Hubs Cloud Import Content](img/hubs-cloud-import-content.jpeg) @@ -20,7 +20,7 @@ Once there, you'll need to specify a URL to import: ![Hubs Cloud Import Content URL](img/hubs-cloud-import-content-url.jpeg) -You can enter comma-separated URLs to scenes or avatars on another hub ([example scene](https://hubs.mozilla.com/scenes/rWgv5zN/winter-cheer), [example avatar](https://hubs.mozilla.com/avatars/PcJ8Sxb)). Or, you can specify a link to an [asset pack](./hubs-cloud-asset-packs.md). + Once you've specified the content URL, you will see a preview of the content you're planning to import. You can then choose to exclude or include certain items and set special tags: diff --git a/docs/hubs-cloud-intro.md b/docs/hubs-cloud-intro.md index 41bbc73..67f19cf 100644 --- a/docs/hubs-cloud-intro.md +++ b/docs/hubs-cloud-intro.md @@ -8,9 +8,9 @@ sidebar_label: Introduction **NOTICE: HUBS CLOUD WILL BE REPLACED BY COMMUNITY EDITION. PRO TIER IS AVAILABLE NOW TO EASILY DEPLOY CUSTOM CLIENTS ON YOUR OWN DOMAINS -READ MORE [HERE](https://hubs.mozilla.com/#subscribe)** + -[Hubs Cloud](https://hubs.mozilla.com/cloud) allows you to run your own hub on a private server. + **Currently, Hubs Cloud is offered on AWS and DigitalOcean.** diff --git a/docs/hubs-create-join-rooms.md b/docs/hubs-create-join-rooms.md index a49b000..8ac64f0 100644 --- a/docs/hubs-create-join-rooms.md +++ b/docs/hubs-create-join-rooms.md @@ -5,7 +5,7 @@ title: Create and Join Rooms ## Create a New Room -To create your own room, head to [Mozilla's Demo Hub](https://hubs.mozilla.com/demo) and click "Create a Room". Your new space is private; no one else can join until you invite them. +To create your own room, head to [Hubs-Foundation's Demo Hub](https://hubs.Hubs-Foundation.com/demo) and click "Create a Room". Your new space is private; no one else can join until you invite them. ## Join an Existing Room diff --git a/docs/hubs-discord-bot.md b/docs/hubs-discord-bot.md index 5317717..c55d381 100644 --- a/docs/hubs-discord-bot.md +++ b/docs/hubs-discord-bot.md @@ -4,7 +4,7 @@ title: Discord Bot --- ## About -The [Hubs Discord Bot](https://hubs.mozilla.com/discord) makes it easy to connect Hubs rooms to your Discord chat server. When a Hubs room is associated with a Discord channel, users will be assigned abilities in the Hubs room based on their Discord roles. For example, Discord owners and moderators will be able to change settings on a Hubs room and be able to moderate users in the room. +The [Hubs Discord Bot](https://github.com/Hubs-Foundation/hubs-discord-bot) makes it easy to connect Hubs rooms to your Discord chat server. When a Hubs room is associated with a Discord channel, users will be assigned abilities in the Hubs room based on their Discord roles. For example, Discord owners and moderators will be able to change settings on a Hubs room and be able to moderate users in the room. ![Hubs Discord bot](img/discord-bot.jpeg) @@ -15,7 +15,7 @@ The [Hubs Discord Bot](https://hubs.mozilla.com/discord) makes it easy to connec -## Set Up +Integrations) It will use this webhook to bridge chat and send Hubs status updates. -4. Try out the bot! Type !hubs in a channel the bot is in to see some things you can do. +4. Try out the bot! Type !hubs in a channel the bot is in to see some things you can do. --> -Using Hubs Cloud? You can [add the bot to your Hubs Cloud server](./hubs-cloud-discord-bot.md). + ### User Permissions Your room's user permissions will inherit the permissions that their Discord role has in the channel that the bot is bound to. Specifically diff --git a/docs/hubs-faq.md b/docs/hubs-faq.md index e207983..a4d2a79 100644 --- a/docs/hubs-faq.md +++ b/docs/hubs-faq.md @@ -11,7 +11,7 @@ Once a room is full, all additional users (participant #26 and beyond) can still If you want to scale Hubs for a larger event we recommend splitting crowds into multiple rooms with smaller groups, or live streaming the event, depending on the use case. -For more information on setting up Hubs for large events, we recommend exploring [Hubs Cloud](https://hubs.mozilla.com/cloud) as an option for your organization's event needs. + ## How long does a Hubs room last? @@ -33,9 +33,9 @@ To use a PowerPoint in Hubs, you can convert it to a PDF file and import it dire ## Is it possible to have my video or slides show up in a good place (like on a wall) automatically? -Precise positioning using the [object controls](./hubs-features.html#object-menu) in Hubs can be a bit tricky at the moment. ([We are working on it!](https://github.com/mozilla/hubs/issues/1324)) +Precise positioning using the [object controls](./hubs-features.html#object-menu) in Hubs can be a bit tricky at the moment. ([We are working on it!](https://github.com/Hubs-Foundation/hubs/issues/1324)) -If precise positioning is important, you may prefer to build your media into the scene using [Spoke](https://hubs.mozilla.com/spoke), Hubs' web-based scene editing tool. Spoke has controls that let you fine tune object placement. +If precise positioning is important, you may prefer to build your media into the scene using [Spoke](https://github.com/Hubs-Foundation/Spoke), Hubs' web-based scene editing tool. Spoke has controls that let you fine tune object placement. In the meantime, you may find it easier to resize and place objects when using Hubs in VR. If you are setting up a room on desktop, we recommend directly facing the surface you wish to place your media on when importing the files. To move the media into position, you may find you have more control if you click on the object with your mouse to grab it, and then move it into place using the WASD keys. @@ -49,7 +49,7 @@ There is a maximum number of lines that can be included in drawings using the pe ## Can I create custom environments? -Environments are completely customizable using [Spoke](https://hubs.mozilla.com/spoke), Hubs' web-based scene editing tool. [Learn more here.](intro-spoke.html) +Environments are completely customizable using [Spoke](https://github.com/Hubs-Foundation/Spoke), Hubs' web-based scene editing tool. [Learn more here.](intro-spoke.html) ## How do I record my event in Hubs? @@ -57,7 +57,7 @@ We recommend using screen recording software like [OBS](https://obsproject.com/) ## Can I add custom interactive objects to my room? -[Spoke](https://hubs.mozilla.com/spoke) allows you to create model spawners in your room, enabling users to generate copies of 3D models in the room. +[Spoke](https://github.com/Hubs-Foundation/Spoke) allows you to create model spawners in your room, enabling users to generate copies of 3D models in the room. It is not possible at the moment to add scripting or further interactivity to objects in Spoke or Hubs. @@ -102,28 +102,30 @@ Check out the [troubleshooting](hubs-troubleshooting.html#unable-to-connect-erro Check out the [troubleshooting](hubs-troubleshooting.html#there-is-echo-in-the-room) section. -## How much does Hubs cost for an event? + -Creating private rooms on [hubs.mozilla.com](https://hubs.mozilla.com/) is free! + -If you are interested in hosting an event, or would like to create a customized Hubs environment on your own infrastructure/domain, check out [Hubs Cloud](https://hubs.mozilla.com/cloud) or fill out the [Hubs Events form](https://mzl.la/hubsevents) so that we can provided tailored information for your event needs. + ## Can I prevent unregistered attendees from attending my event? -Hubs rooms can only be accessed by individuals with the URL. Authentication can be done either the [Hubs Discord Bot](hubs-discord-bot.html), or using an approved list of users in [Hubs Cloud](https://hubs.mozilla.com/cloud). +Hubs rooms can only be accessed by individuals with the URL. -## Can I run custom code in a Hubs room? + + + -## Is it possible for me to create a custom version of Hubs which has different features or styling? + -## Can I pay Mozilla to do X, Y, Z? -It's not possible to pay Mozilla for custom work, however, our code is open source and we welcome external contributors in [GitHub](http://github.com/mozilla/hubs). You can post in the #work-for-hire channel of our [Discord chat server](https://discord.gg/wHmY4nd) if you are interested in paying someone to build something for you. +## Can I pay Hubs-Foundation to do X, Y, Z? +It's not possible to pay Hubs-Foundation for custom work, however, our code is open source and we welcome external contributors in [GitHub](http://github.com/Hubs-Foundation/hubs). You can post in the #work-for-hire channel of our [Discord chat server](https://discord.gg/wHmY4nd) if you are interested in paying someone to build something for you. ## Can I run my virtual event in Hubs? Yes, check out the information [here](./intro-events.html) for more information on how to get started: @@ -132,11 +134,11 @@ If you have questions about whether Hubs will be a good fit for your event, drop ## Have you considered adding feature X? -We keep track of bugs and feature requests in GitHub. If there is a feature you would like, see if someone has already mentioned it in our [list of bugs/feature requests](https://github.com/mozilla/hubs/issues). If you find someone else has already asked for the feature, let us know in a comment that you would like it too. If it's not already mentioned, feel free to submit a "feature request." Note, please include as much detail as possible to feature requests to let us know how you see this feature benefiting your use case. +We keep track of bugs and feature requests in GitHub. If there is a feature you would like, see if someone has already mentioned it in our [list of bugs/feature requests](https://github.com/Hubs-Foundation/hubs/issues). If you find someone else has already asked for the feature, let us know in a comment that you would like it too. If it's not already mentioned, feel free to submit a "feature request." Note, please include as much detail as possible to feature requests to let us know how you see this feature benefiting your use case. -## Where can I find the Mozilla Hubs Privacy Policy? +## Where can I find the Hubs-Foundation Hubs Privacy Policy? -https://www.mozilla.org/en-US/privacy/hubs/ +https://hubsfoundation.org/privacy-policy/ ## Need help with something else? diff --git a/docs/hubs-query-string-parameters.md b/docs/hubs-query-string-parameters.md index 7df2cb4..44bb98b 100644 --- a/docs/hubs-query-string-parameters.md +++ b/docs/hubs-query-string-parameters.md @@ -8,7 +8,7 @@ Some developer-oriented options that are not available in the preferences panel Examples: ``` -https://hubs.mozilla.com/12345/my-room-name?allow_multi +https://mydomain.com/12345/my-room-name?allow_multi https://localhost:8080/?hub_id=12345&allow_multi ``` diff --git a/docs/hubs-troubleshooting.md b/docs/hubs-troubleshooting.md index 6344dd2..e5076fa 100644 --- a/docs/hubs-troubleshooting.md +++ b/docs/hubs-troubleshooting.md @@ -65,9 +65,11 @@ If you try to import an object and it loads as a broken link, it could be an uns ## Images aren't displaying -Some older systems have trouble rendering 2D objects in the scene. If you suspect this is happening, try reloading the page with the following flag at the end of the URL: __?disablebatching__. For example: +Some older systems have trouble rendering 2D objects in the scene. If you suspect this is happening, try reloading the page with the following flag at the end of the URL: __?disablebatching__. - https://hubs.mozilla.com/sgKNM3h/smart-magnificent-gala?disablebatching + ## YouTube is not working diff --git a/docs/intro-avatars.md b/docs/intro-avatars.md index 9147469..63480a3 100644 --- a/docs/intro-avatars.md +++ b/docs/intro-avatars.md @@ -5,7 +5,7 @@ title: Creating Custom Avatars In Hubs you can choose how you want to represent yourself. Select from any of the featured or newest avatars, or create your own. -Get started quickly using one of these web based tools: [Quick Customized Avatars](https://hubs.mozilla.com/labs/quick-customized-avatars-in-hubs/). + Depending on how involved you'd like to get in the avatar creation process, you might choose to simply 're-skin' one of the base avatar bodies, or upload your own 3D model. diff --git a/docs/intro-events.md b/docs/intro-events.md index 4037451..c718351 100644 --- a/docs/intro-events.md +++ b/docs/intro-events.md @@ -4,9 +4,9 @@ title: Hosting Events in Hubs sidebar_label: Hosting Events in Hubs --- -This guide will talk you through the process of using Hubs for an event on [Mozilla Hubs](https://hubs.mozilla.com). We've broken this guide down into different sections that can help you get started with creating and configuring a room, choosing a custom scene, inviting people, and moderating your event. + -If you're new to Mozilla Hubs, check out these getting started guides to familiarize yourself with the platform: +If you're new to Hubs, check out these getting started guides to familiarize yourself with the platform: 1. [Getting Started with Hubs](./intro-hubs.html) 2. [Familiarize yourself with Hubs Controls](./hubs-controls.html) @@ -16,19 +16,22 @@ Hubs is a platform where you can create private rooms and meet with friends in a Events in Hubs work best for meetups that are designed to have attendees engaged and participating actively with one another, or as a shared viewing environment for streamed video content. -If you are interested in hosting a large event with multiple tracks, you may be interested in exploring [Hubs Cloud](./hubs-cloud-getting-started.html). Hubs Cloud allows you to customize your deployment of the Hubs platform, so that you manage and maintain the system, offers configuration tools for rooms and accounts, and is better suited for larger events. For events that have larger participant interest, we recommend creating several viewing rooms and streaming the primary content to a service like [Twitch](https://twitch.tv). + +Hubs Cloud allows you to customize your deployment of the Hubs platform, so that you manage and maintain the system, offers configuration tools for rooms and accounts, and is better suited for larger events. For events that have larger participant interest, we recommend creating several viewing rooms and streaming the primary content to a service like [Twitch](https://twitch.tv). ## Setting up a Room -Your event will need a room, which can be created from the home page at [hubs.mozilla.com](https://hubs.mozilla.com). When you create a room, you are the room's "owner", which grants you full rights and permissions within the room you have created. We recommend that you log in with a Hubs account when you create rooms, since this will ensure that you are still recorded as the room owner even if you change devices. Logged-in room owners have additional configuration tools available to them that enable more nuanced control over how visitors can interact in the space. +Your event will need a room. When you create a room, you are the room's "owner", which grants you full rights and permissions within the room you have created. We recommend that you log in with a Hubs account when you create rooms, since this will ensure that you are still recorded as the room owner even if you change devices. Logged-in room owners have additional configuration tools available to them that enable more nuanced control over how visitors can interact in the space. -When you create a room as a signed-in user, you can save the room to your favorites list. Rooms that you have favorited appear on the home page when you're signed in to hubs.mozilla.com. This is a helpful way to save links to rooms that you want to return to. By default, rooms stay open until they are explicitly closed by the room owner or a moderator, and once rooms are closed, they cannot be re-opened. +When you create a room as a signed-in user, you can save the room to your favorites list. Rooms that you have favorited appear on the home page when you're signed in to hubs. This is a helpful way to save links to rooms that you want to return to. By default, rooms stay open until they are explicitly closed by the room owner or a moderator, and once rooms are closed, they cannot be re-opened. ### Room Permissions You can specify whether users in the room are able to create and move objects, pin content, and draw with the pen. To set these for your Hubs room, click the menu icon, select 'Room Settings', and toggle the permissions that you want to set. By default, users can create and move objects, pin content, draw, and create cameras. Removing these permissions can help keep rooms performant, and reduces the likelihood that someone will bring content into the room that is undesirable. ## Choosing a Scene -With Hubs, you can create your own scenes to use as the environment for your rooms. Any scene can be used to create multiple rooms, and you can remix existing scenes that have been shared with a Creative Commons license in [Spoke](./intro-spoke.html) to make edits and personalize spaces. For events, we've provided a few example scenes below to get you started. +With Hubs, you can create your own scenes to use as the environment for your rooms. Any scene can be used to create multiple rooms, and you can remix existing scenes that have been shared with a Creative Commons license in [Spoke](./intro-spoke.html) to make edits and personalize spaces. + + ## Invitations By default, Hubs rooms [are private, available only to people who you share the URL with](https://blog.mozvr.com/creating-privacy-centric-virtual-spaces/). When planning an event with Hubs, it's important to consider who you want to invite, and only share the link with the attendees you want to have in the space with you. Keep in mind that those attendees will also be able to share the URL, so communicate whether or not how private you would like your event to remain. -### Discord Integration + ### Embedded Rooms You can also embed rooms that you own into an existing webpage via an iframe. For larger events that have multiple rooms open at the same time, it can be helpful to embed rooms into a central location to help people find occupied rooms and enter from a single location. @@ -65,9 +68,11 @@ If you are using the Discord Bot for moderation, you can remove a user permanent ### Code of Conduct -We recommend that events that are semi-public or public have a prominent link to the code of conduct guidelines for the space. You can learn more about Mozilla's own [Community Participation Guidelines](https://www.mozilla.org/en-US/about/governance/policies/participation/) or provide a link to your own when you create an event. We also recommend adding an image to your event rooms that includes a link to your code of conduct, as well as information about how to report violations. +We recommend that events that are semi-public or public have a prominent link to the code of conduct guidelines for the space. + +We also recommend adding an image to your event rooms that includes a link to your code of conduct, as well as information about how to report violations. -If you are requesting support from Mozilla to promote or assist with running your event, a code of conduct link is required. +If you are requesting support from Hubs-Foundation to promote or assist with running your event, a code of conduct link is required. ## More Information If you have additional questions about hosting events or conferences using Hubs, please get in touch by [filling out the Hubs event interest form](https://airtable.com/shrAtlBbxEKkLbMsd) or join the [Hubs Community Discord Server](https://discord.gg/wHmY4nd), and check out the #conferences channel. diff --git a/docs/intro-hubs.md b/docs/intro-hubs.md index 55c04dc..c0ce60e 100644 --- a/docs/intro-hubs.md +++ b/docs/intro-hubs.md @@ -5,7 +5,7 @@ sidebar_label: Getting Started With Hubs --- -In the following guide we'll show you the basics of Hubs! (Prefer a video? [Click here](https://www.youtube.com/watch?v=5QnOsyyebEQ).) + ## Enter the Room diff --git a/docs/intro-spoke.md b/docs/intro-spoke.md index 85edaed..8b6e409 100644 --- a/docs/intro-spoke.md +++ b/docs/intro-spoke.md @@ -4,9 +4,9 @@ title: Building Scenes with Spoke sidebar_label: Building Scenes with Spoke --- -Want to build custom VR worlds for Hubs? Meet [Spoke](https://hubs.mozilla.com/spoke)! 👋 +Want to build custom VR worlds for Hubs? Meet [Spoke](https://github.com/Hubs-Foundation/Spoke)! 👋 -Spoke is an online 3D scene editor developed by the Mozilla Mixed Reality team. With Spoke, you can build environments using 3D models, architecture kit pieces, lights, images, videos, and more. Once your scene is ready, you can upload it to Hubs, or export it as a glTF 3D model. +Spoke is an online 3D scene editor developed by the Hubs Mixed Reality team. With Spoke, you can build environments using 3D models, architecture kit pieces, lights, images, videos, and more. Once your scene is ready, you can upload it to Hubs, or export it as a glTF 3D model.