0 | VIRTUAL | The window is displayed inside Interface: in the desktop window in
diff --git a/interface/src/scripting/MenuScriptingInterface.h b/interface/src/scripting/MenuScriptingInterface.h
index 6c2634b1de..110df8dd06 100644
--- a/interface/src/scripting/MenuScriptingInterface.h
+++ b/interface/src/scripting/MenuScriptingInterface.h
@@ -24,7 +24,8 @@ class MenuItemProperties;
* Groupings
*
* A "grouping" provides a way to group a set of menus or menu items together so that they can all be set visible or invisible
- * as a group. There is currently only one available group: "Developer" . This grouping can be toggled in the
+ * as a group.
+ * There is currently only one available group: "Developer" . This grouping can be toggled in the
* "Settings" menu.
* If a menu item doesn't belong to a group, it is always displayed.
*
diff --git a/interface/src/scripting/WindowScriptingInterface.h b/interface/src/scripting/WindowScriptingInterface.h
index 6207b22cb8..83d7de56a5 100644
--- a/interface/src/scripting/WindowScriptingInterface.h
+++ b/interface/src/scripting/WindowScriptingInterface.h
@@ -326,7 +326,7 @@ public slots:
* full resolution is used (window dimensions in desktop mode; HMD display dimensions in HMD mode), otherwise one of the
* dimensions is adjusted in order to match the aspect ratio.
* @param {string} [filename=""] - If a filename is not provided, the image is saved as "hifi-snap-by-<user
- * name>-on-YYYY-MM-DD_HH-MM-SS".
+ * name>-on-YYYY-MM-DD_HH-MM-SS".
* Still images are saved in JPEG or PNG format according to the extension provided — ".jpg" ,
* ".jpeg" , or ".png" — or if not provided then in JPEG format with an extension of
* ".jpg" . Animated images are saved in GIF format.
@@ -365,7 +365,7 @@ public slots:
* @param {boolean} [notify=true] - This value is passed on through the {@link Window.stillSnapshotTaken|stillSnapshotTaken}
* signal.
* @param {string} [filename=""] - If a filename is not provided, the image is saved as "hifi-snap-by-<user
- * name>-on-YYYY-MM-DD_HH-MM-SS".
+ * name>-on-YYYY-MM-DD_HH-MM-SS".
* Images are saved in JPEG or PNG format according to the extension provided — ".jpg" ,
* ".jpeg" , or ".png" — or if not provided then in JPEG format with an extension of
* ".jpg" .
@@ -384,7 +384,7 @@ public slots:
* @param {boolean} [notify=true] - This value is passed on through the {@link Window.stillSnapshotTaken|stillSnapshotTaken}
* signal.
* @param {string} [filename=""] - If a filename is not provided, the image is saved as "hifi-snap-by-<user
- * name>-on-YYYY-MM-DD_HH-MM-SS".
+ * name>-on-YYYY-MM-DD_HH-MM-SS".
* Images are saved in JPEG or PNG format according to the extension provided — ".jpg" ,
* ".jpeg" , or ".png" — or if not provided then in JPEG format with an extension of
* ".jpg" .
diff --git a/interface/src/ui/overlays/Overlays.cpp b/interface/src/ui/overlays/Overlays.cpp
index 100711d69b..1f5bba86b2 100644
--- a/interface/src/ui/overlays/Overlays.cpp
+++ b/interface/src/ui/overlays/Overlays.cpp
@@ -1502,11 +1502,11 @@ QVector Overlays::findOverlays(const glm::vec3& center, float radius) {
* @property {number} pulsePeriod=1 - The duration of the color and alpha pulse, in seconds. A pulse multiplier value goes from
* pulseMin to pulseMax , then pulseMax to pulseMin in one period.
* @property {number} alphaPulse=0 - If non-zero, the alpha of the overlay is pulsed: the alpha value is multiplied by the
- * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
+ * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
* the pulse multiplier is applied out of phase with the pulse period. (The magnitude of the property isn't otherwise
* used.)
* @property {number} colorPulse=0 - If non-zero, the color of the overlay is pulsed: the color value is multiplied by the
- * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
+ * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
* the pulse multiplier is applied out of phase with the pulse period. (The magnitude of the property isn't otherwise
* used.)
*
@@ -1520,7 +1520,7 @@ QVector Overlays::findOverlays(const glm::vec3& center, float radius) {
* parentID set, otherwise the same value as rotation . Synonym: localOrientation .
* @property {boolean} isSolid=false - true if the overlay is rendered as a solid, false if it is
* rendered as a wire frame.
- * Synonyms: solid, isFilled , and filled .
+ * Synonyms: solid , isFilled , and filled .
* Antonyms: isWire and wire .
* @property {boolean} ignorePickIntersection=false - true if {@link Picks} ignore the overlay, false
* if they don't.
@@ -1550,11 +1550,11 @@ QVector Overlays::findOverlays(const glm::vec3& center, float radius) {
* @property {number} pulsePeriod=1 - The duration of the color and alpha pulse, in seconds. A pulse multiplier value goes from
* pulseMin to pulseMax , then pulseMax to pulseMin in one period.
* @property {number} alphaPulse=0 - If non-zero, the alpha of the overlay is pulsed: the alpha value is multiplied by the
- * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
+ * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
* the pulse multiplier is applied out of phase with the pulse period. (The magnitude of the property isn't otherwise
* used.)
* @property {number} colorPulse=0 - If non-zero, the color of the overlay is pulsed: the color value is multiplied by the
- * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
+ * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
* the pulse multiplier is applied out of phase with the pulse period. (The magnitude of the property isn't otherwise
* used.)
*
@@ -1568,7 +1568,7 @@ QVector Overlays::findOverlays(const glm::vec3& center, float radius) {
* parentID set, otherwise the same value as rotation . Synonym: localOrientation .
* @property {boolean} isSolid=false - true if the overlay is rendered as a solid, false if it is
* rendered as a wire frame.
- * Synonyms: solid, isFilled , and filled .
+ * Synonyms: solid , isFilled , and filled .
* Antonyms: isWire and wire .
* @property {boolean} ignorePickIntersection=false - true if {@link Picks} ignore the overlay, false
* if they don't.
@@ -1599,11 +1599,11 @@ QVector Overlays::findOverlays(const glm::vec3& center, float radius) {
* @property {number} pulsePeriod=1 - The duration of the color and alpha pulse, in seconds. A pulse multiplier value goes from
* pulseMin to pulseMax , then pulseMax to pulseMin in one period.
* @property {number} alphaPulse=0 - If non-zero, the alpha of the overlay is pulsed: the alpha value is multiplied by the
- * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
+ * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
* the pulse multiplier is applied out of phase with the pulse period. (The magnitude of the property isn't otherwise
* used.)
* @property {number} colorPulse=0 - If non-zero, the color of the overlay is pulsed: the color value is multiplied by the
- * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
+ * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
* the pulse multiplier is applied out of phase with the pulse period. (The magnitude of the property isn't otherwise
* used.)
*
@@ -1617,7 +1617,7 @@ QVector Overlays::findOverlays(const glm::vec3& center, float radius) {
* parentID set, otherwise the same value as rotation . Synonym: localOrientation .
* @property {boolean} isSolid=false - true if the overlay is rendered as a solid, false if it is
* rendered as a wire frame.
- * Synonyms: solid, isFilled , and filled .
+ * Synonyms: solid , isFilled , and filled .
* Antonyms: isWire and wire .
* @property {boolean} ignorePickIntersection=false - true if {@link Picks} ignore the overlay, false
* if they don't.
@@ -1641,7 +1641,7 @@ QVector Overlays::findOverlays(const glm::vec3& center, float radius) {
* Value | Dimensions | Description |
*
*
- * "Circle" | 2D | A circle oriented in 3D. |
+ * "Circle" | 2D | A circle oriented in 3D. |
* "Cone" | 3D | |
* "Cube" | 3D | |
* "Cylinder" | 3D | |
@@ -1674,11 +1674,11 @@ QVector Overlays::findOverlays(const glm::vec3& center, float radius) {
* @property {number} pulsePeriod=1 - The duration of the color and alpha pulse, in seconds. A pulse multiplier value goes from
* pulseMin to pulseMax , then pulseMax to pulseMin in one period.
* @property {number} alphaPulse=0 - If non-zero, the alpha of the overlay is pulsed: the alpha value is multiplied by the
- * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
+ * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
* the pulse multiplier is applied out of phase with the pulse period. (The magnitude of the property isn't otherwise
* used.)
* @property {number} colorPulse=0 - If non-zero, the color of the overlay is pulsed: the color value is multiplied by the
- * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
+ * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
* the pulse multiplier is applied out of phase with the pulse period. (The magnitude of the property isn't otherwise
* used.)
*
@@ -1692,7 +1692,7 @@ QVector Overlays::findOverlays(const glm::vec3& center, float radius) {
* parentID set, otherwise the same value as rotation . Synonym: localOrientation .
* @property {boolean} isSolid=false - true if the overlay is rendered as a solid, false if it is
* rendered as a wire frame.
- * Synonyms: solid, isFilled , and filled .
+ * Synonyms: solid , isFilled , and filled .
* Antonyms: isWire and wire .
* @property {boolean} ignorePickIntersection=false - true if {@link Picks} ignore the overlay, false
* if they don't.
@@ -1761,17 +1761,17 @@ QVector Overlays::findOverlays(const glm::vec3& center, float radius) {
* @property {Color} color=255,255,255 - The color of the overlay text. Synonym: textColor .
* @property {number} alpha=0.7 - The opacity of the overlay text, 0.0 – 1.0 .
* Currently not used; use textAlpha instead.
- *
+ * @comment CURRENTLY BROKEN
* @property {number} pulseMax=0 - The maximum value of the pulse multiplier.
* @property {number} pulseMin=0 - The minimum value of the pulse multiplier.
* @property {number} pulsePeriod=1 - The duration of the color and alpha pulse, in seconds. A pulse multiplier value goes from
* pulseMin to pulseMax , then pulseMax to pulseMin in one period.
* @property {number} alphaPulse=0 - If non-zero, the alpha of the overlay is pulsed: the alpha value is multiplied by the
- * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
+ * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
* the pulse multiplier is applied out of phase with the pulse period. (The magnitude of the property isn't otherwise
* used.)
* @property {number} colorPulse=0 - If non-zero, the color of the overlay is pulsed: the color value is multiplied by the
- * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
+ * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
* the pulse multiplier is applied out of phase with the pulse period. (The magnitude of the property isn't otherwise
* used.)
*
@@ -1811,11 +1811,11 @@ QVector Overlays::findOverlays(const glm::vec3& center, float radius) {
* @property {number} pulsePeriod=1 - The duration of the color and alpha pulse, in seconds. A pulse multiplier value goes from
* pulseMin to pulseMax , then pulseMax to pulseMin in one period.
* @property {number} alphaPulse=0 - If non-zero, the alpha of the overlay is pulsed: the alpha value is multiplied by the
- * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
+ * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
* the pulse multiplier is applied out of phase with the pulse period. (The magnitude of the property isn't otherwise
* used.)
* @property {number} colorPulse=0 - If non-zero, the color of the overlay is pulsed: the color value is multiplied by the
- * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
+ * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
* the pulse multiplier is applied out of phase with the pulse period. (The magnitude of the property isn't otherwise
* used.)
*
@@ -1857,11 +1857,11 @@ QVector Overlays::findOverlays(const glm::vec3& center, float radius) {
* @property {number} pulsePeriod=1 - The duration of the color and alpha pulse, in seconds. A pulse multiplier value goes from
* pulseMin to pulseMax , then pulseMax to pulseMin in one period.
* @property {number} alphaPulse=0 - If non-zero, the alpha of the overlay is pulsed: the alpha value is multiplied by the
- * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
+ * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
* the pulse multiplier is applied out of phase with the pulse period. (The magnitude of the property isn't otherwise
* used.)
* @property {number} colorPulse=0 - If non-zero, the color of the overlay is pulsed: the color value is multiplied by the
- * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
+ * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
* the pulse multiplier is applied out of phase with the pulse period. (The magnitude of the property isn't otherwise
* used.)
*
@@ -1922,35 +1922,35 @@ QVector Overlays::findOverlays(const glm::vec3& center, float radius) {
*
* @property {Uuid} endParentID=null - The avatar, entity, or overlay that the end point of the line is parented to.
* Currently doesn't work.
- *
+ * @comment CURRENTLY BROKEN
* @property {number} endParentJointIndex=65535 - Integer value specifying the skeleton joint that the end point of the line is
* attached to if parentID is an avatar skeleton. A value of 65535 means "no joint".
* Currently doesn't work.
- *
+ * @comment CURRENTLY BROKEN
* @property {Vec3} start - The start point of the line. Synonyms: startPoint and p1 .
- * If parentID is set, use localStart to set the local position of the start point.
- *
+ * If parentID is set, use localStart to set the local position of the start point.
+ * @comment CURRENTLY BROKEN
* @property {Vec3} end - The end point of the line. Synonyms: endPoint and p2 .
- * If parentID is set, use localEnd to set the local position of the end point.
- *
+ * If parentID is set, use localEnd to set the local position of the end point.
+ * @comment CURRENTLY BROKEN
* @property {Vec3} localStart - The local position of the overlay relative to its parent if the overlay has a
* parentID set, otherwise the same value as start .
- *
+ * @comment CURRENTLY BROKEN
* @property {Vec3} localEnd - The local position of the overlay relative to its parent if the overlay has a
* endParentID set, otherwise the same value as end .
- *
+ * @comment CURRENTLY BROKEN
* @property {number} length - The length of the line, in meters. This can be set after creating a line with start and end
* points.
* Currently doesn't work.
- *
+ * @comment CURRENTLY BROKEN
* @property {number} glow=0 - If glow > 0 , the line is rendered with a glow.
* @property {number} lineWidth=0.02 - Width of the line, in meters.
* You can set this property's value but currently cannot retrieve its value. Use the strokeWidths
- * property to retrieve its value instead.
+ * property to retrieve its value instead.
*/
/**jsdoc
@@ -1967,11 +1967,11 @@ QVector Overlays::findOverlays(const glm::vec3& center, float radius) {
* @property {number} pulsePeriod=1 - The duration of the color and alpha pulse, in seconds. A pulse multiplier value goes from
* pulseMin to pulseMax , then pulseMax to pulseMin in one period.
* @property {number} alphaPulse=0 - If non-zero, the alpha of the overlay is pulsed: the alpha value is multiplied by the
- * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
+ * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
* the pulse multiplier is applied out of phase with the pulse period. (The magnitude of the property isn't otherwise
* used.)
* @property {number} colorPulse=0 - If non-zero, the color of the overlay is pulsed: the color value is multiplied by the
- * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
+ * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
* the pulse multiplier is applied out of phase with the pulse period. (The magnitude of the property isn't otherwise
* used.)
*
@@ -2010,11 +2010,11 @@ QVector Overlays::findOverlays(const glm::vec3& center, float radius) {
* @property {number} pulsePeriod=1 - The duration of the color and alpha pulse, in seconds. A pulse multiplier value goes from
* pulseMin to pulseMax , then pulseMax to pulseMin in one period.
* @property {number} alphaPulse=0 - If non-zero, the alpha of the overlay is pulsed: the alpha value is multiplied by the
- * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
+ * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
* the pulse multiplier is applied out of phase with the pulse period. (The magnitude of the property isn't otherwise
* used.)
* @property {number} colorPulse=0 - If non-zero, the color of the overlay is pulsed: the color value is multiplied by the
- * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
+ * current pulse multiplier value each frame. If > 0 the pulse multiplier is applied in phase with the pulse period; if < 0
* the pulse multiplier is applied out of phase with the pulse period. (The magnitude of the property isn't otherwise
* used.)
*
@@ -2029,7 +2029,7 @@ QVector Overlays::findOverlays(const glm::vec3& center, float radius) {
* parentID set, otherwise the same value as rotation . Synonym: localOrientation .
* @property {boolean} isSolid=false - true if the overlay is rendered as a solid, false if it is
* rendered as a wire frame.
- * Synonyms: solid, isFilled , and filled .
+ * Synonyms: solid , isFilled , and filled .
* Antonyms: isWire and wire .
* @property {boolean} ignorePickIntersection=false - true if {@link Picks} ignore the overlay, false
* if they don't.
diff --git a/libraries/animation/src/AnimInverseKinematics.h b/libraries/animation/src/AnimInverseKinematics.h
index 8d3f898e67..d184038815 100644
--- a/libraries/animation/src/AnimInverseKinematics.h
+++ b/libraries/animation/src/AnimInverseKinematics.h
@@ -63,7 +63,7 @@ public:
* Specifies the initial conditions of the IK solver.
*
*
- * Value | Name | Description |
+ *
---|
Value | Name | Description |
*
*
* 0 | RelaxToUnderPoses | This is a blend: it is 15/16 PreviousSolution
diff --git a/libraries/animation/src/AnimOverlay.h b/libraries/animation/src/AnimOverlay.h
index 1ad4e100db..d5e114a2d2 100644
--- a/libraries/animation/src/AnimOverlay.h
+++ b/libraries/animation/src/AnimOverlay.h
@@ -28,7 +28,7 @@ public:
* Specifies sets of joints.
*
*
- * Value | Name | Description |
+ *
---|
Value | Name | Description |
*
*
* 0 | FullBodyBoneSet | All joints. |
diff --git a/libraries/animation/src/IKTarget.h b/libraries/animation/src/IKTarget.h
index 331acedd4e..d0c060e44c 100644
--- a/libraries/animation/src/IKTarget.h
+++ b/libraries/animation/src/IKTarget.h
@@ -20,7 +20,7 @@ public:
* An IK target type.
*
*
- * Value | Name | Description |
+ *
---|
Value | Name | Description |
*
*
* 0 | RotationAndPosition | Attempt to reach the rotation and position end
diff --git a/libraries/animation/src/Rig.cpp b/libraries/animation/src/Rig.cpp
index 561995cce4..d2e6dead58 100644
--- a/libraries/animation/src/Rig.cpp
+++ b/libraries/animation/src/Rig.cpp
@@ -95,7 +95,7 @@ static const QString MAIN_STATE_MACHINE_RIGHT_HAND_POSITION("mainStateMachineRig
* Warning: These properties are subject to change.
*
*
- * Name | Type | Description |
+ *
---|
Name | Type | Description |
*
*
* userAnimNone | boolean | true when no user overrideAnimation is
diff --git a/libraries/controllers/src/controllers/Actions.cpp b/libraries/controllers/src/controllers/Actions.cpp
index 9f9d92fed7..9a1f540098 100644
--- a/libraries/controllers/src/controllers/Actions.cpp
+++ b/libraries/controllers/src/controllers/Actions.cpp
@@ -171,7 +171,7 @@ namespace controller {
* | RightFoot | number | {@link Pose} | Set the right foot pose of the user's
* avatar. |
*
- * Application |
+ * Application |
* BoomIn | number | number | Zoom camera in from third person toward first
* person view. |
* BoomOut | number | number | Zoom camera out from first person to third
diff --git a/libraries/controllers/src/controllers/StandardController.cpp b/libraries/controllers/src/controllers/StandardController.cpp
index ece10ecca3..04d7c0bef8 100644
--- a/libraries/controllers/src/controllers/StandardController.cpp
+++ b/libraries/controllers/src/controllers/StandardController.cpp
@@ -33,7 +33,7 @@ void StandardController::focusOutEvent() {
* identifying each output. Read-only.
* These outputs can be mapped to actions or functions in a {@link RouteObject} mapping. The data value provided by each
* control is either a number or a {@link Pose}. Numbers are typically normalized to 0.0 or 1.0 for
- * button states, the range 0.0 – 1.0 for unidirectional scales, and the range
+ * button states, the range 0.0 – 1.0 for unidirectional scales, and the range
* -1.0 – 1.0 for bidirectional scales.
* Each hardware device has a mapping from its outputs to a subset of Controller.Standard items, specified in a
* JSON file. For example,
@@ -118,8 +118,7 @@ void StandardController::focusOutEvent() {
* button. |
* RightThumbUp | number | number | Right thumb not touching primary or secondary
* thumb buttons. |
- * LeftPrimaryIndex | number | number | Left primary index control
- * pressed. |
+ * LeftPrimaryIndex | number | number | Left primary index control pressed. |
* LeftSecondaryIndex | number | number | Left secondary index control pressed.
* |
* RightPrimaryIndex | number | number | Right primary index control pressed.
diff --git a/libraries/controllers/src/controllers/impl/MappingBuilderProxy.h b/libraries/controllers/src/controllers/impl/MappingBuilderProxy.h
index f0a823a3de..5f3b9dc3fc 100644
--- a/libraries/controllers/src/controllers/impl/MappingBuilderProxy.h
+++ b/libraries/controllers/src/controllers/impl/MappingBuilderProxy.h
@@ -86,7 +86,7 @@ class UserInputMapper;
* @typedef {object} Controller.MappingJSONRoute
* @property {string|Controller.MappingJSONAxis} from - The name of a {@link Controller.Hardware} property or an axis made from
* them. If a property name, the leading "Controller.Hardware." can be omitted.
- * @property {boolean} [peek=false] - If true, then peeking is enabled per {@link RouteObject#peek}.
+ * @property {boolean} [peek=false] - If true , then peeking is enabled per {@link RouteObject#peek}.
* @property {boolean} [debug=false] - If true , then debug is enabled per {@link RouteObject#debug}.
* @property {string|string[]} [when=[]] - One or more numeric {@link Controller.Hardware} property names which are evaluated
* as booleans and ANDed together. Prepend a property name with a ! to do a logical NOT. The leading
diff --git a/libraries/entities/src/EntityDynamicInterface.cpp b/libraries/entities/src/EntityDynamicInterface.cpp
index 69d771db22..9c73217bef 100644
--- a/libraries/entities/src/EntityDynamicInterface.cpp
+++ b/libraries/entities/src/EntityDynamicInterface.cpp
@@ -130,8 +130,8 @@ variables. These argument variables are used by the code which is run when bull
* "ball-socket" | Object constraint |
* Connects two entities with a ball and socket joint. |
* {@link Entities.ActionArguments-BallSocket} |
- * "spring" | Synonym for "tractor" .
- * Deprecated. |
+ * "spring" | | Synonym for "tractor" .
+ * Deprecated. | |
* |
*
* @typedef {string} Entities.ActionType
diff --git a/libraries/entities/src/EntityItemProperties.cpp b/libraries/entities/src/EntityItemProperties.cpp
index 5437ceaab8..e45d05a1b5 100644
--- a/libraries/entities/src/EntityItemProperties.cpp
+++ b/libraries/entities/src/EntityItemProperties.cpp
@@ -944,7 +944,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
* @property {number} materialMappingRot=0 - How much to rotate the material within the parent's UV-space, in degrees.
* @property {boolean} materialRepeat=true - true if the material repeats, false if it doesn't. If
* false , fragments outside of texCoord 0 – 1 will be discarded. Works in both "uv" and
- * "projected" modes.
+ * "projected" modes.
* @example Color a sphere using a Material entity.
* var entityID = Entities.addEntity({
* type: "Sphere",
@@ -1309,7 +1309,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
* @property {number} bottomMargin=0.0 - The bottom margin, in meters.
* @property {boolean} unlit=false - true if the entity is unaffected by lighting, false if it is lit
* by the key light and local lights.
- * @property {string} font="" - The font to render the text with. It can be one of the following: "Courier" "Courier",
* "Inconsolata" , "Roboto" , "Timeless" , or a path to a .sdff file.
* @property {Entities.TextEffect} textEffect="none" - The effect that is applied to the text.
* @property {Color} textEffectColor=255,255,255 - The color of the effect.
diff --git a/libraries/entities/src/EntityScriptingInterface.h b/libraries/entities/src/EntityScriptingInterface.h
index 52470e56c4..5b6f74e5bc 100644
--- a/libraries/entities/src/EntityScriptingInterface.h
+++ b/libraries/entities/src/EntityScriptingInterface.h
@@ -1870,7 +1870,7 @@ public slots:
/**jsdoc
* Called when a {@link Entities.getMeshes} call is complete.
* @callback Entities~getMeshesCallback
- * @param {MeshProxy[]} meshes - If success< is true , a {@link MeshProxy} per mesh in the
+ * @param {MeshProxy[]} meshes - If success is true , a {@link MeshProxy} per mesh in the
* Model or PolyVox entity; otherwise undefined .
* @param {boolean} success - true if the {@link Entities.getMeshes} call was successful, false
* otherwise. The call may be unsuccessful if the requested entity could not be found.
diff --git a/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp b/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp
index 0a6c76e456..ac8e6b8053 100755
--- a/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp
+++ b/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp
@@ -225,7 +225,7 @@ controller::Input KeyboardMouseDevice::InputDevice::makeInput(KeyboardMouseDevic
*
*
*
- * Property | Type | Data | Description |
+ * Property | Type | Data | Description |
*
*
* 0 – 9 | number | number | A "0" – "1" key on the
diff --git a/libraries/midi/src/Midi.h b/libraries/midi/src/Midi.h
index dd2b5fd678..d103d05218 100644
--- a/libraries/midi/src/Midi.h
+++ b/libraries/midi/src/Midi.h
@@ -23,7 +23,7 @@
/**jsdoc
* The Midi API provides the ability to connect Interface with musical instruments and other external or virtual
* devices via the MIDI protocol. For further information and examples, see the tutorial:
- * Use MIDI to Control Your Environment.
+ * Use MIDI to Control Your Environment.
*
* Note: Only works on Windows.
*
diff --git a/libraries/networking/src/AddressManager.h b/libraries/networking/src/AddressManager.h
index 8187c23f71..31bda960ec 100644
--- a/libraries/networking/src/AddressManager.h
+++ b/libraries/networking/src/AddressManager.h
@@ -188,11 +188,11 @@ public slots:
/**jsdoc
* Takes you to a specified metaverse address.
* @function location.handleLookupString
- * @param {string} address - The address to go to: a "hifi://" address, an IP address (e.g.,
- * "127.0.0.1" or "localhost" ), a domain name, a named path on a domain (starts with
- * "/" ), a position or position and orientation, or a user (starts with "@" ).
+ * @param {string} address - The address to go to: a "hifi://" address, an IP address (e.g.,
+ * "127.0.0.1" or "localhost" ), a domain name, a named path on a domain (starts with
+ * "/" ), a position or position and orientation, or a user (starts with "@" ).
* @param {boolean} [fromSuggestions=false] - Set to true if the address is obtained from the "Goto" dialog.
- * Helps ensure that user's location history is correctly maintained.
+ * Helps ensure that user's location history is correctly maintained.
*/
void handleLookupString(const QString& lookupString, bool fromSuggestions = false);
@@ -259,7 +259,7 @@ public slots:
/**jsdoc
* Checks if going back to the previous location is possible.
* @function location.canGoBack
- * @returns true if going back is possible, false if it isn't.
+ * @returns {boolean} true if going back is possible, false if it isn't.
*/
bool canGoBack() const;
diff --git a/libraries/script-engine/src/Quat.h b/libraries/script-engine/src/Quat.h
index 0a5e58ac26..1cd4802e48 100644
--- a/libraries/script-engine/src/Quat.h
+++ b/libraries/script-engine/src/Quat.h
@@ -223,7 +223,7 @@ public slots:
/**jsdoc
* Gets the "front" direction that the camera would face if its orientation was set to the quaternion value.
* This is a synonym for {@link Quat(0).getForward|Quat.getForward}.
- * The High Fidelity camera has axes x = right, y = up, -z = forward.
+ * The High Fidelity camera has axes x = right, y = up, -z = forward.
* @function Quat(0).getFront
* @param {Quat} orientation - A quaternion representing an orientation.
* @returns {Vec3} The negative z-axis rotated by orientation .
@@ -233,7 +233,7 @@ public slots:
/**jsdoc
* Gets the "forward" direction that the camera would face if its orientation was set to the quaternion value.
* This is a synonym for {@link Quat(0).getFront|Quat.getFront}.
- * The High Fidelity camera has axes x = right, y = up, -z = forward.
+ * The High Fidelity camera has axes x = right, y = up, -z = forward.
* @function Quat(0).getForward
* @param {Quat} orientation - A quaternion representing an orientation.
* @returns {Vec3} The negative z-axis rotated by orientation .
@@ -245,7 +245,7 @@ public slots:
/**jsdoc
* Gets the "right" direction that the camera would have if its orientation was set to the quaternion value.
- * The High Fidelity camera has axes x = right, y = up, -z = forward.
+ * The High Fidelity camera has axes x = right, y = up, -z = forward.
* @function Quat(0).getRight
* @param {Quat} orientation - A quaternion representing an orientation.
* @returns {Vec3} The x-axis rotated by orientation .
@@ -254,7 +254,7 @@ public slots:
/**jsdoc
* Gets the "up" direction that the camera would have if its orientation was set to the quaternion value.
- * The High Fidelity camera has axes x = right, y = up, -z = forward.
+ * The High Fidelity camera has axes x = right, y = up, -z = forward.
* @function Quat(0).getUp
* @param {Quat} orientation - A quaternion representing an orientation.
* @returns {Vec3} The y-axis rotated by orientation .
From 78b7c04457354b9f5398e8ce90ef597771dbf212 Mon Sep 17 00:00:00 2001
From: David Rowe
Date: Fri, 20 Sep 2019 08:09:51 +1200
Subject: [PATCH 03/22] Fix white space in generated API docs
---
.../hifi-jsdoc-template/static/styles/jsdoc.css | 13 ++++++++-----
.../hifi-jsdoc-template/tmpl/description.tmpl | 15 +++++++++++++++
tools/jsdoc/hifi-jsdoc-template/tmpl/members.tmpl | 2 +-
tools/jsdoc/hifi-jsdoc-template/tmpl/method.tmpl | 8 ++++----
.../hifi-jsdoc-template/tmpl/methodList.tmpl | 6 ++----
tools/jsdoc/hifi-jsdoc-template/tmpl/params.tmpl | 13 +++++++++----
.../hifi-jsdoc-template/tmpl/properties.tmpl | 4 +++-
tools/jsdoc/hifi-jsdoc-template/tmpl/signal.tmpl | 8 ++++----
.../hifi-jsdoc-template/tmpl/signalList.tmpl | 8 +++-----
9 files changed, 49 insertions(+), 28 deletions(-)
create mode 100644 tools/jsdoc/hifi-jsdoc-template/tmpl/description.tmpl
diff --git a/tools/jsdoc/hifi-jsdoc-template/static/styles/jsdoc.css b/tools/jsdoc/hifi-jsdoc-template/static/styles/jsdoc.css
index 2386f88586..7b666de37b 100644
--- a/tools/jsdoc/hifi-jsdoc-template/static/styles/jsdoc.css
+++ b/tools/jsdoc/hifi-jsdoc-template/static/styles/jsdoc.css
@@ -143,6 +143,14 @@ td {
border: solid #c7cccb 1px;
}
+td > p:first-child, td > ul:first-child {
+ margin-top: 0;
+}
+
+td > p:last-child, td > ul:last-child {
+ margin-bottom: 0;
+}
+
article table thead tr th, article table tbody tr td, article table tbody tr td p {
font-size: .89rem;
line-height: 20px;
@@ -596,11 +604,6 @@ header {
font-size: 100%;
}
-.params td.description > p:first-child, .props td.description > p:first-child {
- margin-top: 0;
- padding-top: 0;
-}
-
span.param-type, .params td .param-type, .param-type dd {
color: #606;
font-family: Consolas, Monaco, 'Andale Mono', monospace
diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/description.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/description.tmpl
new file mode 100644
index 0000000000..0e0ad27b37
--- /dev/null
+++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/description.tmpl
@@ -0,0 +1,15 @@
+]*>', 'i');
+ var descriptionIndex = description.search(descriptionRegExp);
+?>
+
+
+
+
+
+
+
+
+
diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/members.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/members.tmpl
index c97a3f6979..6a870b4cda 100644
--- a/tools/jsdoc/hifi-jsdoc-template/tmpl/members.tmpl
+++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/members.tmpl
@@ -16,7 +16,7 @@ var self = this;
-
+
diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/method.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/method.tmpl
index db52d8f0b5..1542ca1806 100644
--- a/tools/jsdoc/hifi-jsdoc-template/tmpl/method.tmpl
+++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/method.tmpl
@@ -25,10 +25,10 @@ var self = this;
|
-
-
-
-
+
+
+
+
diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/methodList.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/methodList.tmpl
index 7d88cd5e51..982c231fd9 100644
--- a/tools/jsdoc/hifi-jsdoc-template/tmpl/methodList.tmpl
+++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/methodList.tmpl
@@ -29,11 +29,9 @@ var self = this;
|
-
-
-
-
+
+
|
diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/params.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/params.tmpl
index e994e42bfa..dd9f5f7ee7 100644
--- a/tools/jsdoc/hifi-jsdoc-template/tmpl/params.tmpl
+++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/params.tmpl
@@ -120,10 +120,15 @@
|
-
- Properties
-
- |
+
+
+
+
+
+ Properties
+
+
+ |
diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/properties.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/properties.tmpl
index 5c83a7d587..31717ed63b 100644
--- a/tools/jsdoc/hifi-jsdoc-template/tmpl/properties.tmpl
+++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/properties.tmpl
@@ -87,7 +87,9 @@
-
+
+
+
Default Value:
diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/signal.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/signal.tmpl
index ece03b9e36..76d6f78948 100644
--- a/tools/jsdoc/hifi-jsdoc-template/tmpl/signal.tmpl
+++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/signal.tmpl
@@ -25,10 +25,10 @@ var self = this;
|
-
-
-
-
+
+
+
+
diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/signalList.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/signalList.tmpl
index c5fdefc7d8..98b0892122 100644
--- a/tools/jsdoc/hifi-jsdoc-template/tmpl/signalList.tmpl
+++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/signalList.tmpl
@@ -13,12 +13,10 @@ var self = this;
|
-
-
-
-
+
+
+
-
|
From d5e08d19e39048988b9fc1ff1ee9db7f603f13e2 Mon Sep 17 00:00:00 2001
From: David Rowe
Date: Fri, 20 Sep 2019 08:17:24 +1200
Subject: [PATCH 04/22] Fix JSDoc for miscellaneous white space issues
---
interface/src/avatar/MyAvatar.cpp | 2 +-
interface/src/avatar/MyAvatar.h | 13 ++--
.../src/raypick/PickScriptingInterface.cpp | 22 +++---
.../scripting/ControllerScriptingInterface.h | 18 ++---
.../scripting/DesktopScriptingInterface.cpp | 4 +-
.../scripting/SelectionScriptingInterface.cpp | 2 +-
.../src/scripting/WalletScriptingInterface.h | 6 +-
.../src/scripting/WindowScriptingInterface.h | 24 +++----
interface/src/ui/InteractiveWindow.h | 4 +-
interface/src/ui/overlays/Overlays.cpp | 67 +++++++++----------
.../animation/src/AnimInverseKinematics.h | 14 ++--
libraries/animation/src/IKTarget.h | 4 +-
.../src/avatars-renderer/Avatar.cpp | 2 +-
libraries/avatars/src/AvatarData.cpp | 4 +-
libraries/avatars/src/AvatarData.h | 6 +-
.../controllers/impl/MappingBuilderProxy.h | 16 ++---
.../src/controllers/impl/RouteBuilderProxy.h | 8 +--
.../entities/src/EntityItemProperties.cpp | 6 +-
libraries/entities/src/EntityTypes.h | 12 ++--
.../src/input-plugins/KeyboardMouseDevice.cpp | 14 ++--
libraries/networking/src/MessagesClient.h | 12 ++--
libraries/script-engine/src/ScriptEngine.cpp | 4 +-
.../ui/src/ui/TabletScriptingInterface.h | 2 +-
23 files changed, 135 insertions(+), 131 deletions(-)
diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp
index 4d1c20010c..af6836a8a3 100644
--- a/interface/src/avatar/MyAvatar.cpp
+++ b/interface/src/avatar/MyAvatar.cpp
@@ -2479,7 +2479,7 @@ void MyAvatar::clearWornAvatarEntities() {
}
/**jsdoc
- * Information about an avatar entity.
+ * Information about an avatar entity.
*
*
* Property | Type | Description |
diff --git a/interface/src/avatar/MyAvatar.h b/interface/src/avatar/MyAvatar.h
index a7ddb7a837..6cb9de9e96 100644
--- a/interface/src/avatar/MyAvatar.h
+++ b/interface/src/avatar/MyAvatar.h
@@ -180,8 +180,8 @@ class MyAvatar : public Avatar {
* property value is audioListenerModeCustom .
* @property {Quat} customListenOrientation=Quat.IDENTITY - The listening orientation used when the
* audioListenerMode property value is audioListenerModeCustom .
- * @property {boolean} hasScriptedBlendshapes=false - true to transmit blendshapes over the network.
- * Note: Currently doesn't work. Use {@link MyAvatar.setForceFaceTrackerConnected} instead.
+ * @property {boolean} hasScriptedBlendshapes=false - true to transmit blendshapes over the network.
+ * Note: Currently doesn't work. Use {@link MyAvatar.setForceFaceTrackerConnected} instead.
* @property {boolean} hasProceduralBlinkFaceMovement=true - true if procedural blinking is turned on.
* @property {boolean} hasProceduralEyeFaceMovement=true - true if procedural eye movement is turned on.
* @property {boolean} hasAudioEnabledFaceMovement=true - true to move the mouth blendshapes with voice audio
@@ -239,8 +239,8 @@ class MyAvatar : public Avatar {
* @property {boolean} useAdvancedMovementControls - Returns and sets the value of the Interface setting, Settings >
* Controls > Walking. Note: Setting the value has no effect unless Interface is restarted.
* @property {boolean} showPlayArea - Returns and sets the value of the Interface setting, Settings > Controls > Show room
- * boundaries while teleporting.
- * Note: Setting the value has no effect unless Interface is restarted.
+ * boundaries while teleporting.
+ * Note: Setting the value has no effect unless Interface is restarted.
*
* @property {number} yawSpeed=75 - The mouse X sensitivity value in Settings > General. Read-only.
* @property {number} pitchSpeed=50 - The mouse Y sensitivity value in Settings > General. Read-only.
@@ -488,9 +488,10 @@ public:
* 2 | Auto | Interface detects when the user is standing or seated in the real world.
* Avatar leaning is disabled when the user is sitting (i.e., avatar always recenters), and avatar leaning is enabled
* when the user is standing (i.e., avatar leans, then if leans too far it recenters). |
- * 3 | DisableHMDLean | Both avatar leaning and recentering are disabled regardless of
+ * | 3 | DisableHMDLean | Both avatar leaning and recentering are disabled regardless of
* what the user is doing in the real world and no matter what their avatar is doing in the virtual world. Enables
- * the avatar to sit on the floor when the user sits on the floor. Note: Experimental. |
+ * the avatar to sit on the floor when the user sits on the floor.
+ * Note: Experimental.
*
*
* @typedef {number} MyAvatar.SitStandModelType
diff --git a/interface/src/raypick/PickScriptingInterface.cpp b/interface/src/raypick/PickScriptingInterface.cpp
index ddc1fe376c..54c9cbe277 100644
--- a/interface/src/raypick/PickScriptingInterface.cpp
+++ b/interface/src/raypick/PickScriptingInterface.cpp
@@ -83,12 +83,12 @@ PickFilter getPickFilter(unsigned int filter) {
* means no maximum.
* @property {Uuid} [parentID] - The ID of the parent: an avatar, an entity, or another pick.
* @property {number} [parentJointIndex=0] - The joint of the parent to parent to, for example, an avatar joint.
- * A value of 0 means no joint.
- * Used only if parentID is specified.
+ * A value of 0 means no joint.
+ * Used only if parentID is specified.
* @property {string} [joint] - "Mouse" parents the pick to the mouse; "Avatar" parents the pick to
* the user's avatar head; a joint name parents to the joint in the user's avatar; otherwise, the pick is "static", not
- * parented to anything.
- * Used only if parentID is not specified.
+ * parented to anything.
+ * Used only if parentID is not specified.
* @property {Vec3} [position=Vec3.ZERO] - The offset of the ray origin from its parent if parented, otherwise the ray origin
* in world coordinates.
* @property {Vec3} [posOffset] - Synonym for position .
@@ -217,12 +217,12 @@ std::shared_ptr PickScriptingInterface::buildStylusPick(const QVarian
* means no maximum.
* @property {Uuid} [parentID] - The ID of the parent: an avatar, an entity, or another pick.
* @property {number} [parentJointIndex=0] - The joint of the parent to parent to, for example, an avatar joint.
- * A value of 0 means no joint.
- * Used only if parentID is specified.
+ * A value of 0 means no joint.
+ * Used only if parentID is specified.
* @property {string} [joint] - "Mouse" parents the pick to the mouse; "Avatar" parents the pick to
* the user's avatar head; a joint name parents to the joint in the user's avatar; otherwise, the pick is "static", not
* parented to anything.
- * Used only if parentID is not specified.
+ * Used only if parentID is not specified.
* @property {Vec3} [position=Vec3.ZERO] - The offset of the parabola origin from its parent if parented, otherwise the
* parabola origin in world coordinates.
* @property {Vec3} [posOffset] - Synonym for position .
@@ -327,12 +327,12 @@ std::shared_ptr PickScriptingInterface::buildParabolaPick(const QVari
* means no maximum.
* @property {Uuid} [parentID] - The ID of the parent: an avatar, an entity, or another pick.
* @property {number} [parentJointIndex=0] - The joint of the parent to parent to, for example, an avatar joint.
- * A value of 0 means no joint.
- * Used only if parentID is specified.
+ * A value of 0 means no joint.
+ * Used only if parentID is specified.
* @property {string} [joint] - "Mouse" parents the pick to the mouse; "Avatar" parents the pick to
* the user's avatar head; a joint name parents to the joint in the user's avatar; otherwise, the pick is "static", not
- * parented to anything.
- * Used only if parentID is not specified.
+ * parented to anything.
+ * Used only if parentID is not specified.
* @property {boolean} [scaleWithParent=true] - true to scale the pick's dimensions and threshold according to the
* scale of the parent.
*
diff --git a/interface/src/scripting/ControllerScriptingInterface.h b/interface/src/scripting/ControllerScriptingInterface.h
index dbd172abe7..f65791335d 100644
--- a/interface/src/scripting/ControllerScriptingInterface.h
+++ b/interface/src/scripting/ControllerScriptingInterface.h
@@ -216,25 +216,25 @@ class ScriptEngine;
*
* @property {Controller.Actions} Actions - Predefined actions on Interface and the user's avatar. These can be used as end
* points in a {@link RouteObject} mapping. A synonym for Controller.Hardware.Actions .
- * Read-only.
- * Default mappings are provided from the Controller.Hardware.Keyboard and Controller.Standard to
- * actions in
+ * Read-only.
+ * Default mappings are provided from the Controller.Hardware.Keyboard and Controller.Standard
+ * to actions in
*
* keyboardMouse.json and
*
- * standard.json, respectively.
+ * standard.json, respectively.
*
* @property {Controller.Hardware} Hardware - Standard and hardware-specific controller and computer outputs, plus predefined
* actions on Interface and the user's avatar. The outputs can be mapped to Actions or functions in a
- * {@link RouteObject} mapping. Additionally, hardware-specific controller outputs can be mapped to Standard
- * controller outputs. Read-only.
+ * {@link RouteObject} mapping. Additionally, hardware-specific controller outputs can be mapped to
+ * Controller.Standard controller outputs. Read-only.
*
* @property {Controller.Standard} Standard - Standard controller outputs that can be mapped to Actions or
- * functions in a {@link RouteObject} mapping. Read-only.
- * Each hardware device has a mapping from its outputs to Controller.Standard items, specified in a JSON file.
+ * functions in a {@link RouteObject} mapping. Read-only.
+ * Each hardware device has a mapping from its outputs to Controller.Standard items, specified in a JSON file.
* For example,
* leapmotion.json and
- * vive.json.
+ * vive.json.
*/
/// handles scripting of input controller commands from JS
diff --git a/interface/src/scripting/DesktopScriptingInterface.cpp b/interface/src/scripting/DesktopScriptingInterface.cpp
index bb4ab89f2c..95d3bae332 100644
--- a/interface/src/scripting/DesktopScriptingInterface.cpp
+++ b/interface/src/scripting/DesktopScriptingInterface.cpp
@@ -31,7 +31,7 @@
* @property {InteractiveWindow.DockArea} RIGHT - Dock to the right edge of the Interface window.
*/
/**jsdoc
- * A docking location of an InteractiveWindow .
+ * A docking location of an InteractiveWindow .
*
*
* Value | Name | Description |
@@ -73,7 +73,7 @@ int DesktopScriptingInterface::getHeight() {
* own separate window.
*/
/**jsdoc
- * A display mode for an InteractiveWindow .
+ * A display mode for an InteractiveWindow .
*
*
* Value | Name | Description |
diff --git a/interface/src/scripting/SelectionScriptingInterface.cpp b/interface/src/scripting/SelectionScriptingInterface.cpp
index 5856188868..d2147ac5cc 100644
--- a/interface/src/scripting/SelectionScriptingInterface.cpp
+++ b/interface/src/scripting/SelectionScriptingInterface.cpp
@@ -44,7 +44,7 @@ SelectionScriptingInterface::SelectionScriptingInterface() {
}
/**jsdoc
- * The type of a specific item in a selection list.
+ * The type of a specific item in a selection list.
*
*
* Value | Description |
diff --git a/interface/src/scripting/WalletScriptingInterface.h b/interface/src/scripting/WalletScriptingInterface.h
index 3ef9c7953a..0decbbad11 100644
--- a/interface/src/scripting/WalletScriptingInterface.h
+++ b/interface/src/scripting/WalletScriptingInterface.h
@@ -73,9 +73,9 @@ public:
/**jsdoc
* Check that a certified avatar entity is owned by the avatar whose entity it is. The result of the check is provided via
* the {@link WalletScriptingInterface.ownershipVerificationSuccess|ownershipVerificationSuccess} and
- * {@link WalletScriptingInterface.ownershipVerificationFailed|ownershipVerificationFailed} signals.
- * Warning: Neither of these signals are triggered if the entity is not an avatar entity or is not
- * certified.
+ * {@link WalletScriptingInterface.ownershipVerificationFailed|ownershipVerificationFailed} signals.
+ * Warning: Neither of these signals are triggered if the entity is not an avatar entity or is not
+ * certified.
* @function WalletScriptingInterface.proveAvatarEntityOwnershipVerification
* @param {Uuid} entityID - The avatar entity's ID.
* @example Check the ownership of all nearby certified avatar entities.
diff --git a/interface/src/scripting/WindowScriptingInterface.h b/interface/src/scripting/WindowScriptingInterface.h
index 83d7de56a5..45585e940a 100644
--- a/interface/src/scripting/WindowScriptingInterface.h
+++ b/interface/src/scripting/WindowScriptingInterface.h
@@ -326,10 +326,10 @@ public slots:
* full resolution is used (window dimensions in desktop mode; HMD display dimensions in HMD mode), otherwise one of the
* dimensions is adjusted in order to match the aspect ratio.
* @param {string} [filename=""] - If a filename is not provided, the image is saved as "hifi-snap-by-<user
- * name>-on-YYYY-MM-DD_HH-MM-SS".
- * Still images are saved in JPEG or PNG format according to the extension provided — ".jpg" ,
+ * name>-on-YYYY-MM-DD_HH-MM-SS".
+ * Still images are saved in JPEG or PNG format according to the extension provided — ".jpg" ,
* ".jpeg" , or ".png" — or if not provided then in JPEG format with an extension of
- * ".jpg" . Animated images are saved in GIF format.
+ * ".jpg" . Animated images are saved in GIF format.
*
* @example Using the snapshot function and signals.
* function onStillSnapshotTaken(path, notify) {
@@ -365,10 +365,10 @@ public slots:
* @param {boolean} [notify=true] - This value is passed on through the {@link Window.stillSnapshotTaken|stillSnapshotTaken}
* signal.
* @param {string} [filename=""] - If a filename is not provided, the image is saved as "hifi-snap-by-<user
- * name>-on-YYYY-MM-DD_HH-MM-SS".
- * Images are saved in JPEG or PNG format according to the extension provided — ".jpg" ,
+ * name>-on-YYYY-MM-DD_HH-MM-SS".
+ * Images are saved in JPEG or PNG format according to the extension provided — ".jpg" ,
* ".jpeg" , or ".png" — or if not provided then in JPEG format with an extension of
- * ".jpg" .
+ * ".jpg" .
*/
void takeSecondaryCameraSnapshot(const bool& notify = true, const QString& filename = QString());
@@ -384,10 +384,10 @@ public slots:
* @param {boolean} [notify=true] - This value is passed on through the {@link Window.stillSnapshotTaken|stillSnapshotTaken}
* signal.
* @param {string} [filename=""] - If a filename is not provided, the image is saved as "hifi-snap-by-<user
- * name>-on-YYYY-MM-DD_HH-MM-SS".
- * Images are saved in JPEG or PNG format according to the extension provided — ".jpg" ,
+ * name>-on-YYYY-MM-DD_HH-MM-SS".
+ * Images are saved in JPEG or PNG format according to the extension provided — ".jpg" ,
* ".jpeg" , or ".png" — or if not provided then in JPEG format with an extension of
- * ".jpg" .
+ * ".jpg" .
*/
void takeSecondaryCamera360Snapshot(const glm::vec3& cameraPosition, const bool& cubemapOutputFormat = false, const bool& notify = true, const QString& filename = QString());
@@ -515,13 +515,13 @@ public slots:
/**jsdoc
* Opens a URL in the Interface window or other application, depending on the URL's scheme. The following schemes are
- * supported:
+ * supported:
*
* hifi : Navigate to the URL in Interface.
* hifiapp : Open a system app in Interface.
*
- * Other schemes will either be handled by the OS (e.g. http , https , or mailto ) or
- * will display a dialog asking the user to confirm that they want to try to open the URL.
+ * Other schemes will either be handled by the OS (e.g. http , https , or mailto ) or
+ * will display a dialog asking the user to confirm that they want to try to open the URL.
* @function Window.openUrl
* @param {string} url - The URL to open.
*/
diff --git a/interface/src/ui/InteractiveWindow.h b/interface/src/ui/InteractiveWindow.h
index 70077a27b0..ba53684173 100644
--- a/interface/src/ui/InteractiveWindow.h
+++ b/interface/src/ui/InteractiveWindow.h
@@ -56,8 +56,8 @@ namespace InteractiveWindowEnums {
Q_NAMESPACE
/**jsdoc
- * A set of flags controlling InteractiveWindow behavior. The value is constructed by using the
- * | (bitwise OR) operator on the individual flag values.
+ * A set of flags controlling InteractiveWindow behavior. The value is constructed by using the
+ * | (bitwise OR) operator on the individual flag values.
*
*
* Flag Name | Value | Description |
diff --git a/interface/src/ui/overlays/Overlays.cpp b/interface/src/ui/overlays/Overlays.cpp
index 1f5bba86b2..730554366f 100644
--- a/interface/src/ui/overlays/Overlays.cpp
+++ b/interface/src/ui/overlays/Overlays.cpp
@@ -1346,49 +1346,48 @@ QVector Overlays::findOverlays(const glm::vec3& center, float radius) {
* Some text. |
* {@link Overlays.OverlayProperties-Text|OverlayProperties-Text} |
* "cube" | 3D |
- * A cube. A "shape" overlay can also be used to create a cube.
- * Deprecated.
- * |
+ * A cube. A "shape" overlay can also be used to create a cube.
+ * Deprecated. |
* {@link Overlays.OverlayProperties-Cube|OverlayProperties-Cube} |
* "sphere" | 3D |
- * A sphere. A "shape" overlay can also be used to create a sphere.
- * Deprecated. |
+ * A sphere. A "shape" overlay can also be used to create a sphere.
+ * Deprecated. |
* {@link Overlays.OverlayProperties-Sphere|OverlayProperties-Sphere} |
* "shape" | 3D |
- * A geometric shape, such as a cube, sphere, or cylinder.
- * Deprecated. |
+ * A geometric shape, such as a cube, sphere, or cylinder.
+ * Deprecated. |
* {@link Overlays.OverlayProperties-Shape|OverlayProperties-Shape} |
* "model" | 3D |
- * A model.
- * Deprecated. |
+ * A model.
+ * Deprecated. |
* {@link Overlays.OverlayProperties-Model|OverlayProperties-Model} |
* "image3d" | 3D |
- * An image. Synonym: "billboard" .
- * Deprecated. |
+ * An image. Synonym: "billboard" .
+ * Deprecated. |
* {@link Overlays.OverlayProperties-Image3D|OverlayProperties-Image3D} |
* "rectangle3d" | 3D |
- * A rectangle.
- * Deprecated. |
+ * A rectangle.
+ * Deprecated. |
* {@link Overlays.OverlayProperties-Rectangle3D|OverlayProperties-Rectangle3D} |
* "text3d" | 3D |
- * Some text.
- * Deprecated. |
+ * Some text.
+ * Deprecated. |
* {@link Overlays.OverlayProperties-Text3D|OverlayProperties-Text3D} |
* "web3d" | 3D |
- * Web content.
- * Deprecated. |
+ * Web content.
+ * Deprecated. |
* {@link Overlays.OverlayProperties-Web3D|OverlayProperties-Web3D} |
* "line3d" | 3D |
- * A line.
- * Deprecated. |
+ * A line.
+ * Deprecated. |
* {@link Overlays.OverlayProperties-Line3D|OverlayProperties-Line3D} |
* "grid" | 3D |
- * A grid of lines in a plane.
- * Deprecated. |
+ * A grid of lines in a plane.
+ * Deprecated. |
* {@link Overlays.OverlayProperties-Grid|OverlayProperties-Grid} |
* "circle3d" | 3D |
- * A circle.
- * Deprecated. |
+ * A circle.
+ * Deprecated. |
* {@link Overlays.OverlayProperties-Circle3D|OverlayProperties-Circle3D} |
*
*
@@ -1410,17 +1409,17 @@ QVector Overlays::findOverlays(const glm::vec3& center, float radius) {
* @see {@link Overlays.OverlayProperties-Rectangle|OverlayProperties-Rectangle}
* @see {@link Overlays.OverlayProperties-Image|OverlayProperties-Image}
* @see {@link Overlays.OverlayProperties-Text|OverlayProperties-Text}
- * @see {@link Overlays.OverlayProperties-Cube|OverlayProperties-Cube} Deprecated.
- * @see {@link Overlays.OverlayProperties-Sphere|OverlayProperties-Sphere} Deprecated.
- * @see {@link Overlays.OverlayProperties-Shape|OverlayProperties-Shape} Deprecated.
- * @see {@link Overlays.OverlayProperties-Model|OverlayProperties-Model} Deprecated.
- * @see {@link Overlays.OverlayProperties-Rectangle3D|OverlayProperties-Rectangle3D} Deprecated.
- * @see {@link Overlays.OverlayProperties-Image3D|OverlayProperties-Image3D} Deprecated.
- * @see {@link Overlays.OverlayProperties-Text3D|OverlayProperties-Text3D} Deprecated.
- * @see {@link Overlays.OverlayProperties-Web3D|OverlayProperties-Web3D} Deprecated.
- * @see {@link Overlays.OverlayProperties-Line3D|OverlayProperties-Line3D} Deprecated.
- * @see {@link Overlays.OverlayProperties-Grid|OverlayProperties-Grid} Deprecated.
- * @see {@link Overlays.OverlayProperties-Circle3D|OverlayProperties-Circle3D} Deprecated.
+ * @see {@link Overlays.OverlayProperties-Cube|OverlayProperties-Cube} — Deprecated.
+ * @see {@link Overlays.OverlayProperties-Sphere|OverlayProperties-Sphere} — Deprecated.
+ * @see {@link Overlays.OverlayProperties-Shape|OverlayProperties-Shape} — Deprecated.
+ * @see {@link Overlays.OverlayProperties-Model|OverlayProperties-Model} — Deprecated.
+ * @see {@link Overlays.OverlayProperties-Rectangle3D|OverlayProperties-Rectangle3D} — Deprecated.
+ * @see {@link Overlays.OverlayProperties-Image3D|OverlayProperties-Image3D} — Deprecated.
+ * @see {@link Overlays.OverlayProperties-Text3D|OverlayProperties-Text3D} — Deprecated.
+ * @see {@link Overlays.OverlayProperties-Web3D|OverlayProperties-Web3D} — Deprecated.
+ * @see {@link Overlays.OverlayProperties-Line3D|OverlayProperties-Line3D} — Deprecated.
+ * @see {@link Overlays.OverlayProperties-Grid|OverlayProperties-Grid} — Deprecated.
+ * @see {@link Overlays.OverlayProperties-Circle3D|OverlayProperties-Circle3D} — Deprecated.
*/
/**jsdoc
diff --git a/libraries/animation/src/AnimInverseKinematics.h b/libraries/animation/src/AnimInverseKinematics.h
index d184038815..959a504e79 100644
--- a/libraries/animation/src/AnimInverseKinematics.h
+++ b/libraries/animation/src/AnimInverseKinematics.h
@@ -73,12 +73,14 @@ public:
* 1 | RelaxToLimitCenterPoses | This is a blend: it is 15/16
* PreviousSolution and 1/16 LimitCenterPoses . This should converge quickly because it is
* close to the previous solution, but still provides the benefits of avoiding limb locking. |
- * 2 | PreviousSolution | The IK system will begin to solve from the same position and
- * orientations for each joint that was the result from the previous frame.
- * Pros: As the end effectors typically do not move much from frame to frame, this is likely to converge quickly
- * to a valid solution.
- * Cons: If the previous solution resulted in an awkward or uncomfortable posture, the next frame will also be
- * awkward and uncomfortable. It can also result in locked elbows and knees. |
+ * 2 | PreviousSolution |
+ * The IK system will begin to solve from the same position and orientations for each joint that was the result
+ * from the previous frame.
+ * Pros: As the end effectors typically do not move much from frame to frame, this is likely to converge quickly
+ * to a valid solution.
+ * Cons: If the previous solution resulted in an awkward or uncomfortable posture, the next frame will also be
+ * awkward and uncomfortable. It can also result in locked elbows and knees.
+ * |
* 3 | UnderPoses | The IK occurs at one of the top-most layers. It has access to the
* full posture that was computed via canned animations and blends. We call this animated set of poses the "under
* pose". The under poses are what would be visible if IK was completely disabled. Using the under poses as the
diff --git a/libraries/animation/src/IKTarget.h b/libraries/animation/src/IKTarget.h
index d0c060e44c..a56f5578b3 100644
--- a/libraries/animation/src/IKTarget.h
+++ b/libraries/animation/src/IKTarget.h
@@ -26,8 +26,8 @@ public:
* | 0 | RotationAndPosition | Attempt to reach the rotation and position end
* effector. |
* 1 | RotationOnly | Attempt to reach the end effector rotation only. |
- * 2 | HmdHead | A special mode of IK that would attempt to prevent unnecessary
- * bending of the spine.
+ * | 2 | HmdHead |
+ * A special mode of IK that would attempt to prevent unnecessary bending of the spine.
* Deprecated: This target type is deprecated and will be removed. |
* 3 | HipsRelativeRotationAndPosition | Attempt to reach a rotation and position end
* effector that is not in absolute rig coordinates but is offset by the avatar hips translation. |
diff --git a/libraries/avatars-renderer/src/avatars-renderer/Avatar.cpp b/libraries/avatars-renderer/src/avatars-renderer/Avatar.cpp
index 7f363dd36f..dacd479aef 100644
--- a/libraries/avatars-renderer/src/avatars-renderer/Avatar.cpp
+++ b/libraries/avatars-renderer/src/avatars-renderer/Avatar.cpp
@@ -517,7 +517,7 @@ void Avatar::relayJointDataToChildren() {
}
/**jsdoc
- * An avatar has different types of data simulated at different rates, in Hz.
+ * An avatar has different types of data simulated at different rates, in Hz.
*
*
*
diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp
index c03f9430be..0389dc9149 100755
--- a/libraries/avatars/src/AvatarData.cpp
+++ b/libraries/avatars/src/AvatarData.cpp
@@ -1444,7 +1444,7 @@ int AvatarData::parseDataFromBuffer(const QByteArray& buffer) {
}
/**jsdoc
- * The avatar mixer data comprises different types of data, with the data rates of each being tracked in kbps.
+ * The avatar mixer data comprises different types of data, with the data rates of each being tracked in kbps.
*
*
*
@@ -1549,7 +1549,7 @@ float AvatarData::getDataRate(const QString& rateName) const {
}
/**jsdoc
- * The avatar mixer data comprises different types of data updated at different rates, in Hz.
+ * The avatar mixer data comprises different types of data updated at different rates, in Hz.
*
*
*
diff --git a/libraries/avatars/src/AvatarData.h b/libraries/avatars/src/AvatarData.h
index 59a2e2a53e..df0783ef4b 100755
--- a/libraries/avatars/src/AvatarData.h
+++ b/libraries/avatars/src/AvatarData.h
@@ -1277,9 +1277,9 @@ public:
* @param {number} [scale=1.0] - The scale to apply to the model.
* @param {boolean} [isSoft=false] - If the model has a skeleton, set this to true so that the bones of the
* attached model's skeleton are rotated to fit the avatar's current pose. isSoft is used, for example,
- * to have clothing that moves with the avatar.
- * If true , the translation , rotation , and scale parameters are
- * ignored.
+ * to have clothing that moves with the avatar.
+ * If true , the translation , rotation , and scale parameters are
+ * ignored.
* @param {boolean} [allowDuplicates=false] - If true then more than one copy of any particular model may be
* attached to the same joint; if false then the same model cannot be attached to the same joint.
* @param {boolean} [useSaved=true] - Not used.
diff --git a/libraries/controllers/src/controllers/impl/MappingBuilderProxy.h b/libraries/controllers/src/controllers/impl/MappingBuilderProxy.h
index 5f3b9dc3fc..5a8fd3083d 100644
--- a/libraries/controllers/src/controllers/impl/MappingBuilderProxy.h
+++ b/libraries/controllers/src/controllers/impl/MappingBuilderProxy.h
@@ -135,8 +135,8 @@ public:
/**jsdoc
* Creates a new {@link RouteObject} from a controller output, ready to be mapped to a standard control, action, or
- * function.
- * This is a QML-specific version of {@link MappingObject#from|from}: use this version in QML files.
+ * function.
+ * This is a QML-specific version of {@link MappingObject#from|from}: use this version in QML files.
* @function MappingObject#fromQml
* @param {Controller.Standard|Controller.Hardware|function} source - The controller output or function that is the source
* of the route data. If a function, it must return a number or a {@link Pose} value as the route data.
@@ -146,8 +146,8 @@ public:
/**jsdoc
* Creates a new {@link RouteObject} from two numeric {@link Controller.Hardware} outputs, one applied in the negative
- * direction and the other in the positive direction, ready to be mapped to a standard control, action, or function.
- * This is a QML-specific version of {@link MappingObject#makeAxis|makeAxis}: use this version in QML files.
+ * direction and the other in the positive direction, ready to be mapped to a standard control, action, or function.
+ * This is a QML-specific version of {@link MappingObject#makeAxis|makeAxis}: use this version in QML files.
* @function MappingObject#makeAxisQml
* @param {Controller.Hardware} source1 - The first, negative-direction controller output.
* @param {Controller.Hardware} source2 - The second, positive-direction controller output.
@@ -189,8 +189,8 @@ public:
Q_INVOKABLE QObject* makeAxis(const QScriptValue& source1, const QScriptValue& source2);
/**jsdoc
- * Enables or disables the mapping. When enabled, the routes in the mapping take effect.
- * Synonymous with {@link Controller.enableMapping}.
+ * Enables or disables the mapping. When enabled, the routes in the mapping take effect.
+ * Synonymous with {@link Controller.enableMapping}.
* @function MappingObject#enable
* @param {boolean} enable=true - If true then the mapping is enabled, otherwise it is disabled.
* @returns {MappingObject} The mapping object, so that further routes can be added.
@@ -198,8 +198,8 @@ public:
Q_INVOKABLE QObject* enable(bool enable = true);
/**jsdoc
- * Disables the mapping. When disabled, the routes in the mapping have no effect.
- * Synonymous with {@link Controller.disableMapping}.
+ * Disables the mapping. When disabled, the routes in the mapping have no effect.
+ * Synonymous with {@link Controller.disableMapping}.
* @function MappingObject#disable
* @returns {MappingObject} The mapping object, so that further routes can be added.
*/
diff --git a/libraries/controllers/src/controllers/impl/RouteBuilderProxy.h b/libraries/controllers/src/controllers/impl/RouteBuilderProxy.h
index e7ff04d72c..f1b36cfec5 100644
--- a/libraries/controllers/src/controllers/impl/RouteBuilderProxy.h
+++ b/libraries/controllers/src/controllers/impl/RouteBuilderProxy.h
@@ -52,8 +52,8 @@ class RouteBuilderProxy : public QObject {
/**jsdoc
* Terminates the route with a standard control, an action, or a script function. The output value from the route is
- * sent to the specified destination.
- * This is a QML-specific version of {@link MappingObject#to|to}: use this version in QML files.
+ * sent to the specified destination.
+ * This is a QML-specific version of {@link MappingObject#to|to}: use this version in QML files.
* @function RouteObject#toQml
* @param {Controller.Standard|Controller.Actions|function} destination - The standard control, action, or JavaScript
* function that the route output is mapped to. For a function, the parameter can be either the name of the function or
@@ -64,8 +64,8 @@ class RouteBuilderProxy : public QObject {
/**jsdoc
* Processes the route only if a condition is satisfied. The condition is evaluated before the route input is read, and
* the input is read only if the condition is true . Thus, if the condition is not met then subsequent
- * routes using the same input are processed.
- * This is a QML-specific version of {@link MappingObject#to|to}: use this version in QML files.
+ * routes using the same input are processed.
+ * This is a QML-specific version of {@link MappingObject#when|when}: use this version in QML files.
* @function RouteObject#whenQml
* @param {condition|condition[]} expression - A condition may be a:
*
diff --git a/libraries/entities/src/EntityItemProperties.cpp b/libraries/entities/src/EntityItemProperties.cpp
index e45d05a1b5..b835cab40b 100644
--- a/libraries/entities/src/EntityItemProperties.cpp
+++ b/libraries/entities/src/EntityItemProperties.cpp
@@ -1217,10 +1217,10 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
* dimensions / voxelVolumesize .
* @property {string} voxelData="ABAAEAAQAAAAHgAAEAB42u3BAQ0AAADCoPdPbQ8HFAAAAPBuEAAAAQ==" - Base-64 encoded compressed dump of
* the PolyVox data. This property is typically not used in scripts directly; rather, functions that manipulate a PolyVox
- * entity update it.
- * The size of this property increases with the size and complexity of the PolyVox entity, with the size depending on how
+ * entity update it.
+ * The size of this property increases with the size and complexity of the PolyVox entity, with the size depending on how
* the particular entity's voxels compress. Because this property value has to fit within a High Fidelity datagram packet,
- * there is a limit to the size and complexity of a PolyVox entity; edits which would result in an overflow are rejected.
+ * there is a limit to the size and complexity of a PolyVox entity; edits which would result in an overflow are rejected.
* @property {Entities.PolyVoxSurfaceStyle} voxelSurfaceStyle=2 - The style of rendering the voxels' surface and how
* neighboring PolyVox entities are joined.
* @property {string} xTextureURL="" - The URL of the texture to map to surfaces perpendicular to the entity's local x-axis.
diff --git a/libraries/entities/src/EntityTypes.h b/libraries/entities/src/EntityTypes.h
index 4106eb8054..7f72c3f761 100644
--- a/libraries/entities/src/EntityTypes.h
+++ b/libraries/entities/src/EntityTypes.h
@@ -46,18 +46,18 @@ public:
* See also, the "Box" and "Sphere" entity types.
* {@link Entities.EntityProperties-Shape|EntityProperties-Shape} |
* "Box" | A rectangular prism. This is a synonym of "Shape" for the case
- * where the entity's shape property value is "Cube" .
- * If an entity is created with its type
+ * where the entity's shape property value is "Cube" .
+ * If an entity is created with its type
* set to "Box" it will always be created with a shape property value of
* "Cube" . If an entity of type Shape or Sphere has its shape set
- * to "Cube" then its type will be reported as "Box" .
+ * to "Cube" then its type will be reported as "Box" . |
* {@link Entities.EntityProperties-Box|EntityProperties-Box} |
* "Sphere" | A sphere. This is a synonym of "Shape" for the case
- * where the entity's shape property value is "Sphere" .
- * If an entity is created with its type
+ * where the entity's shape property value is "Sphere" .
+ * If an entity is created with its type
* set to "Sphere" it will always be created with a shape property value of
* "Sphere" . If an entity of type Box or Shape has its shape set
- * to "Sphere" then its type will be reported as "Sphere" .
+ * to "Sphere" then its type will be reported as "Sphere" . |
* {@link Entities.EntityProperties-Sphere|EntityProperties-Sphere} |
* "Model" | A mesh model from a glTF, FBX, or OBJ file. |
* {@link Entities.EntityProperties-Model|EntityProperties-Model} |
diff --git a/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp b/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp
index ac8e6b8053..b1746951bb 100755
--- a/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp
+++ b/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp
@@ -275,13 +275,15 @@ controller::Input KeyboardMouseDevice::InputDevice::makeInput(KeyboardMouseDevic
* MouseWheelLeft | number | number | The mouse wheel rotated left. The data value
* is the number of units rotated (typically 1.0 ). |
* MouseWheelUp | number | number | The mouse wheel rotated up. The data value
- * is the number of units rotated (typically 1.0 ).
- * Warning: The mouse wheel in an ordinary mouse generates left/right wheel events instead of
- * up/down. |
+ * is the number of units rotated (typically 1.0 ).
+ * Warning: The mouse wheel in an ordinary mouse generates left/right wheel events instead of
+ * up/down.
+ *
* MouseWheelDown | number | number | The mouse wheel rotated down. The data value
- * is the number of units rotated (typically 1.0 ).
- * Warning: The mouse wheel in an ordinary mouse generates left/right wheel events instead of
- * up/down. |
+ * is the number of units rotated (typically 1.0 ).
+ * Warning: The mouse wheel in an ordinary mouse generates left/right wheel events instead of
+ * up/down.
+ *
* TouchpadRight | number | number | The average touch on a touch-enabled device
* moved right. The data value is how far the average position of all touch points moved. |
* TouchpadLeft | number | number | The average touch on a touch-enabled device
diff --git a/libraries/networking/src/MessagesClient.h b/libraries/networking/src/MessagesClient.h
index b97c6d8360..7f2714e5ea 100644
--- a/libraries/networking/src/MessagesClient.h
+++ b/libraries/networking/src/MessagesClient.h
@@ -57,10 +57,10 @@ public:
* @param {string} channel - The channel to send the message on.
* @param {string} message - The message to send.
* @param {boolean} [localOnly=false] - If false then the message is sent to all Interface, client entity,
- * server entity, and assignment client scripts in the domain.
- * If true then: if sent from an Interface or client entity script it is received by all Interface and
+ * server entity, and assignment client scripts in the domain.
+ * If true then: if sent from an Interface or client entity script it is received by all Interface and
* client entity scripts; if sent from a server entity script it is received by all entity server scripts; and if sent
- * from an assignment client script it is received only by that same assignment client script.
+ * from an assignment client script it is received only by that same assignment client script.
* @example Send and receive a message.
* // Receiving script.
* var channelName = "com.highfidelity.example.messages-example";
@@ -105,10 +105,10 @@ public:
* @param {object} data - The data to send. The data is handled as a byte stream, for example, as may be provided via a
* JavaScript Int8Array object.
* @param {boolean} [localOnly=false] - If false then the message is sent to all Interface, client entity,
- * server entity, and assignment client scripts in the domain.
- * If true then: if sent from an Interface or client entity script it is received by all Interface and
+ * server entity, and assignment client scripts in the domain.
+ * If true then: if sent from an Interface or client entity script it is received by all Interface and
* client entity scripts; if sent from a server entity script it is received by all entity server scripts; and if sent
- * from an assignment client script it is received only by that same assignment client script.
+ * from an assignment client script it is received only by that same assignment client script.
* @example Send and receive data.
* // Receiving script.
* var channelName = "com.highfidelity.example.messages-example";
diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp
index 8337d1911a..4cf4a9fc42 100644
--- a/libraries/script-engine/src/ScriptEngine.cpp
+++ b/libraries/script-engine/src/ScriptEngine.cpp
@@ -1027,8 +1027,8 @@ void ScriptEngine::addEventHandler(const EntityItemID& entityID, const QString&
};
/**jsdoc
- * The name of an entity event. When the entity event occurs, any function that has been registered for that event via
- * {@link Script.addEventHandler} is called with parameters per the entity event.
+ * The name of an entity event. When the entity event occurs, any function that has been registered for that event via
+ * {@link Script.addEventHandler} is called with parameters per the entity event.
*
*
* Event Name | Entity Event |
diff --git a/libraries/ui/src/ui/TabletScriptingInterface.h b/libraries/ui/src/ui/TabletScriptingInterface.h
index ba02ba25b0..8cb28c2f20 100644
--- a/libraries/ui/src/ui/TabletScriptingInterface.h
+++ b/libraries/ui/src/ui/TabletScriptingInterface.h
@@ -69,7 +69,7 @@ class TabletScriptingInterface : public QObject, public Dependency {
public:
/**jsdoc
- * Standard tablet sounds.
+ * Standard tablet sounds.
*
*
* Value | Description |
From 19888fad036e1b6d3dabb6f72072faa16ba5e62a Mon Sep 17 00:00:00 2001
From: David Rowe
Date: Fri, 20 Sep 2019 08:35:23 +1200
Subject: [PATCH 05/22] Format findableBy and audioListenerMode property values
as lists
---
interface/src/avatar/MyAvatar.h | 10 ++++---
.../AccountServicesScriptingInterface.h | 26 +++++++++++--------
2 files changed, 21 insertions(+), 15 deletions(-)
diff --git a/interface/src/avatar/MyAvatar.h b/interface/src/avatar/MyAvatar.h
index 6cb9de9e96..fb9b605434 100644
--- a/interface/src/avatar/MyAvatar.h
+++ b/interface/src/avatar/MyAvatar.h
@@ -168,10 +168,12 @@ class MyAvatar : public Avatar {
* collision. It can be a mono or stereo 16-bit WAV file running at either 24kHz or 48kHz. The latter is down-sampled
* by the audio mixer, so all audio effectively plays back at a 24khz. 48kHz RAW files are also supported.
* @property {number} audioListenerMode=0 - Specifies the listening position when hearing spatialized audio. Must be one
- * of the following property values:
- * Myavatar.audioListenerModeHead
- * Myavatar.audioListenerModeCamera
- * Myavatar.audioListenerModeCustom
+ * of the following property values:
+ *
+ * MyAvatar.audioListenerModeHead
+ * MyAvatar.audioListenerModeCamera
+ * MyAvatar.audioListenerModeCustom
+ *
* @property {number} audioListenerModeHead=0 - The audio listening position is at the avatar's head. Read-only.
* @property {number} audioListenerModeCamera=1 - The audio listening position is at the camera. Read-only.
* @property {number} audioListenerModeCustom=2 - The audio listening position is at a the position specified by set by the
diff --git a/interface/src/scripting/AccountServicesScriptingInterface.h b/interface/src/scripting/AccountServicesScriptingInterface.h
index b188b4e63b..3ad637d0e6 100644
--- a/interface/src/scripting/AccountServicesScriptingInterface.h
+++ b/interface/src/scripting/AccountServicesScriptingInterface.h
@@ -50,12 +50,14 @@ class AccountServicesScriptingInterface : public QObject {
* "Unknown user" . Read-only.
* @property {boolean} loggedIn - true if the user is logged in, otherwise false .
* Read-only.
- * @property {string} findableBy - The user's visibility to other users:
- * "none" - user appears offline.
- * "friends" - user is visible only to friends.
- * "connections" - user is visible to friends and connections.
- * "all" - user is visible to everyone.
- * @property {string} metaverseServerURL - The metaverse server that the user is authenticated against when logged in
+ * @property {string} findableBy - The user's visibility to other users:
+ *
+ * "none" — user appears offline.
+ * "friends" — user is visible only to friends.
+ * "connections" — user is visible to friends and connections.
+ * "all" — user is visible to everyone.
+ *
+ * @property {string} metaverseServerURL - The metaverse server that the user is authenticated against when logged in
* — typically "https://metaverse.highfidelity.com" . Read-only.
*/
@@ -160,11 +162,13 @@ signals:
/**jsdoc
* Triggered when the user's visibility to others changes.
* @function AccountServices.findableByChanged
- * @param {string} findableBy - The user's visibility to other people:
- * "none" - user appears offline.
- * "friends" - user is visible only to friends.
- * "connections" - user is visible to friends and connections.
- * "all" - user is visible to everyone.
+ * @param {string} findableBy - The user's visibility to other people:
+ *
+ * "none" — user appears offline.
+ * "friends" — user is visible only to friends.
+ * "connections" — user is visible to friends and connections.
+ * "all" — user is visible to everyone.
+ *
* @returns {Signal}
* @example Report when your visiblity changes.
* AccountServices.findableByChanged.connect(function (findableBy) {
From 77fcda90c83b263e3942b748681c7937ebb3e7ff Mon Sep 17 00:00:00 2001
From: David Rowe
Date: Fri, 20 Sep 2019 08:50:06 +1200
Subject: [PATCH 06/22] Remove Description section from Global page
---
tools/jsdoc/hifi-jsdoc-template/tmpl/container.tmpl | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/container.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/container.tmpl
index c2aa955b80..a09b9276fc 100644
--- a/tools/jsdoc/hifi-jsdoc-template/tmpl/container.tmpl
+++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/container.tmpl
@@ -65,7 +65,8 @@
-
+
+
Description
From d02a111e691ee08659b761adbf7b8d4f0be8212d Mon Sep 17 00:00:00 2001
From: David Rowe
Date: Fri, 20 Sep 2019 09:18:44 +1200
Subject: [PATCH 07/22] Increase font sizes of Parameters and Example headings
and example code
---
.../jsdoc/hifi-jsdoc-template/static/styles/jsdoc.css | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/tools/jsdoc/hifi-jsdoc-template/static/styles/jsdoc.css b/tools/jsdoc/hifi-jsdoc-template/static/styles/jsdoc.css
index 7b666de37b..dd67a4da20 100644
--- a/tools/jsdoc/hifi-jsdoc-template/static/styles/jsdoc.css
+++ b/tools/jsdoc/hifi-jsdoc-template/static/styles/jsdoc.css
@@ -96,7 +96,7 @@ h6
.paramHeading, .typeDef h3.propsHeading, h3.subHeading
{
- font-size: .9rem;
+ font-size: 1rem;
font-family: "Proxima Nova";
font-weight: bold;
border-bottom: solid 1px #ddd;
@@ -108,9 +108,9 @@ h4.name
padding-bottom: 0px;
}
-h5, .container-overview .subsection-title
-{
- font-size: 13px;
+h5, .container-overview .subsection-title {
+ font-size: 1rem;
+ font-family: "Proxima Nova";
font-weight: bold;
margin-bottom: 5px;
}
@@ -546,7 +546,7 @@ header {
.prettyprint code
{
- font-size: 0.9em;
+ font-size: .95em;
line-height: 18px;
display: block;
padding: 4px 12px;
From 42bc9356ca38aa6591da45279ea9fa1921547db3 Mon Sep 17 00:00:00 2001
From: David Rowe
Date: Fri, 20 Sep 2019 09:23:09 +1200
Subject: [PATCH 08/22] Add Steam to list of limited commerce versions
---
interface/src/scripting/WalletScriptingInterface.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/interface/src/scripting/WalletScriptingInterface.h b/interface/src/scripting/WalletScriptingInterface.h
index 0decbbad11..e9535ceb4e 100644
--- a/interface/src/scripting/WalletScriptingInterface.h
+++ b/interface/src/scripting/WalletScriptingInterface.h
@@ -42,7 +42,7 @@ public:
* @property {WalletScriptingInterface.WalletStatus} walletStatus - The status of the user's wallet. Read-only.
* @property {boolean} limitedCommerce - true if Interface is running in limited commerce mode. In limited commerce
* mode, certain Interface functionalities are disabled, e.g., users can't buy items that are not free from the Marketplace.
- * The Oculus Store version of Interface runs in limited commerce mode. Read-only.
+ * The Oculus Store and Steam versions of Interface run in limited commerce mode. Read-only.
*/
class WalletScriptingInterface : public QObject, public Dependency {
Q_OBJECT
From c2e5748452be37169bf21220d5e7443ab8ddcb9f Mon Sep 17 00:00:00 2001
From: David Rowe
Date: Fri, 20 Sep 2019 10:16:43 +1200
Subject: [PATCH 09/22] Move classes' details above constructor
---
tools/jsdoc/hifi-jsdoc-template/tmpl/container.tmpl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/container.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/container.tmpl
index a09b9276fc..fccf5f7d31 100644
--- a/tools/jsdoc/hifi-jsdoc-template/tmpl/container.tmpl
+++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/container.tmpl
@@ -78,6 +78,7 @@
Description
+
-
Example 1? 's':'' ?>
From 34883990b4e1c3e5a589fc8f5b94e9b64f8b057b Mon Sep 17 00:00:00 2001
From: David Rowe
Date: Fri, 20 Sep 2019 10:19:02 +1200
Subject: [PATCH 10/22] Clarify which line3d overlay properties aren't working
---
interface/src/ui/overlays/Overlays.cpp | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/interface/src/ui/overlays/Overlays.cpp b/interface/src/ui/overlays/Overlays.cpp
index 730554366f..3289cb1594 100644
--- a/interface/src/ui/overlays/Overlays.cpp
+++ b/interface/src/ui/overlays/Overlays.cpp
@@ -1915,6 +1915,8 @@ QVector Overlays::findOverlays(const glm::vec3& center, float radius) {
* HUD surface.
* @property {boolean} grabbable=false - true if the overlay can be grabbed, false if it can't be.
* @property {Uuid} parentID=null - The avatar, entity, or overlay that the overlay is parented to.
+ * Currently doesn't work.
+ * @comment CURRENTLY BROKEN
* @property {number} parentJointIndex=65535 - Integer value specifying the joint of the entity or avatar that the entity is
* parented to if parentID is set. Use 65535 or -1 to parent to the parent's position and orientation rather
* than a joint.
@@ -1928,17 +1930,19 @@ QVector Overlays::findOverlays(const glm::vec3& center, float radius) {
* @comment CURRENTLY BROKEN
* @property {Vec3} start - The start point of the line. Synonyms: startPoint and p1 .
- * If parentID is set, use localStart to set the local position of the start point.
- * @comment CURRENTLY BROKEN
+ * Note: If parentID is set, use localStart to set the local position of the
+ * start point.
* @property {Vec3} end - The end point of the line. Synonyms: endPoint and p2 .
- * If parentID is set, use localEnd to set the local position of the end point.
- * @comment CURRENTLY BROKEN
+ * Note: If parentID is set, use localEnd to set the local position of the
+ * end point.
* @property {Vec3} localStart - The local position of the overlay relative to its parent if the overlay has a
* parentID set, otherwise the same value as start .
+ * Currently doesn't work.
* @comment CURRENTLY BROKEN
* @property {Vec3} localEnd - The local position of the overlay relative to its parent if the overlay has a
* endParentID set, otherwise the same value as end .
+ * Currently doesn't work.
* @comment CURRENTLY BROKEN
* @property {number} length - The length of the line, in meters. This can be set after creating a line with start and end
From 9d9317c50db1bc48df8cc488d36eba99971696e1 Mon Sep 17 00:00:00 2001
From: David Rowe
Date: Fri, 20 Sep 2019 10:19:45 +1200
Subject: [PATCH 11/22] Miscellaneous fixes and typos
---
interface/src/raypick/PickScriptingInterface.cpp | 16 +++++++++-------
.../src/scripting/WindowScriptingInterface.h | 4 ++--
.../src/avatars-renderer/Avatar.h | 2 +-
libraries/script-engine/src/Quat.h | 5 +++--
4 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/interface/src/raypick/PickScriptingInterface.cpp b/interface/src/raypick/PickScriptingInterface.cpp
index 54c9cbe277..3a7b67a8e9 100644
--- a/interface/src/raypick/PickScriptingInterface.cpp
+++ b/interface/src/raypick/PickScriptingInterface.cpp
@@ -78,7 +78,7 @@ PickFilter getPickFilter(unsigned int filter) {
* @property {boolean} [enabled=false] - true if this pick should start enabled, false if it should
* start disabled. Disabled picks do not update their pick results.
* @property {FilterFlags} [filter=0] - The filter for this pick to use. Construct using {@link Picks} FilterFlags property
- * values (e.g., Picks.PICK_DOMAIN_ENTTITIES ) combined with | (bitwise OR) operators.
+ * values (e.g., Picks.PICK_DOMAIN_ENTITIES ) combined with | (bitwise OR) operators.
* @property {number} [maxDistance=0.0] - The maximum distance at which this pick will intersect. A value of 0.0
* means no maximum.
* @property {Uuid} [parentID] - The ID of the parent: an avatar, an entity, or another pick.
@@ -164,7 +164,7 @@ std::shared_ptr PickScriptingInterface::buildRayPick(const QVariantMa
* @property {boolean} [enabled=false] - true if this pick should start enabled, false if it should
* start disabled. Disabled picks do not update their pick results.
* @property {number} [filter=0] - The filter for this pick to use. Construct using {@link Picks} FilterFlags property
- * values (e.g., Picks.PICK_DOMAIN_ENTTITIES ) combined with | (bitwise OR) operators.
+ * values (e.g., Picks.PICK_DOMAIN_ENTITIES ) combined with | (bitwise OR) operators.
* Note: Stylus picks do not intersect avatars or the HUD.
* @property {number} [maxDistance=0.0] - The maximum distance at which this pick will intersect. A value of 0.0
* means no maximum.
@@ -212,7 +212,7 @@ std::shared_ptr PickScriptingInterface::buildStylusPick(const QVarian
* @property {boolean} [enabled=false] - true if this pick should start enabled, false if it should
* start disabled. Disabled picks do not update their pick results.
* @property {number} [filter=0] - The filter for this pick to use. Construct using {@link Picks} FilterFlags property
- * values (e.g., Picks.PICK_DOMAIN_ENTTITIES ) combined with | (bitwise OR) operators.
+ * values (e.g., Picks.PICK_DOMAIN_ENTITIES ) combined with | (bitwise OR) operators.
* @property {number} [maxDistance=0.0] - The maximum distance at which this pick will intersect. A value of 0.0
* means no maximum.
* @property {Uuid} [parentID] - The ID of the parent: an avatar, an entity, or another pick.
@@ -321,7 +321,7 @@ std::shared_ptr PickScriptingInterface::buildParabolaPick(const QVari
* @property {boolean} [enabled=false] - true if this pick should start enabled, false if it should
* start disabled. Disabled picks do not update their pick results.
* @property {FilterFlags} [filter=0] - The filter for this pick to use. Construct using {@link Picks} FilterFlags property
- * values (e.g., Picks.PICK_DOMAIN_ENTTITIES ) combined with | (bitwise OR) operators.
+ * values (e.g., Picks.PICK_DOMAIN_ENTITIES ) combined with | (bitwise OR) operators.
* Note: Collision picks do not intersect the HUD.
* @property {number} [maxDistance=0.0] - The maximum distance at which this pick will intersect. A value of 0.0
* means no maximum.
@@ -344,9 +344,11 @@ std::shared_ptr PickScriptingInterface::buildParabolaPick(const QVari
* the collision region. The depth is in world coordinates but scales with the parent if defined.
* @property {CollisionMask} [collisionGroup=8] - The type of objects the collision region collides as. Objects whose collision
* masks overlap with the region's collision group are considered to be colliding with the region.
- * @property {PickType} pickType - The type of pick when getting these properties from {@link Picks.getPickProperties} or {@link Picks.getPickScriptParameters}. A collision pick's type is {@link PickType.Collision}.
- * @property {Vec3} baseScale - Returned from {@link Picks.getPickProperties} when the pick has a parent with varying scale (usually an avatar or an entity).
- * Its value is the original scale of the parent at the moment the pick was created, and is used to rescale the pick, and/or the pointer which owns this pick, if any.
+ * @property {PickType} pickType - The type of pick when getting these properties from {@link Picks.getPickProperties} or
+ * {@link Picks.getPickScriptParameters}. A collision pick's type is {@link PickType.Collision}.
+ * @property {Vec3} baseScale - Returned from {@link Picks.getPickProperties} when the pick has a parent with varying scale
+ * (usually an avatar or an entity). Its value is the original scale of the parent at the moment the pick was created, and
+ * is used to rescale the pick, and/or the pointer which owns this pick, if any.
*/
std::shared_ptr PickScriptingInterface::buildCollisionPick(const QVariantMap& propMap) {
bool enabled = false;
diff --git a/interface/src/scripting/WindowScriptingInterface.h b/interface/src/scripting/WindowScriptingInterface.h
index 45585e940a..341b012c2d 100644
--- a/interface/src/scripting/WindowScriptingInterface.h
+++ b/interface/src/scripting/WindowScriptingInterface.h
@@ -623,8 +623,8 @@ private slots:
signals:
/**jsdoc
- * Triggered when you change the domain you're visiting. Warning: Is not emitted if you go to a domain
- * that isn't running.
+ * Triggered when you change the domain you're visiting.
+ * Warning: Is not emitted if you go to a domain that isn't running.
* @function Window.domainChanged
* @param {string} domainURL - The domain's URL.
* @returns {Signal}
diff --git a/libraries/avatars-renderer/src/avatars-renderer/Avatar.h b/libraries/avatars-renderer/src/avatars-renderer/Avatar.h
index 7bb15ecbf7..a1827334d8 100644
--- a/libraries/avatars-renderer/src/avatars-renderer/Avatar.h
+++ b/libraries/avatars-renderer/src/avatars-renderer/Avatar.h
@@ -468,7 +468,7 @@ public:
/**jsdoc
* Sets the joint of the entity or avatar that the avatar is parented to.
* @function MyAvatar.setParentJointIndex
- * @param {number} parentJointIndex - he joint of the entity or avatar that the avatar should be parented to. Use
+ * @param {number} parentJointIndex - The joint of the entity or avatar that the avatar should be parented to. Use
* 65535 or -1 to parent to the entity or avatar's position and orientation rather than a
* joint.
*/
diff --git a/libraries/script-engine/src/Quat.h b/libraries/script-engine/src/Quat.h
index 1cd4802e48..44abe62b24 100644
--- a/libraries/script-engine/src/Quat.h
+++ b/libraries/script-engine/src/Quat.h
@@ -405,8 +405,9 @@ public slots:
void print(const QString& label, const glm::quat& q, bool asDegrees = false);
/**jsdoc
- * Tests whether two quaternions are equal. Note: The quaternions must be exactly equal in order for
- * true to be returned; it is often better to use {@link Quat(0).dot|Quat.dot} and test for closeness to +/-1.
+ * Tests whether two quaternions are equal.
+ * Note: The quaternions must be exactly equal in order for true to be returned; it is
+ * often better to use {@link Quat(0).dot|Quat.dot} and test for closeness to +/-1.
* @function Quat(0).equal
* @param {Quat} q1 - The first quaternion.
* @param {Quat} q2 - The second quaternion.
From 5a4ab1d43f5e258aee2376b583e090e20a1c3d91 Mon Sep 17 00:00:00 2001
From: David Rowe
Date: Fri, 20 Sep 2019 10:27:21 +1200
Subject: [PATCH 12/22] Missed typo
---
interface/src/raypick/PointerScriptingInterface.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/interface/src/raypick/PointerScriptingInterface.h b/interface/src/raypick/PointerScriptingInterface.h
index 0eed8b4741..2d2f3f6dae 100644
--- a/interface/src/raypick/PointerScriptingInterface.h
+++ b/interface/src/raypick/PointerScriptingInterface.h
@@ -41,7 +41,7 @@ public:
* @property {Controller.Standard|Controller.Actions|function} action - The controller output or function that triggers the
* events on the entity or overlay. If a function, it must return a number >= 1.0 to start the action
* and < 1.0 to terminate the action.
- * @property {string} button - Which button to trigger.
+ * @property {string} button - Which button to trigger:
*
* "Primary" , "Secondary" , and "Tertiary" cause {@link Entities} and
* {@link Overlays} mouse pointer events. Other button names also cause mouse events but the button
From fc0874a1822fdc83b1682ec57c5af96cbb49c97b Mon Sep 17 00:00:00 2001
From: Seth Alves
Date: Thu, 3 Oct 2019 17:11:53 -0700
Subject: [PATCH 13/22] new version of webrtc library for osx
---
cmake/ports/webrtc/portfile.cmake | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/cmake/ports/webrtc/portfile.cmake b/cmake/ports/webrtc/portfile.cmake
index 3f2fb7a6ab..b5b46723bd 100644
--- a/cmake/ports/webrtc/portfile.cmake
+++ b/cmake/ports/webrtc/portfile.cmake
@@ -14,9 +14,9 @@ elseif (WIN32)
elseif (APPLE)
vcpkg_download_distfile(
WEBRTC_SOURCE_ARCHIVE
- URLS https://hifi-public.s3.amazonaws.com/seth/webrtc-20190626-osx.tar.gz
- SHA512 fc70cec1b5ee87395137b7090f424e2fc2300fc17d744d5ffa1cf7aa0e0f1a069a9d72ba1ad2fb4a640ebeb6c218bda24351ba0083e1ff96c4a4b5032648a9d2
- FILENAME webrtc-20190626-osx.tar.gz
+ URLS https://hifi-public.s3.amazonaws.com/seth/webrtc-m78-osx.tar.gz
+ SHA512 8b547da921cc96f5c22b4253a1c9e707971bb627898fbdb6b238ef1318c7d2512e878344885c936d4bd6a66005cc5b63dfc3fa5ddd14f17f378dcaa17b5e25df
+ FILENAME webrtc-m78-osx.tar.gz
)
else ()
# else Linux desktop
From 570abba3ce67d17b6694efd759615bf07df06e52 Mon Sep 17 00:00:00 2001
From: David Rowe
Date: Tue, 8 Oct 2019 13:04:52 +1300
Subject: [PATCH 14/22] SpeechRecognizer JSDoc
---
interface/src/SpeechRecognizer.h | 64 +++++++++++++++++++++++++++++---
1 file changed, 59 insertions(+), 5 deletions(-)
diff --git a/interface/src/SpeechRecognizer.h b/interface/src/SpeechRecognizer.h
index 7e2acdb8ac..ae35f63a35 100644
--- a/interface/src/SpeechRecognizer.h
+++ b/interface/src/SpeechRecognizer.h
@@ -23,6 +23,10 @@
#include
/**jsdoc
+ * The SpeechRecognizer API provides facilities to recognize voice commands.
+ * Speech recognition is enabled or disabled via the Developer > Scripting > Enable Speech Control API menu item or
+ * the {@link SpeechRecognizer.setEnabled} method.
+ *
* @namespace SpeechRecognizer
*
* @hifi-interface
@@ -40,36 +44,86 @@ public:
public slots:
/**jsdoc
+ * Enables or disables speech recognition.
* @function SpeechRecognizer.setEnabled
- * @param {boolean} enabled
+ * @param {boolean} enabled - true to enable speech recognition, false to disable.
*/
void setEnabled(bool enabled);
/**jsdoc
+ * Adds a voice command to the speech recognizer.
* @function SpeechRecognizer.addCommand
- * @param {string} command
+ * @param {string} command - The voice command to recognize.
*/
void addCommand(const QString& command);
/**jsdoc
+ * Removes a voice command from the speech recognizer.
* @function SpeechRecognizer.removeCommand
- * @param {string} command
+ * @param {string} command - The voice command to stop recognizing.
*/
void removeCommand(const QString& command);
signals:
/**jsdoc
+ * Triggered when a voice command has been recognized.
* @function SpeechRecognizer.commandRecognized
- * @param {string} command
+ * @param {string} command - The voice command recognized.
* @returns {Signal}
+ * @example Turn your avatar upon voice command.
+ * var TURN_LEFT = "turn left";
+ * var TURN_RIGHT = "turn right";
+ * var TURN_RATE = 0.5;
+ * var TURN_DURATION = 1000; // ms
+ * var turnRate = 0;
+ *
+ * function getTurnRate() {
+ * return turnRate;
+ * }
+ *
+ * var MAPPING_NAME = "com.highfidelity.controllers.example.speechRecognizer";
+ * var mapping = Controller.newMapping(MAPPING_NAME);
+ *
+ * mapping.from(getTurnRate).to(Controller.Actions.Yaw);
+ * Controller.enableMapping(MAPPING_NAME);
+ *
+ * function onCommandRecognized(command) {
+ * print("Speech command: " + command);
+ * switch (command) {
+ * case TURN_LEFT:
+ * turnRate = -TURN_RATE;
+ * break;
+ * case TURN_RIGHT:
+ * turnRate = TURN_RATE;
+ * break;
+ * }
+ * Script.setTimeout(function () {
+ * turnRate = 0;
+ * }, TURN_DURATION);
+ * }
+ *
+ * SpeechRecognizer.addCommand(TURN_LEFT);
+ * SpeechRecognizer.addCommand(TURN_RIGHT);
+ * SpeechRecognizer.commandRecognized.connect(onCommandRecognized);
+ *
+ * Script.scriptEnding.connect(function () {
+ * Controller.disableMapping(MAPPING_NAME);
+ * SpeechRecognizer.removeCommand(TURN_LEFT);
+ * SpeechRecognizer.removeCommand(TURN_RIGHT);
+ * });
*/
void commandRecognized(const QString& command);
/**jsdoc
+ * Triggered when speech recognition is enabled or disabled.
* @function SpeechRecognizer.enabledUpdated
- * @param {boolean} enabled
+ * @param {boolean} enabled - true if speech recognition is enabled, false if it is disabled.
* @returns {Signal}
+ * @example Report when speech recognition is enabled or disabled.
+ * SpeechRecognizer.enabledUpdated.connect(function (enabled) {
+ * print("Speech recognition: " + (enabled ? "enabled" : "disabled"));
+ * });
*/
void enabledUpdated(bool enabled);
From f73a7c088380796f761171a8bb670564c558dff4 Mon Sep 17 00:00:00 2001
From: Simon Walton
Date: Mon, 7 Oct 2019 17:35:14 -0700
Subject: [PATCH 15/22] Modified AC logging for paging requirements
---
assignment-client/src/AssignmentClient.cpp | 24 +++++++++++++-------
assignment-client/src/AssignmentFactory.cpp | 4 +++-
libraries/networking/src/LimitedNodeList.cpp | 6 +++--
3 files changed, 23 insertions(+), 11 deletions(-)
diff --git a/assignment-client/src/AssignmentClient.cpp b/assignment-client/src/AssignmentClient.cpp
index a1a2b7c1b5..ce724d7368 100644
--- a/assignment-client/src/AssignmentClient.cpp
+++ b/assignment-client/src/AssignmentClient.cpp
@@ -82,6 +82,9 @@ AssignmentClient::AssignmentClient(Assignment::Type requestAssignmentType, QStri
}
_assignmentServerSocket = HifiSockAddr(_assignmentServerHostname, assignmentServerPort, true);
+ if (_assignmentServerSocket.isNull()) {
+ qCCritical(assignment_client) << "PAGE: Couldn't resolve domain server address" << _assignmentServerHostname;
+ }
_assignmentServerSocket.setObjectName("AssignmentServer");
nodeList->setAssignmentServerSocket(_assignmentServerSocket);
@@ -183,16 +186,21 @@ void AssignmentClient::sendAssignmentRequest() {
// we want to check again for the local domain-server port in case the DS has restarted
quint16 localAssignmentServerPort;
if (nodeList->getLocalServerPortFromSharedMemory(DOMAIN_SERVER_LOCAL_PORT_SMEM_KEY, localAssignmentServerPort)) {
- if (localAssignmentServerPort != _assignmentServerSocket.getPort()) {
- qCDebug(assignment_client) << "Port for local assignment server read from shared memory is"
- << localAssignmentServerPort;
+ if (localAssignmentServerPort == 0) {
+ qCWarning(assignment_client) << "ALERT: Server port from shared memory is 0";
+ } else {
+ if (localAssignmentServerPort != _assignmentServerSocket.getPort()) {
+ qCDebug(assignment_client) << "Port for local assignment server read from shared memory is"
+ << localAssignmentServerPort;
- _assignmentServerSocket.setPort(localAssignmentServerPort);
- nodeList->setAssignmentServerSocket(_assignmentServerSocket);
+ _assignmentServerSocket.setPort(localAssignmentServerPort);
+ nodeList->setAssignmentServerSocket(_assignmentServerSocket);
+ }
}
} else {
- qCWarning(assignment_client) << "Failed to read local assignment server port from shared memory"
- << "- will send assignment request to previous assignment server socket.";
+ qCWarning(assignment_client) << "ALERT: Failed to read local assignment server port from shared memory ("
+ << DOMAIN_SERVER_LOCAL_PORT_SMEM_KEY
+ << ")- will send assignment request to previous assignment server socket.";
}
}
@@ -250,7 +258,7 @@ void AssignmentClient::handleCreateAssignmentPacket(QSharedPointerstarted()
workerThread->start();
} else {
- qCWarning(assignment_client) << "Received an assignment that could not be unpacked. Re-requesting.";
+ qCWarning(assignment_client) << "ALERT: Received an assignment that could not be unpacked. Re-requesting.";
}
}
diff --git a/assignment-client/src/AssignmentFactory.cpp b/assignment-client/src/AssignmentFactory.cpp
index 405039d833..ef7da35030 100644
--- a/assignment-client/src/AssignmentFactory.cpp
+++ b/assignment-client/src/AssignmentFactory.cpp
@@ -24,7 +24,9 @@
ThreadedAssignment* AssignmentFactory::unpackAssignment(ReceivedMessage& message) {
quint8 packedType;
- message.peekPrimitive(&packedType);
+ if (message.readPrimitive(&packedType) != sizeof(packedType)) {
+ return nullptr;
+ }
Assignment::Type unpackedType = (Assignment::Type) packedType;
diff --git a/libraries/networking/src/LimitedNodeList.cpp b/libraries/networking/src/LimitedNodeList.cpp
index ecf2218e2f..e1b373db89 100644
--- a/libraries/networking/src/LimitedNodeList.cpp
+++ b/libraries/networking/src/LimitedNodeList.cpp
@@ -1329,7 +1329,8 @@ void LimitedNodeList::putLocalPortIntoSharedMemory(const QString key, QObject* p
qCDebug(networking) << "Wrote local listening port" << localPort << "to shared memory at key" << key;
} else {
- qWarning() << "ALERT: Failed to create and attach to shared memory to share local port with assignment-client children.";
+ qWarning() << "ALERT: Failed to create and attach to shared memory to share local port with assignment-client children:"
+ << sharedPortMem->errorString();
}
}
@@ -1337,7 +1338,8 @@ void LimitedNodeList::putLocalPortIntoSharedMemory(const QString key, QObject* p
bool LimitedNodeList::getLocalServerPortFromSharedMemory(const QString key, quint16& localPort) {
QSharedMemory sharedMem(key);
if (!sharedMem.attach(QSharedMemory::ReadOnly)) {
- qCWarning(networking) << "Could not attach to shared memory at key" << key;
+ qCWarning(networking) << "Could not attach to shared memory at key" << key
+ << ":" << sharedMem.errorString();
return false;
} else {
sharedMem.lock();
From 1106d8fdfa3ec9b8cfab6790273b2e37361a5df3 Mon Sep 17 00:00:00 2001
From: David Rowe
Date: Tue, 8 Oct 2019 21:15:16 +1300
Subject: [PATCH 16/22] Doc review
---
interface/src/ui/overlays/Overlays.cpp | 2 +-
libraries/animation/src/AnimInverseKinematics.h | 2 +-
libraries/controllers/src/controllers/Actions.cpp | 12 ++++++------
libraries/midi/src/Midi.h | 2 +-
4 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/interface/src/ui/overlays/Overlays.cpp b/interface/src/ui/overlays/Overlays.cpp
index 3289cb1594..5e43c5df8d 100644
--- a/interface/src/ui/overlays/Overlays.cpp
+++ b/interface/src/ui/overlays/Overlays.cpp
@@ -1934,7 +1934,7 @@ QVector Overlays::findOverlays(const glm::vec3& center, float radius) {
* start point.
* @property {Vec3} end - The end point of the line. Synonyms: endPoint and p2 .
* Note: If parentID is set, use localEnd to set the local position of the
- * end point.
+ * end point.
* @property {Vec3} localStart - The local position of the overlay relative to its parent if the overlay has a
* parentID set, otherwise the same value as start .
diff --git a/libraries/animation/src/AnimInverseKinematics.h b/libraries/animation/src/AnimInverseKinematics.h
index 959a504e79..bcad7867cc 100644
--- a/libraries/animation/src/AnimInverseKinematics.h
+++ b/libraries/animation/src/AnimInverseKinematics.h
@@ -75,7 +75,7 @@ public:
* close to the previous solution, but still provides the benefits of avoiding limb locking.
* 2 | PreviousSolution |
* The IK system will begin to solve from the same position and orientations for each joint that was the result
- * from the previous frame.
+ * from the previous frame.
* Pros: As the end effectors typically do not move much from frame to frame, this is likely to converge quickly
* to a valid solution.
* Cons: If the previous solution resulted in an awkward or uncomfortable posture, the next frame will also be
diff --git a/libraries/controllers/src/controllers/Actions.cpp b/libraries/controllers/src/controllers/Actions.cpp
index 23f7509d9d..6be0a5a800 100644
--- a/libraries/controllers/src/controllers/Actions.cpp
+++ b/libraries/controllers/src/controllers/Actions.cpp
@@ -44,7 +44,7 @@ namespace controller {
* | Property | Type | Data | Description |
*
*
- * Avatar Movement |
+ * Avatar Movement |
* TranslateX | number | number | Move the user's avatar in the direction of its
* x-axis, if the camera isn't in independent or mirror modes. |
* TranslateY | number | number | Move the user's avatar in the direction of its
@@ -71,7 +71,7 @@ namespace controller {
* step increment, if the camera isn't in independent or mirror modes. |
* StepRoll | number | number | No action. |
*
- * Avatar Skeleton |
+ * Avatar Skeleton |
* Hips | number | {@link Pose} | Set the hips pose of the user's avatar.
* |
* Spine2 | number | {@link Pose} | Set the spine2 pose of the user's avatar.
@@ -171,7 +171,7 @@ namespace controller {
* | RightFoot | number | {@link Pose} | Set the right foot pose of the user's
* avatar. |
*
- * Application |
+ * Application |
* BoomIn | number | number | Zoom camera in from third person toward first
* person view. |
* BoomOut | number | number | Zoom camera out from first person to third
@@ -212,7 +212,7 @@ namespace controller {
* | SecondaryAction | number | number | Deprecated: This
* action is deprecated and will be removed. It takes no action. |
*
- * Aliases |
+ * Aliases |
* Backward | number | number | Alias for TranslateZ in the
* positive direction. |
* Forward | number | number | Alias for TranslateZ in the negative
@@ -234,7 +234,7 @@ namespace controller {
* | YawRight | number | number | Alias for Yaw in the negative
* direction. |
*
- * Deprecated Aliases |
+ * Deprecated Aliases |
* LEFT_HAND | number | {@link Pose} | Deprecated: This
* action is deprecated and will be removed. Use LeftHand instead. |
* RIGHT_HAND | number | {@link Pose} | Deprecated: This
@@ -282,7 +282,7 @@ namespace controller {
* ACTION2 | number | number | Deprecated: This
* action is deprecated and will be removed. Use SecondaryAction instead. |
*
- * Deprecated Trackers |
+ * Deprecated Trackers |
* TrackedObject00 | number | {@link Pose} | Deprecated:
* This action is deprecated and will be removed. It takes no action. |
* TrackedObject01 | number | {@link Pose} | Deprecated:
diff --git a/libraries/midi/src/Midi.h b/libraries/midi/src/Midi.h
index d103d05218..5b7c82d6da 100644
--- a/libraries/midi/src/Midi.h
+++ b/libraries/midi/src/Midi.h
@@ -23,7 +23,7 @@
/**jsdoc
* The Midi API provides the ability to connect Interface with musical instruments and other external or virtual
* devices via the MIDI protocol. For further information and examples, see the tutorial:
- * Use MIDI to Control Your Environment.
+ * Use MIDI to Control Your Environment.
*
* Note: Only works on Windows.
*
From 5576132df7a8f28df113022b8e6e0de601f47ed5 Mon Sep 17 00:00:00 2001
From: luiscuenca
Date: Tue, 8 Oct 2019 10:13:58 -0700
Subject: [PATCH 17/22] Fix strafe while flying, and ramp up diagonal movement
---
interface/src/avatar/MyAvatar.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp
index de6ae526b4..7c8f675b3e 100644
--- a/interface/src/avatar/MyAvatar.cpp
+++ b/interface/src/avatar/MyAvatar.cpp
@@ -3560,7 +3560,7 @@ void MyAvatar::updateOrientation(float deltaTime) {
if (faceForward || _shouldTurnToFaceCamera) {
const float REORIENT_FORWARD_BLEND = 0.25f;
const float REORIENT_TURN_BLEND = 0.03f;
- const float DIAGONAL_TURN_BLEND = 0.02f;
+ const float DIAGONAL_TURN_BLEND = 0.1f;
float blend = (_shouldTurnToFaceCamera ? REORIENT_TURN_BLEND : REORIENT_FORWARD_BLEND) * timeScale;
if (blend > 1.0f) {
blend = 1.0f;
@@ -3772,7 +3772,8 @@ glm::vec3 MyAvatar::scaleMotorSpeed(const glm::vec3 forward, const glm::vec3 rig
// Desktop mode.
direction = (zSpeed * forward) + (xSpeed * right);
CameraMode mode = qApp->getCamera().getMode();
- if ((mode == CAMERA_MODE_LOOK_AT || mode == CAMERA_MODE_FIRST_PERSON || mode == CAMERA_MODE_SELFIE) && zSpeed != 0.0f && xSpeed != 0.0f){
+ if ((mode == CAMERA_MODE_LOOK_AT || mode == CAMERA_MODE_FIRST_PERSON || mode == CAMERA_MODE_SELFIE) &&
+ zSpeed != 0.0f && xSpeed != 0.0f && !isFlying()){
direction = (zSpeed * forward);
}
From f63360a87a361448b75680155a4662da42168b77 Mon Sep 17 00:00:00 2001
From: Simon Walton
Date: Tue, 8 Oct 2019 11:01:42 -0700
Subject: [PATCH 18/22] Change read back to peek - guess it was that way for a
reason
---
assignment-client/src/AssignmentFactory.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/assignment-client/src/AssignmentFactory.cpp b/assignment-client/src/AssignmentFactory.cpp
index ef7da35030..ceab285763 100644
--- a/assignment-client/src/AssignmentFactory.cpp
+++ b/assignment-client/src/AssignmentFactory.cpp
@@ -24,7 +24,7 @@
ThreadedAssignment* AssignmentFactory::unpackAssignment(ReceivedMessage& message) {
quint8 packedType;
- if (message.readPrimitive(&packedType) != sizeof(packedType)) {
+ if (message.peekPrimitive(&packedType) != sizeof(packedType)) {
return nullptr;
}
From 960440e802f0f07165e93dd5c3bf28a23ca60093 Mon Sep 17 00:00:00 2001
From: Zach Fox
Date: Tue, 8 Oct 2019 14:28:01 -0400
Subject: [PATCH 19/22] DEV-2352: Modify Release Notes URL
---
interface/src/Menu.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp
index 89fec3c812..b66bc9c1c4 100644
--- a/interface/src/Menu.cpp
+++ b/interface/src/Menu.cpp
@@ -829,7 +829,7 @@ Menu::Menu() {
// Help > Release Notes
action = addActionToQMenuAndActionHash(helpMenu, "Release Notes");
connect(action, &QAction::triggered, qApp, [] {
- QDesktopServices::openUrl(QUrl("http://steamcommunity.com/games/390540/announcements/"));
+ QDesktopServices::openUrl(QUrl("https://docs.highfidelity.com/release-notes.html"));
});
// Help > Report a Bug!
From 9feab869ad56b892426110c48d966d84f1a16d7f Mon Sep 17 00:00:00 2001
From: Zach Fox
Date: Tue, 8 Oct 2019 14:48:19 -0400
Subject: [PATCH 20/22] DEV-2350: Prevent duplicate default scripts from
running
---
scripts/defaultScripts.js | 53 ++++++++++++++++++++++++++++++++++-----
1 file changed, 47 insertions(+), 6 deletions(-)
diff --git a/scripts/defaultScripts.js b/scripts/defaultScripts.js
index 6f0dd40493..7f78d2477f 100644
--- a/scripts/defaultScripts.js
+++ b/scripts/defaultScripts.js
@@ -71,23 +71,63 @@ if (Menu.menuExists(MENU_CATEGORY) && !Menu.menuItemExists(MENU_CATEGORY, MENU_I
}
function loadSeparateDefaults() {
+ var currentlyRunningScripts = ScriptDiscoveryService.getRunning();
+
for (var i in DEFAULT_SCRIPTS_SEPARATE) {
- Script.load(DEFAULT_SCRIPTS_SEPARATE[i]);
+ var shouldLoadCurrentDefaultScript = true;
+
+ for (var j = 0; j < currentlyRunningScripts.length; j++) {
+ var currentRunningScriptObject = currentlyRunningScripts[j];
+ var currentDefaultScriptName = DEFAULT_SCRIPTS_SEPARATE[i].substr((DEFAULT_SCRIPTS_SEPARATE[i].lastIndexOf("/") + 1), DEFAULT_SCRIPTS_SEPARATE[i].length);
+ if (currentDefaultScriptName === currentRunningScriptObject.name) {
+ shouldLoadCurrentDefaultScript = false;
+ }
+ }
+
+ if (shouldLoadCurrentDefaultScript) {
+ Script.load(DEFAULT_SCRIPTS_SEPARATE[i]);
+ }
}
}
function runDefaultsTogether() {
- for (var i in DEFAULT_SCRIPTS_COMBINED) {
- Script.include(DEFAULT_SCRIPTS_COMBINED[i]);
+ var currentlyRunningScripts = ScriptDiscoveryService.getRunning();
+
+ for (var i = 0; i < DEFAULT_SCRIPTS_COMBINED.length; i++) {
+ var shouldIncludeCurrentDefaultScript = true;
+
+ for (var j = 0; j < currentlyRunningScripts.length; j++) {
+ var currentRunningScriptObject = currentlyRunningScripts[j];
+ var currentDefaultScriptName = DEFAULT_SCRIPTS_COMBINED[i].substr((DEFAULT_SCRIPTS_COMBINED[i].lastIndexOf("/") + 1), DEFAULT_SCRIPTS_COMBINED[i].length);
+ if (currentDefaultScriptName === currentRunningScriptObject.name) {
+ shouldIncludeCurrentDefaultScript = false;
+ }
+ }
+
+ if (shouldIncludeCurrentDefaultScript) {
+ Script.include(DEFAULT_SCRIPTS_COMBINED[i]);
+ }
}
- loadSeparateDefaults();
}
function runDefaultsSeparately() {
+ var currentlyRunningScripts = ScriptDiscoveryService.getRunning();
+
for (var i in DEFAULT_SCRIPTS_COMBINED) {
- Script.load(DEFAULT_SCRIPTS_COMBINED[i]);
+ var shouldLoadCurrentDefaultScript = true;
+
+ for (var j = 0; j < currentlyRunningScripts.length; j++) {
+ var currentRunningScriptObject = currentlyRunningScripts[j];
+ var currentDefaultScriptName = DEFAULT_SCRIPTS_COMBINED[i].substr((DEFAULT_SCRIPTS_COMBINED[i].lastIndexOf("/") + 1), DEFAULT_SCRIPTS_COMBINED[i].length);
+ if (currentDefaultScriptName === currentRunningScriptObject.name) {
+ shouldLoadCurrentDefaultScript = false;
+ }
+ }
+
+ if (shouldLoadCurrentDefaultScript) {
+ Script.load(DEFAULT_SCRIPTS_COMBINED[i]);
+ }
}
- loadSeparateDefaults();
}
// start all scripts
@@ -99,6 +139,7 @@ if (Menu.isOptionChecked(MENU_ITEM)) {
// include all default scripts into this ScriptEngine
runDefaultsTogether();
}
+loadSeparateDefaults();
function menuItemEvent(menuItem) {
if (menuItem === MENU_ITEM) {
From 092424569d04c72f0092b8398e67ac1801934cf3 Mon Sep 17 00:00:00 2001
From: RebeccaStankus
Date: Tue, 8 Oct 2019 11:55:14 -0700
Subject: [PATCH 21/22] Added flag to ensure mouse event signals are not
connected twice
---
.../src/EntityTreeRenderer.cpp | 82 ++++++++++---------
.../controllers/controllerDispatcher.js | 4 +
2 files changed, 48 insertions(+), 38 deletions(-)
diff --git a/libraries/entities-renderer/src/EntityTreeRenderer.cpp b/libraries/entities-renderer/src/EntityTreeRenderer.cpp
index 52738bb6cd..94a5ca76f7 100644
--- a/libraries/entities-renderer/src/EntityTreeRenderer.cpp
+++ b/libraries/entities-renderer/src/EntityTreeRenderer.cpp
@@ -157,6 +157,7 @@ render::ItemID EntityTreeRenderer::renderableIdForEntityId(const EntityItemID& i
}
int EntityTreeRenderer::_entitiesScriptEngineCount = 0;
+bool _signalsConnected = false;
void EntityTreeRenderer::resetEntitiesScriptEngine() {
_entitiesScriptEngine = scriptEngineFactory(ScriptEngine::ENTITY_CLIENT_SCRIPT, NO_SCRIPT,
@@ -168,47 +169,52 @@ void EntityTreeRenderer::resetEntitiesScriptEngine() {
entityScriptingInterface->setEntitiesScriptEngine(entitiesScriptEngineProvider);
// Connect mouse events to entity script callbacks
- connect(entityScriptingInterface.data(), &EntityScriptingInterface::mousePressOnEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
- _entitiesScriptEngine->callEntityScriptMethod(entityID, "mousePressOnEntity", event);
- });
- connect(entityScriptingInterface.data(), &EntityScriptingInterface::mouseDoublePressOnEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
- _entitiesScriptEngine->callEntityScriptMethod(entityID, "mouseDoublePressOnEntity", event);
- });
- connect(entityScriptingInterface.data(), &EntityScriptingInterface::mouseMoveOnEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
- _entitiesScriptEngine->callEntityScriptMethod(entityID, "mouseMoveOnEntity", event);
- // FIXME: this is a duplicate of mouseMoveOnEntity, but it seems like some scripts might use this naming
- _entitiesScriptEngine->callEntityScriptMethod(entityID, "mouseMoveEvent", event);
- });
- connect(entityScriptingInterface.data(), &EntityScriptingInterface::mouseReleaseOnEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
- _entitiesScriptEngine->callEntityScriptMethod(entityID, "mouseReleaseOnEntity", event);
- });
+ if (!_signalsConnected) {
+
+ connect(entityScriptingInterface.data(), &EntityScriptingInterface::mousePressOnEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
+ _entitiesScriptEngine->callEntityScriptMethod(entityID, "mousePressOnEntity", event);
+ });
+ connect(entityScriptingInterface.data(), &EntityScriptingInterface::mouseDoublePressOnEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
+ _entitiesScriptEngine->callEntityScriptMethod(entityID, "mouseDoublePressOnEntity", event);
+ });
+ connect(entityScriptingInterface.data(), &EntityScriptingInterface::mouseMoveOnEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
+ _entitiesScriptEngine->callEntityScriptMethod(entityID, "mouseMoveOnEntity", event);
+ // FIXME: this is a duplicate of mouseMoveOnEntity, but it seems like some scripts might use this naming
+ _entitiesScriptEngine->callEntityScriptMethod(entityID, "mouseMoveEvent", event);
+ });
+ connect(entityScriptingInterface.data(), &EntityScriptingInterface::mouseReleaseOnEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
+ _entitiesScriptEngine->callEntityScriptMethod(entityID, "mouseReleaseOnEntity", event);
+ });
- connect(entityScriptingInterface.data(), &EntityScriptingInterface::clickDownOnEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
- _entitiesScriptEngine->callEntityScriptMethod(entityID, "clickDownOnEntity", event);
- });
- connect(entityScriptingInterface.data(), &EntityScriptingInterface::holdingClickOnEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
- _entitiesScriptEngine->callEntityScriptMethod(entityID, "holdingClickOnEntity", event);
- });
- connect(entityScriptingInterface.data(), &EntityScriptingInterface::clickReleaseOnEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
- _entitiesScriptEngine->callEntityScriptMethod(entityID, "clickReleaseOnEntity", event);
- });
+ connect(entityScriptingInterface.data(), &EntityScriptingInterface::clickDownOnEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
+ _entitiesScriptEngine->callEntityScriptMethod(entityID, "clickDownOnEntity", event);
+ });
+ connect(entityScriptingInterface.data(), &EntityScriptingInterface::holdingClickOnEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
+ _entitiesScriptEngine->callEntityScriptMethod(entityID, "holdingClickOnEntity", event);
+ });
+ connect(entityScriptingInterface.data(), &EntityScriptingInterface::clickReleaseOnEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
+ _entitiesScriptEngine->callEntityScriptMethod(entityID, "clickReleaseOnEntity", event);
+ });
- connect(entityScriptingInterface.data(), &EntityScriptingInterface::hoverEnterEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
- _entitiesScriptEngine->callEntityScriptMethod(entityID, "hoverEnterEntity", event);
- });
- connect(entityScriptingInterface.data(), &EntityScriptingInterface::hoverOverEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
- _entitiesScriptEngine->callEntityScriptMethod(entityID, "hoverOverEntity", event);
- });
- connect(entityScriptingInterface.data(), &EntityScriptingInterface::hoverLeaveEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
- _entitiesScriptEngine->callEntityScriptMethod(entityID, "hoverLeaveEntity", event);
- });
+ connect(entityScriptingInterface.data(), &EntityScriptingInterface::hoverEnterEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
+ _entitiesScriptEngine->callEntityScriptMethod(entityID, "hoverEnterEntity", event);
+ });
+ connect(entityScriptingInterface.data(), &EntityScriptingInterface::hoverOverEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
+ _entitiesScriptEngine->callEntityScriptMethod(entityID, "hoverOverEntity", event);
+ });
+ connect(entityScriptingInterface.data(), &EntityScriptingInterface::hoverLeaveEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
+ _entitiesScriptEngine->callEntityScriptMethod(entityID, "hoverLeaveEntity", event);
+ });
- connect(_entitiesScriptEngine.data(), &ScriptEngine::entityScriptPreloadFinished, [&](const EntityItemID& entityID) {
- EntityItemPointer entity = getTree()->findEntityByID(entityID);
- if (entity) {
- entity->setScriptHasFinishedPreload(true);
- }
- });
+ connect(_entitiesScriptEngine.data(), &ScriptEngine::entityScriptPreloadFinished, [&](const EntityItemID& entityID) {
+ EntityItemPointer entity = getTree()->findEntityByID(entityID);
+ if (entity) {
+ entity->setScriptHasFinishedPreload(true);
+ }
+ });
+
+ _signalsConnected = true;
+ }
}
void EntityTreeRenderer::stopDomainAndNonOwnedEntities() {
diff --git a/scripts/system/controllers/controllerDispatcher.js b/scripts/system/controllers/controllerDispatcher.js
index cf365a4119..f0d3ec0c03 100644
--- a/scripts/system/controllers/controllerDispatcher.js
+++ b/scripts/system/controllers/controllerDispatcher.js
@@ -595,6 +595,10 @@ Script.include("/~/system/libraries/controllerDispatcherUtils.js");
Controller.disableMapping(MAPPING_NAME);
_this.pointerManager.removePointers();
Pointers.removePointer(this.mouseRayPointer);
+ Overlays.mouseReleaseOnOverlay.disconnect(mouseReleaseOnOverlay);
+ Overlays.mousePressOnOverlay.disconnect(mousePress);
+ Entities.mousePressOnEntity.disconnect(mousePress);
+ Messages.messageReceived.disconnect(controllerDispatcher.handleMessage);
};
}
From 458d3bfb4864f8c7657173f51b78e8288fb02237 Mon Sep 17 00:00:00 2001
From: RebeccaStankus
Date: Tue, 8 Oct 2019 13:15:27 -0700
Subject: [PATCH 22/22] Renamed variable and made it private
---
libraries/entities-renderer/src/EntityTreeRenderer.cpp | 5 ++---
libraries/entities-renderer/src/EntityTreeRenderer.h | 2 ++
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/libraries/entities-renderer/src/EntityTreeRenderer.cpp b/libraries/entities-renderer/src/EntityTreeRenderer.cpp
index 94a5ca76f7..ab3f4c5243 100644
--- a/libraries/entities-renderer/src/EntityTreeRenderer.cpp
+++ b/libraries/entities-renderer/src/EntityTreeRenderer.cpp
@@ -157,7 +157,6 @@ render::ItemID EntityTreeRenderer::renderableIdForEntityId(const EntityItemID& i
}
int EntityTreeRenderer::_entitiesScriptEngineCount = 0;
-bool _signalsConnected = false;
void EntityTreeRenderer::resetEntitiesScriptEngine() {
_entitiesScriptEngine = scriptEngineFactory(ScriptEngine::ENTITY_CLIENT_SCRIPT, NO_SCRIPT,
@@ -169,7 +168,7 @@ void EntityTreeRenderer::resetEntitiesScriptEngine() {
entityScriptingInterface->setEntitiesScriptEngine(entitiesScriptEngineProvider);
// Connect mouse events to entity script callbacks
- if (!_signalsConnected) {
+ if (!_mouseAndPreloadSignalHandlersConnected) {
connect(entityScriptingInterface.data(), &EntityScriptingInterface::mousePressOnEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
_entitiesScriptEngine->callEntityScriptMethod(entityID, "mousePressOnEntity", event);
@@ -213,7 +212,7 @@ void EntityTreeRenderer::resetEntitiesScriptEngine() {
}
});
- _signalsConnected = true;
+ _mouseAndPreloadSignalHandlersConnected = true;
}
}
diff --git a/libraries/entities-renderer/src/EntityTreeRenderer.h b/libraries/entities-renderer/src/EntityTreeRenderer.h
index b9fda690dd..6dbaedc123 100644
--- a/libraries/entities-renderer/src/EntityTreeRenderer.h
+++ b/libraries/entities-renderer/src/EntityTreeRenderer.h
@@ -210,6 +210,8 @@ private:
std::function _getPrevRayPickResultOperator;
std::function _setPrecisionPickingOperator;
+ bool _mouseAndPreloadSignalHandlersConnected { false };
+
class LayeredZone {
public:
LayeredZone(std::shared_ptr zone) : zone(zone), id(zone->getID()), volume(zone->getVolumeEstimate()) {}
| | | | | |