Skip to content

Commit

Permalink
Merge branch 'develop' into sync-master-d76e17aaf
Browse files Browse the repository at this point in the history
  • Loading branch information
Benjamin Délèze authored Oct 9, 2023
2 parents d76e17a + 515c6f7 commit 602a5a8
Show file tree
Hide file tree
Showing 2,275 changed files with 4,385 additions and 5,902 deletions.
6 changes: 3 additions & 3 deletions Contents/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
<key>CFBundleExecutable</key>
<string>webots</string>
<key>CFBundleGetInfoString</key>
<string>Webots R2023b revision 1, Copyright 1998-2023 Cyberbotics Ltd.</string>
<string>Webots R2024a, Copyright 1998-2024 Cyberbotics Ltd.</string>
<key>CFBundleIconFile</key>
<string>webots_icon</string>
<key>CFBundleIdentifier</key>
Expand All @@ -47,11 +47,11 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>R2023b revision 1</string>
<string>R2024a</string>
<key>CFBundleSignature</key>
<string>wbt </string>
<key>CFBundleVersion</key>
<string>R2023b revision 1</string>
<string>R2024a</string>
<key>LSMinimumSystemVersion</key>
<string>10.14</string>
<key>CSResourcesFileMapped</key>
Expand Down
2 changes: 1 addition & 1 deletion docs/css/webots-doc.css
Original file line number Diff line number Diff line change
Expand Up @@ -601,7 +601,7 @@ body {
.ui-icon {
display: inline-block;
background-repeat: no-repeat;
background-image: url('https://cyberbotics.com/wwi/{{ webots.version.major }}/images/icons.svg');
background-image: url('https://cyberbotics.com/wwi/R2024a/images/icons.svg');
background-color: transparent;
border: none;
width: 34px;
Expand Down
2 changes: 1 addition & 1 deletion docs/guide/menu.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
- [Controller Plugin](controller-plugin.md)
- [Webots Plugin](webots-plugin.md)
- [Web Interface](web-interface.md)
- [X3D and Web Scene](web-scene.md)
- [W3D and Web Scene](web-scene.md)
- [Web Animation](web-animation.md)
- [Web Streaming](web-streaming.md)
- [Webots.cloud](webots-cloud.md)
Expand Down
2 changes: 1 addition & 1 deletion docs/guide/simulation-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ HTTP request handlers:

WebSocket request handlers:
* The `/client` request on the simulation server URL will setup a new Webots instance and return the Webots WebSocket URL.
The payload should be a JSON object named `start` containing a `url` string and optionally a `mode` string which can be either `x3d` (default value) or `mjpeg`.
The payload should be a JSON object named `start` containing a `url` string and optionally a `mode` string which can be either `w3d` (default value) or `mjpeg`.
```json
{
"start": {
Expand Down
4 changes: 2 additions & 2 deletions docs/guide/starting-webots.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ Options:
--stream[=<mode>]
Start the Webots streaming server. The <mode> argument should be either
x3d (default) or mjpeg.
w3d (default) or mjpeg.
--extern-urls
Print on stdout the URL of extern controllers that should be started.
Expand Down Expand Up @@ -110,7 +110,7 @@ Note that the *stderr* stream may also contain Webots error or warning messages.

The `--port` option changes the default TCP port used by Webots for serving robot windows, web streaming and extern controllers. By default, Webots sets up its TCP server on port 1234. When starting multiple Webots instances, the ports are configured with consecutive values of 1234.

The `--stream` option enables the Webots streaming server in either `x3d` (default) or `mjpeg` mode.
The `--stream` option enables the Webots streaming server in either `w3d` (default) or `mjpeg` mode.
You can get more information about web streaming in [this section](web-streaming.md).

For example, the following command will start Webots with the streaming server enabled on the TCP port '1235' in 'mjpeg' mode: `webots --port=1235 --stream=mjpeg`
Expand Down
6 changes: 3 additions & 3 deletions docs/guide/web-animation.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Select the `Share...` menu item and choose if you want to upload it to [webots.c
Click the `Stop HTML5 animation` to finish the recording and save the animation.
Webots will ask to playback the resulting file in the default Web browser (from the OS settings).

**Note**: The `CSS` file, the `X3D` file, the `JSON` animation file and the required textures are exported in the same directory as the target `HTML` file.
**Note**: The `CSS` file, the `W3D` file, the `JSON` animation file and the required textures are exported in the same directory as the target `HTML` file.

**Note**: The `CSS` file is meant to be used as a styling guide but can be modified/removed.

Expand All @@ -40,7 +40,7 @@ The web animation is played by a web component from the [WebotsView.js] package

The following attributes are available:
* `data-thumbnail`: the name of the .jpg file containing the thumbnail. If the `data-thumbnail` attribute is not set, a default thumbnail will be displayed during load.
* `data-scene`: the name of the .x3d file containing the 3d scene.
* `data-scene`: the name of the .w3d file containing the 3d scene.
* `data-animation`: the name of the .json file containing the animation sequence.
* `data-autoplay`: boolean to determine if the animation should be played automatically, `true` by default.
* `data-isMobileDevice`: boolean variable specifying if the application is running on a mobile device.
Expand All @@ -55,7 +55,7 @@ For more complex interaction with the web component, the following functions are
* `hasAnimation()`: return `true` if there is already a animation loaded by the web component, `false` otherwise.
* `hasView()`: return `true` if a view exist, `false` otherwise.
* `loadAnimation(scene, animation, play, mobileDevice, thumbnail, raw)`: load and play the animation.
* `scene`: name of the .x3d file.
* `scene`: name of the .w3d file.
* `animation`: name of the .json file.
* `play`: if false, the animation will be paused, otherwise it will be played.
* `mobileDevice`: boolean variable specifying if the application is running on a mobile device.
Expand Down
4 changes: 2 additions & 2 deletions docs/guide/web-interface.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Web Interface

This chapter describes how to export a simulation to X3D format and web pages.
This chapter describes how to export a simulation to W3D format and web pages.

An example of exported Webots animation is available [here](https://cyberbotics.com/animations/soccer_example/soccer.html).

## Sections

- [X3D and Web Scene](web-scene.md)
- [W3D and Web Scene](web-scene.md)
- [Web Animation](web-animation.md)
- [Web Streaming](web-streaming.md)
- [Webots.cloud](webots-cloud.md)
21 changes: 10 additions & 11 deletions docs/guide/web-scene.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
## X3D and Web Scene
## W3D and Web Scene

### Description

Webots can export a world to an interactive 3D `HTML` page.
This feature is especially useful for publishing Webots-created worlds on the Web.

During the export, a [X3D](http://www.web3d.org/x3d/what-x3d) file, a `HTML5` page and a `CSS`file are generated.
During the export, a `W3D` file, a `HTML5` page and a `CSS`file are generated.

The `X3D` file contains the graphical information of the world.
`X3D` is a modern `XML`-based file format for representing 3D computer graphics.
In Webots, the `X3D` file uses a custom format that is heavily based on the `X3D` file format.
The `W3D` file contains the graphical information of the world.
`W3D` is a Webots custom `XML`-based file format for representing 3D computer graphics.

The `CSS` file is used to style the following `HTML5` page.

The `HTML5` page contains a Webots player which displays the `X3D` file as shown in the [figure below](#screenshot-of-a-web-scene-page-generated-by-webots).
The `HTML5` page contains a Webots player which displays the `W3D` file as shown in the [figure below](#screenshot-of-a-web-scene-page-generated-by-webots).
It can be open in any recent Web browser as documented in the [section below](#remarks-on-the-used-technologies-and-their-limitations).
The 3D navigation in the player is possible using the mouse or the touch screen, similarly to the Webots navigation.

Expand All @@ -28,7 +27,7 @@ The 3D navigation in the player is possible using the mouse or the touch screen,
Select the `Share...` menu item, choose if you want to upload it to [webots.cloud](https://webots.cloud) or to save it locally, then click the `Export scene` button.
When the export is completed, Webots will ask to playback the resulting file in the default Web browser.

**Note**: The `CSS` file, the `X3D` file and the required textures are exported in the same directory as the target `HTML` file.
**Note**: The `CSS` file, the `W3D` file and the required textures are exported in the same directory as the target `HTML` file.

**Note**: The `CSS` file is meant to be used as a styling guide but can be modified/removed.

Expand All @@ -48,13 +47,13 @@ The web scene is displayed by a web component from the [WebotsView.js] package c

The following attributes are available:
* `data-thumbnail`: the name of the .jpg file containing the thumbnail. If the `data-thumbnail` attribute is not set, a default thumbnail will be displayed during load.
* `data-scene`: the name of the .x3d file containing the 3d scene. It is evaluated only once: when the page is loaded. If the `data-scene` attribute is set, the `webots-view` web-component will automatically try to load the web scene .
* `data-scene`: the name of the .w3d file containing the 3d scene. It is evaluated only once: when the page is loaded. If the `data-scene` attribute is set, the `webots-view` web-component will automatically try to load the web scene .

For more complex interaction with the web component, the following functions are available:
* `close()`: close the current scene. Note that if the `webots-view` element is removed from the HTML page or `loadScene`, `loadAnimation` or `connect` is called, `close` will be automatically called.
* `onready()`: a function that can be overridden. It will be called once the scene is loaded.
* `loadScene(scene, mobileDevice, thumbnail)`: load and display the scene.
* `scene`: name of the .x3d file.
* `scene`: name of the .w3d file.
* `mobileDevice`: boolean variable specifying if the application is running on a mobile device.
* `thumbnail`: the URL of the scene thumbnail.
* `setAmbientOcclusion(level)`: change the intensity of the ambient occlusion to the given level.
Expand Down Expand Up @@ -85,7 +84,7 @@ It may occur that the rendering in the Webots application and in the exported We
}
document.body.appendChild(webotsView);
webotsView.loadScene("scene.x3d");
webotsView.loadScene("scene.w3d");
}
function remove() {
Expand All @@ -101,7 +100,7 @@ The Webots player is using internally the `WRENJS` library (based on `WebGL 2`).
Unfortunately it is not yet supported by Safari (see details on the [deployment of WebGL 2](https://caniuse.com/webgl2)).
In case of related issues, make sure that `WebGL 2` is enabled in your Web browser settings.
Some web browsers (for example Chrome and Firefox 68 or later) cannot open local files using the `file` protocol by default, while this is required by the Webots player to open the `X3D` file and the textures.
Some web browsers (for example Chrome and Firefox 68 or later) cannot open local files using the `file` protocol by default, while this is required by the Webots player to open the `W3D` file and the textures.
Here are some workarounds:
- run a local HTTP server in the directory containing the exported files, and launch the scene or animation through the server by navigating to the `HTML` file.
- Python 3:
Expand Down
12 changes: 6 additions & 6 deletions docs/guide/web-streaming.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ Webots can be used as a Web streaming server, i.e., to stream a simulation to se
In this mode the user can watch an already running simulation and navigate into the scene but cannot interact with the simulation, i.e. controlling the execution of the simulation and modifying the robot controller program.

Two different streaming modes are available:
- `x3d` (default): the simulation is streamed using a mechanism similar to the [web animation export](web-animation.md) except that the `X3D` file and the animation are sent on the fly to the web browser clients.
- `w3d` (default): the simulation is streamed using a mechanism similar to the [web animation export](web-animation.md) except that the `W3D` file and the animation are sent on the fly to the web browser clients.
- `mjpeg`: the Webots scene rendered on the server is directly sent as an `MJPEG` image to the web browser client.
You should choose between the `x3d` and `mjpeg` depending on the type of application you are developing.
You should choose between the `w3d` and `mjpeg` depending on the type of application you are developing.
The following table summarizes the advantages (`+`) and disadvantages (`-`) of the the two modes:

| feature / mode | `x3d` | `mjpeg` |
| feature / mode | `w3d` | `mjpeg` |
|:-----------------------:|:-----:|:-------:|
| high resolution images | + | - |
| 3D navigation latency | + | - |
Expand Down Expand Up @@ -81,8 +81,8 @@ This is the API of the `webots-streaming` web component:
* `server`: The URL of the server. Different URL formats are supported:
* URL to a session server: "https://webots.cloud/ajax/server/session.php?url=https://github.com/cyberbotics/webots/projects/languages/python/worlds/example.wbt"
* WebSocket URL (i.e. "ws://localhost:1234"): this format is used for web broadcast streaming.
* URL to a X3D file (i.e. "file.x3d"): this format is used for showing a [web scene](web-scene.md) or a [web animation](web-animation.md).
* `mode`: `x3d` or `mjpeg`.
* URL to a W3D file (i.e. "file.w3d"): this format is used for showing a [web scene](web-scene.md) or a [web animation](web-animation.md).
* `mode`: `w3d` or `mjpeg`.
* `broadcast`: boolean variable enabling or not the broadcast.
* `isMobileDevice`: boolean variable specifying if the application is running on a mobile device.
* `timeout`: the time (in seconds) after which the simulation will be automatically paused (until the play button is pressed again). By default, no timeout is set.
Expand All @@ -107,7 +107,7 @@ This is the API of the `webots-streaming` web component:

Moreover, the following attributes are available:
* `data-server`: URL of the server.
* `data-mode`: `x3d` or `mjpeg`.
* `data-mode`: `w3d` or `mjpeg`.
* `data-broadcast`: boolean variable enabling or not the broadcast.
* `data-isMobileDevice`: boolean variable specifying if the application is running on a mobile device.
* `data-thumbnail`: the name of the .jpg file containing the thumbnail. If the `data-thumbnail` attribute is not set, a default thumbnail will be displayed during load.
Expand Down
2 changes: 1 addition & 1 deletion docs/guide/webots-cloud.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Webots features a "share" button that allows you to upload a 3D [Web Scene](web-
This is useful to show models of robots, sensors, actuators, objects, environments or simulation play-back to colleagues or to the wide public.
Once your scene or animation is uploaded, you get a link (web URL) pointing to your upload, which you can share.
Anyone with this link can view your 3D scene or animation with a simple mouse click.
Scenes and animations can also be uploaded on webots.cloud by clicking the "Add a new scene/animation" button, and uploading locally saved `X3D`, `JSON`, thumbnail and texture files.
Scenes and animations can also be uploaded on webots.cloud by clicking the "Add a new scene/animation" button, and uploading locally saved `W3D`, `JSON`, thumbnail and texture files.

### Share and use your Proto

Expand Down
2 changes: 1 addition & 1 deletion docs/index.template.html
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ <h2 id="title-content">Documentation</h2>
%{ JS }%

<script src="js/showdown-extensions.js"></script>
<script src="https://cyberbotics.com/wwi/R2023b/viewer.js" type="module"></script>
<script src="https://cyberbotics.com/wwi/R2024a/viewer.js" type="module"></script>

</body>

Expand Down
8 changes: 4 additions & 4 deletions docs/js/showdown-extensions.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@ showdown.extension('wbVariables', function() {
var vars = {
webots: {
version: {
major: 'R2023b',
major: 'R2024a',
// full is equal to major for the first major version
// and contains the revision number for subsequent versions
full: 'R2023b revision 1',
package: 'R2023b-rev1'
full: 'R2024a',
package: 'R2024a'
}
},
date: {
year: 2023
year: 2024
},
url: {
github_tree: `https://github.com/cyberbotics/webots/tree/` + branch,
Expand Down
10 changes: 10 additions & 0 deletions docs/reference/changelog-r2024.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Webots R2024 Change Log

## Webots R2024a
Released on December **th, 2023.
- New Features
- **Change the name of the web scene format from `X3D` to `W3D` ([#6280](https://github.com/cyberbotics/webots/pull/6280)).**
- Enhancements
- Improved the image range of the rotating [Lidar](lidar.md) ([#6324](https://github.com/cyberbotics/webots/pull/6324)).
- Cleanup
- Removed deprecated `windowPosition`, `pixelSize` fields of [Display](display.md) node ([#6327](https://github.com/cyberbotics/webots/pull/6327)).
1 change: 1 addition & 0 deletions docs/reference/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

## Versions

- [Webots R2024](changelog-r2024.md)
- [Webots R2023](changelog-r2023.md)
- [Webots R2022](changelog-r2022.md)
- [Webots R2021](changelog-r2021.md)
Expand Down
1 change: 1 addition & 0 deletions docs/reference/menu.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@
- [ROS API](ros-api.md)
- [C String API](c-string-api.md)
- [Changelog](changelog.md)
- [Webots R2024](changelog-r2024.md)
- [Webots R2023](changelog-r2023.md)
- [Webots R2022](changelog-r2022.md)
- [Webots R2021](changelog-r2021.md)
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/nodes-and-keywords.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,4 @@ Please refer to [this chapter](nodes-and-api-functions.md) for a detailed descri

These reserved keywords cannot be used in DEF or PROTO names:

`DEF, USE, PROTO, IS, TRUE, FALSE, NULL, field, vrmlField, SFNode, SFColor, SFFloat, SFInt32, SFString, SFVec2f, SFVec3f, SFRotation, SFBool, MFNode, MFColor, MFFloat, MFInt32, MFString, MFVec2f, MFVec3f, MFRotation` and `MFBool`.
`DEF, USE, PROTO, IS, TRUE, FALSE, NULL, field, w3dField, SFNode, SFColor, SFFloat, SFInt32, SFString, SFVec2f, SFVec3f, SFRotation, SFBool, MFNode, MFColor, MFFloat, MFInt32, MFString, MFVec2f, MFVec3f, MFRotation` and `MFBool`.
2 changes: 1 addition & 1 deletion docs/reference/supervisor.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ This means that we are searching for a node named "SOLID" inside a node named "J
The `wb_supervisor_node_get_from_id` function retrieves a handle to a node, but from its unique identifier (the `id` parameter).
The function returns NULL if the given identifier doesn't match with any node of the current world.
It is recommended to use this function only when knowing formerly the identifier (rather than looping on this function to retrieve all the nodes of a world).
For example, when exporting an X3D file, its XML nodes are containing an `id` attribute which matches with the unique identifier described here.
For example, when exporting an W3D file, its XML nodes are containing an `id` attribute which matches with the unique identifier described here.

The `wb_supervisor_node_get_from_device` function retrieves the node's handle for a [Device](device.md) object.
Note that in the ROS API the device name has to be used to retrieve the handle to the node.
Expand Down
2 changes: 1 addition & 1 deletion projects/appearances/protos/Asphalt.proto
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#VRML_SIM R2023b utf8
#VRML_SIM R2024a utf8
# license: Apache License 2.0
# license url: https://www.apache.org/licenses/LICENSE-2.0
# documentation url: https://webots.cloud/run?url=https://github.com/cyberbotics/webots/blob/released/projects/appearances/protos/Asphalt.proto
Expand Down
2 changes: 1 addition & 1 deletion projects/appearances/protos/BakelitePlastic.proto
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#VRML_SIM R2023b utf8
#VRML_SIM R2024a utf8
# license: Apache License 2.0
# license url: https://www.apache.org/licenses/LICENSE-2.0
# documentation url: https://webots.cloud/run?url=https://github.com/cyberbotics/webots/blob/released/projects/appearances/protos/BakelitePlastic.proto
Expand Down
2 changes: 1 addition & 1 deletion projects/appearances/protos/BlanketFabric.proto
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#VRML_SIM R2023b utf8
#VRML_SIM R2024a utf8
# license: Apache License 2.0
# license url: https://www.apache.org/licenses/LICENSE-2.0
# documentation url: https://webots.cloud/run?url=https://github.com/cyberbotics/webots/blob/released/projects/appearances/protos/BlanketFabric.proto
Expand Down
2 changes: 1 addition & 1 deletion projects/appearances/protos/BrushedAluminium.proto
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#VRML_SIM R2023b utf8
#VRML_SIM R2024a utf8
# license: Apache License 2.0
# license url: https://www.apache.org/licenses/LICENSE-2.0
# documentation url: https://webots.cloud/run?url=https://github.com/cyberbotics/webots/blob/released/projects/appearances/protos/BrushedAluminium.proto
Expand Down
2 changes: 1 addition & 1 deletion projects/appearances/protos/BrushedSteel.proto
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#VRML_SIM R2023b utf8
#VRML_SIM R2024a utf8
# license: Apache License 2.0
# license url: https://www.apache.org/licenses/LICENSE-2.0
# documentation url: https://webots.cloud/run?url=https://github.com/cyberbotics/webots/blob/released/projects/appearances/protos/BrushedSteel.proto
Expand Down
2 changes: 1 addition & 1 deletion projects/appearances/protos/Cardboard.proto
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#VRML_SIM R2023b utf8
#VRML_SIM R2024a utf8
# license: Apache License 2.0
# license url: https://www.apache.org/licenses/LICENSE-2.0
# documentation url: https://webots.cloud/run?url=https://github.com/cyberbotics/webots/blob/released/projects/appearances/protos/Cardboard.proto
Expand Down
2 changes: 1 addition & 1 deletion projects/appearances/protos/CarpetFibers.proto
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#VRML_SIM R2023b utf8
#VRML_SIM R2024a utf8
# license: Apache License 2.0
# license url: https://www.apache.org/licenses/LICENSE-2.0
# documentation url: https://webots.cloud/run?url=https://github.com/cyberbotics/webots/blob/released/projects/appearances/protos/CarpetFibers.proto
Expand Down
Loading

0 comments on commit 602a5a8

Please sign in to comment.