diff --git a/interface/resources/fonts/hifi-glyphs.ttf b/interface/resources/fonts/hifi-glyphs.ttf index c27553333b..aaeb1d2ace 100644 Binary files a/interface/resources/fonts/hifi-glyphs.ttf and b/interface/resources/fonts/hifi-glyphs.ttf differ diff --git a/scripts/system/assets/data/createAppTooltips.json b/scripts/system/assets/data/createAppTooltips.json index 56341acc90..98e9088e1d 100644 --- a/scripts/system/assets/data/createAppTooltips.json +++ b/scripts/system/assets/data/createAppTooltips.json @@ -17,9 +17,6 @@ "lineHeight": { "tooltip": "The height of each line of text. This determines the size of the text." }, - "faceCamera": { - "tooltip": "If enabled, the entity follows the camera of each user, creating a billboard effect." - }, "textBillboardMode": { "tooltip": "If enabled, determines how the entity will face the camera.", "jsPropertyName": "billboardMode" @@ -356,6 +353,15 @@ "materialMappingRot": { "tooltip": "How much to rotate the material within the parent's UV-space, in degrees." }, + "followCamera": { + "tooltip": "If enabled, the grid is always visible even as the camera moves to another position." + }, + "majorGridEvery": { + "tooltip": "The number of \"Minor Grid Every\" intervals at which to draw a thick grid line." + }, + "minorGridEvery": { + "tooltip": "The real number of meters at which to draw thin grid lines." + }, "id": { "tooltip": "The unique identifier of this entity." }, diff --git a/scripts/system/html/entityList.html b/scripts/system/html/entityList.html index f9948bc8b0..f525c84cbc 100644 --- a/scripts/system/html/entityList.html +++ b/scripts/system/html/entityList.html @@ -19,6 +19,7 @@ +
diff --git a/scripts/system/html/entityProperties.html b/scripts/system/html/entityProperties.html index a8bcabbfea..67f03a33a2 100644 --- a/scripts/system/html/entityProperties.html +++ b/scripts/system/html/entityProperties.html @@ -24,6 +24,7 @@ + diff --git a/scripts/system/html/js/entityList.js b/scripts/system/html/js/entityList.js index 156006619d..fdf0993235 100644 --- a/scripts/system/html/js/entityList.js +++ b/scripts/system/html/js/entityList.js @@ -153,22 +153,9 @@ const FILTER_TYPES = [ "PolyLine", "PolyVox", "Text", + "Grid", ]; -const ICON_FOR_TYPE = { - Shape: "n", - Model: "", - Image: "", - Light: "p", - Zone: "o", - Web: "q", - Material: "", - ParticleEffect: "", - PolyLine: "", - PolyVox: "", - Text: "l", -}; - const DOUBLE_CLICK_TIMEOUT = 300; // ms const RENAME_COOLDOWN = 400; // ms @@ -325,7 +312,7 @@ function loaded() { let elSpan = document.createElement('span'); elSpan.setAttribute("class", "typeIcon"); - elSpan.innerHTML = ICON_FOR_TYPE[type]; + elSpan.innerHTML = ENTITY_TYPE_ICON[type]; elLabel.insertBefore(elSpan, elLabel.childNodes[0]); diff --git a/scripts/system/html/js/entityProperties.js b/scripts/system/html/js/entityProperties.js index 36c4d04ab4..a4322c0941 100644 --- a/scripts/system/html/js/entityProperties.js +++ b/scripts/system/html/js/entityProperties.js @@ -9,23 +9,6 @@ /* global alert, augmentSpinButtons, clearTimeout, console, document, Element, EventBridge, JSONEditor, openEventBridge, setTimeout, window, _ $ */ - -const ICON_FOR_TYPE = { - Box: "V", - Sphere: "n", - Shape: "n", - ParticleEffect: "", - Model: "", - Web: "q", - Image: "", - Text: "l", - Light: "p", - Zone: "o", - PolyVox: "", - Multiple: "", - PolyLine: "", - Material: "" -}; const DEGREES_TO_RADIANS = Math.PI / 180.0; @@ -44,7 +27,7 @@ const GROUPS = [ { label: NO_SELECTION, type: "icon", - icons: ICON_FOR_TYPE, + icons: ENTITY_TYPE_ICON, propertyID: "type", replaceID: "placeholder-property-type", }, @@ -668,6 +651,39 @@ const GROUPS = [ }, ] }, + { + id: "grid", + addToGroup: "base", + properties: [ + { + label: "Color", + type: "color", + propertyID: "gridColor", + propertyName: "color", // actual entity property name + }, + { + label: "Follow Camera", + type: "bool", + propertyID: "followCamera", + }, + { + label: "Major Grid Every", + type: "number-draggable", + min: 0, + step: 1, + decimals: 0, + propertyID: "majorGridEvery", + }, + { + label: "Minor Grid Every", + type: "number-draggable", + min: 0, + step: 0.01, + decimals: 2, + propertyID: "minorGridEvery", + }, + ] + }, { id: "particles", addToGroup: "base", @@ -1402,6 +1418,7 @@ const GROUPS_PER_TYPE = { 'particles_acceleration', 'particles_spin', 'particles_constraints', 'spatial', 'behavior', 'physics' ], PolyLine: [ 'base', 'spatial', 'behavior', 'collision', 'physics' ], PolyVox: [ 'base', 'spatial', 'behavior', 'collision', 'physics' ], + Grid: [ 'base', 'grid', 'spatial', 'behavior', 'physics' ], Multiple: [ 'base', 'spatial', 'behavior', 'collision', 'physics' ], }; diff --git a/scripts/system/html/js/includes.js b/scripts/system/html/js/includes.js new file mode 100644 index 0000000000..c604115f91 --- /dev/null +++ b/scripts/system/html/js/includes.js @@ -0,0 +1,27 @@ +// +// includes.js +// +// Created by David Back on 3 Jan 2019 +// Copyright 2016 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +const ENTITY_TYPE_ICON = { + Box: "m", + Grid: "", + Image: "", + Light: "p", + Material: "", + Model: "", + ParticleEffect: "", + PolyVox: "", + PolyLine: "", + Shape: "n", + Sphere: "n", + Text: "l", + Web: "q", + Zone: "o", + Multiple: "", +};