From 8a497d7f267602ca31d8356c447f70079618d859 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Gro=C3=9F?= Date: Sun, 31 Mar 2024 19:55:35 +0200 Subject: [PATCH 1/2] Update to newer myst-parser. --- requirements.txt | 15 ++------------- source/conf.py | 5 +++++ source/create/entities/add-sounds.md | 8 ++++---- source/create/entities/avatar-interactions.md | 8 ++++---- source/create/entities/create-entities.md | 2 +- source/create/entities/create-spotlight.md | 2 +- source/create/entities/display-youtube.md | 12 ++++++------ source/create/entities/portal-tutorial.md | 2 +- source/explore/interact.md | 2 +- source/explore/personalize/install-apps.md | 6 +++--- source/explore/travel.md | 2 +- source/release-notes/v81.md | 2 +- source/script/js-tips.md | 2 +- source/script/write-scripts.md | 10 +++++----- 14 files changed, 36 insertions(+), 42 deletions(-) mode change 100755 => 100644 source/create/entities/create-entities.md diff --git a/requirements.txt b/requirements.txt index f58cccc1..f569e815 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,20 +1,9 @@ -Sphinx>=3.5.4 +Sphinx>=4.3 sphinx-intl>=2.0.1 sphinx-rtd-theme>=0.5.2 git+https://github.com/overte-org/video.git -#Because of a bug in myst-parser, we require a version *before* 0.17.0. See https://github.com/executablebooks/MyST-Parser/issues/519#issuecomment-1044450711 -myst-parser>=0.14.0, <0.17.0 - -# myst-parser < 0.17.2 requires attrs but the package doesn't depend on it. -attrs - -# ReadTheDocs indirectly depends on some too new extension versions. Upgrading myst-parser later should fix this. -sphinxcontrib-applehelp<=1.0.4 -sphinxcontrib-devhelp<=1.0.5 -sphinxcontrib-htmlhelp<=2.0.4 -sphinxcontrib-serializinghtml<=1.1.9 -sphinxcontrib-qthelp<=1.0.6 +myst-parser>=2.0.0 # Utility for easily running builds in Python virtual environments. venv-run diff --git a/source/conf.py b/source/conf.py index 4e75e1ae..b778d7b1 100644 --- a/source/conf.py +++ b/source/conf.py @@ -41,6 +41,11 @@ extensions = [ 'myst_parser', 'sphinxcontrib.video' ] +# Myst-parser throws "local id not found" warnings on perfectly valid links to RST sections. +# Unfortunately, this also silences the working "cross-reference target not found" warnings. +suppress_warnings = ["myst.xref_missing"] + +myst_heading_anchors = 3 # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] diff --git a/source/create/entities/add-sounds.md b/source/create/entities/add-sounds.md index a59e3148..bba9a511 100755 --- a/source/create/entities/add-sounds.md +++ b/source/create/entities/add-sounds.md @@ -13,8 +13,8 @@ In this example, we will walk through the steps to create a bouncing ball that e 1. Create a wall to bounce your ball off of: 1. [Add a cube entity](create-entities) to your domain. - 2. [Resize the entity](entity-appearance.html#set-the-size-of-an-entity) to approximately 10m wide, 10m high and 1m deep (X:10, Y:10, Z:1). -2. Create a ball by [adding a sphere entity](create-entities) to your domain. Optionally, [change the color](entity-appearance.html#change-the-color-of-an-entity) of your ball, so that it is different than your wall. + 2. [Resize the entity](entity-appearance.rst#set-the-size-of-an-entity) to approximately 10m wide, 10m high and 1m deep (X:10, Y:10, Z:1). +2. Create a ball by [adding a sphere entity](create-entities) to your domain. Optionally, [change the color](entity-appearance.rst#change-the-color-of-an-entity) of your ball, so that it is different than your wall. 3. In the **Create** app, click on 'Properties' and scroll down to the 'Collision' settings. Check the box for 'Collides' and 'Dynamic'. 4. For 'Collision Sound', enter the URL of your sound file. The sound must be a *.wav* file, uncompressed, 48Khz, 16 bit. The URL can be either a web address, or an ATP reference to the assets on this domain server. 5. Scroll down to the 'Physics' settings. Set the 'Gravity' for Y to -5. This will cause your ball to fall a little more slowly than things on earth (use -9.8 if you want that). Gravity is in units of m/s2. @@ -23,7 +23,7 @@ As soon as you click off the ball, the gravity will cause the ball to fall downw **See Also** -+ [Set Entity Behavior on Collision](entity-behavior.html#set-entity-behavior-on-collision) -+ [Set How an Entity Moves in a Gravitational Field](entity-physics.html#set-how-an-entity-moves-in-a-gravitational-field) ++ [Set Entity Behavior on Collision](entity-behavior.rst#set-entity-behavior-on-collision) ++ [Set How an Entity Moves in a Gravitational Field](entity-physics.rst#set-how-an-entity-moves-in-a-gravitational-field) diff --git a/source/create/entities/avatar-interactions.md b/source/create/entities/avatar-interactions.md index 73a4f36f..ff54cc84 100755 --- a/source/create/entities/avatar-interactions.md +++ b/source/create/entities/avatar-interactions.md @@ -3,7 +3,7 @@ In real life, you interact with objects on a daily basis. In Overte, your avatar can also interact with objects (entities) in the metaverse. There are a number of ways you can define the interactions you have with objects: you can write scripts to change the properties of an entity. You can create entities that are unique to your avatar (we call these "avatar entities"). And don't forget that you can set an entity's behavior and collision properties, so that objects are grabbable, triggerable, or dynamic. **On This Page:** -+ [Control Interactions with Entities using Scripts](#control-interactions-with-entities-using-Scripts) ++ [Control Interactions with Entities using Scripts](#control-interactions-with-entities-using-scripts) + [Create Avatar Entities](#create-avatar-entities) ## Control Interactions with Entities using Scripts @@ -43,11 +43,11 @@ A full range of entity parameters are controllable with these functions. Entitie Your avatar will also interact with avatar entities. Avatar entities are entities that are attached to your avatar, and unlike domain entities, they travel with your avatar when you go to other domains. Examples of avatar entities include wearables such as glasses or hats. -Avatar entities live on the [Avatar Mixer](../../explore/get-started/architecture.html#assignment-clients), so they are connected to (and move with) your avatar. We've listed the ways you can create avatar entities with some examples: +Avatar entities live on the [Avatar Mixer](../../explore/get-started/architecture.rst#assignment-clients), so they are connected to (and move with) your avatar. We've listed the ways you can create avatar entities with some examples: 1. [Create a wearable:](../wearables) All wearables are avatar entities. -2. [Clone as an avatar entity:](entity-behavior.html#make-an-entity-cloneable) When you clone an entity as an avatar entity, you make a copy of the entity and attach it to your avatar. Every copy of that entity will now leave with the avatar when they leave the domain. For example, if you have a coffee shop in your domain, you can set all coffee cups to be cloned as avatar entities. Any user who clones a coffee cup will take the avatar entity with them when they exit the domain. You can keep your domain free of clutter using this property. -3. Add an avatar entity using a script: You can add an avatar entity using scripts. For example, you can create a script to have a pet (avatar entity) follow you around as you explore Overte. +2. [Clone as an avatar entity:](entity-behavior.rst#make-an-entity-cloneable) When you clone an entity as an avatar entity, you make a copy of the entity and attach it to your avatar. Every copy of that entity will now leave with the avatar when they leave the domain. For example, if you have a coffee shop in your domain, you can set all coffee cups to be cloned as avatar entities. Any user who clones a coffee cup will take the avatar entity with them when they exit the domain. You can keep your domain free of clutter using this property. +3. Add an avatar entity using a script: You can add an avatar entity using scripts. For example, you can create a script to have a pet (avatar entity) follow you around as you explore Overte. This example script adds a cube as an avatar entity to your domain. ``` diff --git a/source/create/entities/create-entities.md b/source/create/entities/create-entities.md old mode 100755 new mode 100644 index 47feb195..e10f4f92 --- a/source/create/entities/create-entities.md +++ b/source/create/entities/create-entities.md @@ -35,7 +35,7 @@ You can choose from the following entity types: **See Also** -+ [The Create App](../tools.html#the-create-app) ++ [The Create App](../tools.rst#the-create-app) + [Add a Material Entity](material-entity) + [Change How Entities Look](entity-appearance) + [Import Your 3D Model](../3d-models/import-model) diff --git a/source/create/entities/create-spotlight.md b/source/create/entities/create-spotlight.md index 7181e35b..c15c41fe 100755 --- a/source/create/entities/create-spotlight.md +++ b/source/create/entities/create-spotlight.md @@ -4,7 +4,7 @@ In this tutorial, you will learn how light entities work by creating a gold spot **On This Page:** -+ [Prerequisites](#prerequisities) ++ [Prerequisites](#prerequisites) + [Create a Wall to Shine the Light On](#create-a-wall-to-shine-the-light-on) + [Create the Gold Spotlight](#create-the-gold-spotlight) diff --git a/source/create/entities/display-youtube.md b/source/create/entities/display-youtube.md index 7bc645ee..ef0ba708 100755 --- a/source/create/entities/display-youtube.md +++ b/source/create/entities/display-youtube.md @@ -4,9 +4,9 @@ In this tutorial, you will learn how web entities work by creating one displayin **On This Page:** -- [Prerequisites](#prerequisities) +- [Prerequisites](#prerequisites) - [Create a Web Entity](#create-a-web-entity) -- [Display Vircadia's YouTube Channel](#display-vircadia-s-youtube-channel) +- [Display Overte's YouTube Channel](#display-overtes-youtube-channel) ## Prerequisites @@ -29,13 +29,13 @@ To create a web entity:

Currently, only 20 web entities can run at the same time in a domain to avoid performance issues.

-## Display Vircadia's YouTube Channel +## Display Overte's YouTube Channel -You can make the web entity display Vircadia's YouTube channel. +You can make the web entity display Overte's YouTube channel. -1. In Interface, pull up your HUD or Tablet and go to **Create**. +1. In Interface, pull up your HUD or Tablet and go to **Create**. 2. Select your web entity and go to the 'Properties' tab. -3. Scroll down until you see the 'Source URL' option. Enter the Vircadia YouTube channel URL: https://www.youtube.com/channel/UC5gVObAP0ANbXr-lNCjP3xg. You should see the new page as soon as you hit 'Enter'. +3. Scroll down until you see the 'Source URL' option. Enter the Overte YouTube channel URL: https://www.youtube.com/@Overte-ru3ey. You should see the new page as soon as you hit 'Enter'. ![](_images/source-url.PNG) ![](_images/youtube-web-entity.PNG) diff --git a/source/create/entities/portal-tutorial.md b/source/create/entities/portal-tutorial.md index 0767f37f..311d0dbf 100755 --- a/source/create/entities/portal-tutorial.md +++ b/source/create/entities/portal-tutorial.md @@ -36,7 +36,7 @@ The portal.js script we've used: ## Create and Edit an Entity to Use as a Portal -Any entity you create to be used as a portal has to be [collisionless](entity-behavior.html#set-entity-behavior-on-collision) so that the script can detect when you walk into the entity. +Any entity you create to be used as a portal has to be [collisionless](entity-behavior.rst#set-entity-behavior-on-collision) so that the script can detect when you walk into the entity. 1. In Interface, pull up your HUD or Tablet and go to **Create**. 2. [Create an entity](create-entities) to be used as a portal. This can be a 3D model or a box or sphere entity. diff --git a/source/explore/interact.md b/source/explore/interact.md index de23ada1..7cde9840 100755 --- a/source/explore/interact.md +++ b/source/explore/interact.md @@ -31,7 +31,7 @@ You can collide (or run into) objects and other avatars in Overte. Likewise, obj Without this collision property set, objects will move straight through other entities and avatars. As you interact with your environment, take note on which objects have collisions enabled based on whether or not you can walk through them. -When creating your own entities, you can [set the Collision property](../create/entities/entity-behavior.html#entity-collision-behavior) to turn on or off collisions. +When creating your own entities, you can [set the Collision property](../create/entities/entity-behavior.rst#entity-collision-behavior) to turn on or off collisions. ## Triggered Entities diff --git a/source/explore/personalize/install-apps.md b/source/explore/personalize/install-apps.md index e8f8fd29..12a76b6b 100755 --- a/source/explore/personalize/install-apps.md +++ b/source/explore/personalize/install-apps.md @@ -54,7 +54,7 @@ We've listed some of the apps we created and how you can use them. ### Spectator Cam The Spectator Camera is a camera you can use to record or livestream what you and your friends do in Overte. It is only available in HMD mode, and requires a recording software such as [Open Broadcaster Software (OBS)](https://obsproject.com/) to work correctly. Check out their [official overview guide](https://obsproject.com/forum/threads/official-overview-guide.402/) for more details. -[Use the instructions above](#install-an-app) to install the Spectator Camera app. +[Use the instructions above](#install-tablet-apps) to install the Spectator Camera app.

Note

@@ -71,7 +71,7 @@ To use the Spectator Camera app: ### Finger Painting -The Fingerpaint app lets your paint your environment, your own avatar, or even another user's avatar. [Use the instructions above](#install-an-app) to install the Fingerpaint app. +The Fingerpaint app lets your paint your environment, your own avatar, or even another user's avatar. [Use the instructions above](#install-tablet-apps) to install the Fingerpaint app. To use the Fingerpaint app: 1. In Interface, pull up your HUD or Tablet and go to **Body Paint**. @@ -84,7 +84,7 @@ To use the Fingerpaint app: The Text to Speech app synthesizes the text you type into speech. You can use this app if you don't wish to use your voice, have microphone issues, or have disabilities. -[Use the instructions above](#install-an-app) to install the Text to Speech app. +[Use the instructions above](#install-tablet-apps) to install the Text to Speech app.

Note

diff --git a/source/explore/travel.md b/source/explore/travel.md index 564cd4fa..fd121c12 100755 --- a/source/explore/travel.md +++ b/source/explore/travel.md @@ -31,7 +31,7 @@ The **GoTo** app also shows you a visual feed of snapshots that people have take ![](_images/goto-snaps.png) ## Visit a Friend -Once you've [made a friend](socialize.html#make-connections-and-friends), you can see where they are and even teleport directly to them. +Once you've [made a friend](socialize.rst#make-connections-and-friends), you can see where they are and even teleport directly to them. 1. In Interface, open your tablet or HUD and go to **People**. 2. Click 'Connections' and find the friend you want to visit. diff --git a/source/release-notes/v81.md b/source/release-notes/v81.md index 50a94b8c..df8997e3 100755 --- a/source/release-notes/v81.md +++ b/source/release-notes/v81.md @@ -43,7 +43,7 @@ Note: There is a protocol change in this version. * Choose whether wearables can be grabbed while being worn using the Lock icon on the Avatar app. (Canny request: [https://highfidelity.canny.io/bugs/p/wearables-can-get-moved-by-grabbing](https://highfidelity.canny.io/bugs/p/wearables-can-get-moved-by-grabbing)) * We've removed grab scaling. We'll work on ways to improve this in a future release and turn it back on. (Canny request: [http://roadmap.highfidelity.com/feature-requests/p/ability-to-prevent-grab-scaling](http://roadmap.highfidelity.com/feature-requests/p/ability-to-prevent-grab-scaling)) * New toggle determines whether or not wearables can be adjusted by hand (Canny request: [http://roadmap.highfidelity.com/bugs/p/wearables-are-detaching-from-avatars](http://roadmap.highfidelity.com/bugs/p/wearables-are-detaching-from-avatars)) -* Marketplace items now have the ability to be rezz'd multiple times within a single domain. For example, someone can buy a single tree, then rez it multiple times to create a forest. When submitting an item to the Marketplace, content creators control whether or not an item can be rezz'd multiple times in the JSON file ([Read documentation here](../sell/add-item.html#unlimited-rezzing-of-your-item)). Coming in future releases: We'll make it easier to mark which items can be rezz'd multiple times, along with visual indications of these items in your inventory. (Canny request: [http://roadmap.highfidelity.com/feature-requests/p/allow-marketplace-items-to-specify-the-number-of-copies-or-infinite-a-buyer-can-](http://roadmap.highfidelity.com/feature-requests/p/allow-marketplace-items-to-specify-the-number-of-copies-or-infinite-a-buyer-can-)) +* Marketplace items now have the ability to be rezz'd multiple times within a single domain. For example, someone can buy a single tree, then rez it multiple times to create a forest. When submitting an item to the Marketplace, content creators control whether or not an item can be rezz'd multiple times in the JSON file. Coming in future releases: We'll make it easier to mark which items can be rezz'd multiple times, along with visual indications of these items in your inventory. (Canny request: [http://roadmap.highfidelity.com/feature-requests/p/allow-marketplace-items-to-specify-the-number-of-copies-or-infinite-a-buyer-can-](http://roadmap.highfidelity.com/feature-requests/p/allow-marketplace-items-to-specify-the-number-of-copies-or-infinite-a-buyer-can-)) ## Fixes diff --git a/source/script/js-tips.md b/source/script/js-tips.md index 5cabd1dd..4a9ac72e 100755 --- a/source/script/js-tips.md +++ b/source/script/js-tips.md @@ -2,7 +2,7 @@ Overte's robust [JavaScript API](https://apidocs.overte.org) provides the tools for you to build great content and user experiences in VR. We've compiled some advanced JavaScript tips you can use while scripting for Overte. -You can use the [Scripting Console in Interface](get-started-with-scripting.html#scripting-console) to try out the examples on this page. The output will be visible in the console itself. +You can use the [Scripting Console in Interface](get-started-with-scripting.rst#scripting-console) to try out the examples on this page. The output will be visible in the console itself. **On This Page:** diff --git a/source/script/write-scripts.md b/source/script/write-scripts.md index b6187f69..490a97de 100755 --- a/source/script/write-scripts.md +++ b/source/script/write-scripts.md @@ -16,14 +16,14 @@ In this section, you can find simple code samples to do common tasks in Overte. * [Edit an Entity](#edit-an-entity) ## Write to the Debug Window -This is an example of an [interface script](interface-scripts) and cannot be attached to an entity. It shows you how to print something to the [debug window ](get-started-with-scripting.html#debug-window). In this example, we'll start with a simple "Hello, World" script. +This is an example of an [interface script](interface-scripts) and cannot be attached to an entity. It shows you how to print something to the [debug window ](get-started-with-scripting.rst#debug-window). In this example, we'll start with a simple "Hello, World" script. ```javascript print("Hello, World"); ``` 1. Copy and paste this in a file `testScript.js` and save it on your computer. -2. When you [load and run this script](get-started-with-scripting.html#load-and-run-a-script), it will write the words "Hello, World" to the 'Debug Window' in Overte. +2. When you [load and run this script](get-started-with-scripting.rst#load-and-run-a-script), it will write the words "Hello, World" to the 'Debug Window' in Overte. ![](_images/hello-world.png) ## Create an Entity @@ -43,7 +43,7 @@ print("Entity added"); ``` 1. Copy and paste this in a file `testScript.js` and save it on your computer. -2. When you [load and run this script](get-started-with-scripting.html#load-and-run-a-script), it will locate your avatar in the domain, create a new entity based on the customized properties that you set, then print a line to the 'Debug Window'. In this case, the entity will be a red box. +2. When you [load and run this script](get-started-with-scripting.rst#load-and-run-a-script), it will locate your avatar in the domain, create a new entity based on the customized properties that you set, then print a line to the 'Debug Window'. In this case, the entity will be a red box. ![](_images/add-entity.png) ## Edit an Entity @@ -66,7 +66,7 @@ print("Entity color: " + JSON.stringify(properties.color)); ``` 1. Copy and paste this in a file `testScript.js` and save it on your computer. -2. When you [load and run this script](get-started-with-scripting.html#load-and-run-a-script), it will locate your avatar in the domain, create a new entity based on the customized properties that you set, then print the color of that entity to the 'Debug Window'. Then, the script changes the color of the entity to red, and prints the new color in the 'Debug Window'. +2. When you [load and run this script](get-started-with-scripting.rst#load-and-run-a-script), it will locate your avatar in the domain, create a new entity based on the customized properties that you set, then print the color of that entity to the 'Debug Window'. Then, the script changes the color of the entity to red, and prints the new color in the 'Debug Window'. ![](_images/edit-entity.png) @@ -74,6 +74,6 @@ print("Entity color: " + JSON.stringify(properties.color)); **See Also** + [Get Started with Scripting](get-started-with-scripting) -+ [Load and Run a Script](get-started-with-scripting.html#load-and-run-a-script) ++ [Load and Run a Script](get-started-with-scripting.rst#load-and-run-a-script) + [Interface Scripts](interface-scripts) + [API Reference](https://apidocs.overte.org) From cae3cc6162891b09f47e828473699e228bf5f940 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Gro=C3=9F?= Date: Sun, 31 Mar 2024 20:01:07 +0200 Subject: [PATCH 2/2] Update GitHub Actions Python version --- .github/workflows/master_linkcheck.yml | 4 ++-- .github/workflows/master_warnings.yml | 4 ++-- .github/workflows/pr_build.yml | 4 ++-- .github/workflows/update_translation_files.yml | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/master_linkcheck.yml b/.github/workflows/master_linkcheck.yml index b46a3b73..c2302a49 100644 --- a/.github/workflows/master_linkcheck.yml +++ b/.github/workflows/master_linkcheck.yml @@ -15,10 +15,10 @@ jobs: name: Check for broken links steps: - uses: actions/checkout@v2 - - name: Set up Python 3.7 + - name: Set up Python 3.8 uses: actions/setup-python@v2 with: - python-version: 3.7 + python-version: 3.8 - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/master_warnings.yml b/.github/workflows/master_warnings.yml index bebb2408..e9da1e28 100644 --- a/.github/workflows/master_warnings.yml +++ b/.github/workflows/master_warnings.yml @@ -12,10 +12,10 @@ jobs: name: Check for warnings steps: - uses: actions/checkout@v2 - - name: Set up Python 3.7 + - name: Set up Python 3.8 uses: actions/setup-python@v2 with: - python-version: 3.7 + python-version: 3.8 - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/pr_build.yml b/.github/workflows/pr_build.yml index dd250688..a34f106f 100755 --- a/.github/workflows/pr_build.yml +++ b/.github/workflows/pr_build.yml @@ -11,10 +11,10 @@ jobs: name: Build to check for warnings steps: - uses: actions/checkout@v2 - - name: Set up Python 3.7 + - name: Set up Python 3.8 uses: actions/setup-python@v2 with: - python-version: 3.7 + python-version: 3.8 - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/update_translation_files.yml b/.github/workflows/update_translation_files.yml index 8a2d0add..a46e42a9 100755 --- a/.github/workflows/update_translation_files.yml +++ b/.github/workflows/update_translation_files.yml @@ -16,10 +16,10 @@ jobs: name: Update translation files steps: - uses: actions/checkout@v2 - - name: Set up Python 3.7 + - name: Set up Python 3.8 uses: actions/setup-python@v2 with: - python-version: 3.7 + python-version: 3.8 - name: Install dependencies run: | python -m pip install --upgrade pip