From 1ce338d972712d6eea6fca00598750839b0fea45 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Thu, 24 Dec 2020 22:55:09 -0500 Subject: [PATCH 01/19] Support for "Rotate as the Next Clicked Surface" Support for "Rotate as the Next Clicked Surface" Add "surfaceNormal" in the returned data. --- scripts/system/controllers/controllerModules/inEditMode.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/system/controllers/controllerModules/inEditMode.js b/scripts/system/controllers/controllerModules/inEditMode.js index 5709b19efe..5bef8ec11a 100644 --- a/scripts/system/controllers/controllerModules/inEditMode.js +++ b/scripts/system/controllers/controllerModules/inEditMode.js @@ -2,6 +2,9 @@ // inEditMode.js // +// Copyright 2014 High Fidelity, Inc. +// Copyright 2020 Vircadia contributors. +// // Distributed under the Apache License, Version 2.0. // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html @@ -80,7 +83,8 @@ Script.include("/~/system/libraries/utils.js"); Messages.sendLocalMessage(this.ENTITY_TOOL_UPDATES_CHANNEL, JSON.stringify({ method: "selectEntity", entityID: this.selectedTarget.objectID, - hand: hand + hand: hand, + surfaceNormal: this.selectedTarget.surfaceNormal })); } else if (this.selectedTarget.type === Picks.INTERSECTED_OVERLAY) { Messages.sendLocalMessage(this.ENTITY_TOOL_UPDATES_CHANNEL, JSON.stringify({ From 79b34ae54150635436a30531d3400ccf0b4d4c5f Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Thu, 24 Dec 2020 22:57:49 -0500 Subject: [PATCH 02/19] Add "Rotate as the Next Clicked Surface" Add "Rotate as the Next Clicked Surface" --- scripts/system/create/edit.js | 97 +++++++++++++++---- .../entitySelectionTool.js | 64 +++++++++++- 2 files changed, 140 insertions(+), 21 deletions(-) diff --git a/scripts/system/create/edit.js b/scripts/system/create/edit.js index 9e94b68ba1..92a6206100 100644 --- a/scripts/system/create/edit.js +++ b/scripts/system/create/edit.js @@ -109,6 +109,8 @@ var entityIconOverlayManager = new EntityIconOverlayManager(["Light", "ParticleE }); var hmdMultiSelectMode = false; +var expectingRotateAsClickedSurface = false; +var keepSelectedOnNextClick = false; var cameraManager = new CameraManager(); @@ -1106,25 +1108,41 @@ function findClickedEntity(event) { } var result; - - if (iconResult.intersects) { - result = iconResult; - } else if (entityResult.intersects) { - result = entityResult; + if (expectingRotateAsClickedSurface) { + if (!SelectionManager.hasSelection() || !SelectionManager.hasUnlockedSelection()) { + audioFeedback.rejection(); + Window.notifyEditError("You have nothing selected, or the selection is locked."); + expectingRotateAsClickedSurface = false; + } else { + //Rotate Selection according the Surface Normal + selectionDisplay.rotateSelection(Quat.lookAt(Vec3.ZERO, Vec3.multiply(entityResult.surfaceNormal, -1), Vec3.UP)); + selectionManager._update(false, this); + pushCommandForSelections(); + expectingRotateAsClickedSurface = false; + audioFeedback.action(); + } + keepSelectedOnNextClick = true; + return null; } else { - return null; - } + if (iconResult.intersects) { + result = iconResult; + } else if (entityResult.intersects) { + result = entityResult; + } else { + return null; + } - if (!result.accurate) { - return null; - } + if (!result.accurate) { + return null; + } - var foundEntity = result.entityID; - return { - pickRay: pickRay, - entityID: foundEntity, - intersection: result.intersection - }; + var foundEntity = result.entityID; + return { + pickRay: pickRay, + entityID: foundEntity, + intersection: result.intersection + }; + } } // Handles selections on overlays while in edit mode by querying entities from @@ -1295,7 +1313,10 @@ function mouseClickEvent(event) { if (result === null || result === undefined) { if (!event.isShifted) { - selectionManager.clearSelections(this); + if (!keepSelectedOnNextClick) { + selectionManager.clearSelections(this); + } + keepSelectedOnNextClick = false; } return; } @@ -2052,6 +2073,26 @@ function gridToAvatarKey(value) { alignGridToAvatar(); } } +function rotateAsNextClickedSurfaceKey(value) { + if (value === 0) { // on release + rotateAsNextClickedSurface(); + } +} +function quickRotate90xKey(value) { + if (value === 0) { // on release + selectionDisplay.rotate90degreeSelection("X"); + } +} +function quickRotate90yKey(value) { + if (value === 0) { // on release + selectionDisplay.rotate90degreeSelection("Y"); + } +} +function quickRotate90zKey(value) { + if (value === 0) { // on release + selectionDisplay.rotate90degreeSelection("Z"); + } +} function recursiveAdd(newParentID, parentData) { if (parentData.children !== undefined) { var children = parentData.children; @@ -2819,6 +2860,10 @@ mapping.from([Controller.Hardware.Keyboard.J]).to(gridKey); mapping.from([Controller.Hardware.Keyboard.G]).to(viewGridKey); mapping.from([Controller.Hardware.Keyboard.H]).to(snapKey); mapping.from([Controller.Hardware.Keyboard.K]).to(gridToAvatarKey); +mapping.from([Controller.Hardware.Keyboard["0"]]).to(rotateAsNextClickedSurfaceKey); +mapping.from([Controller.Hardware.Keyboard["7"]]).to(quickRotate90xKey); +mapping.from([Controller.Hardware.Keyboard["8"]]).to(quickRotate90yKey); +mapping.from([Controller.Hardware.Keyboard["9"]]).to(quickRotate90zKey); mapping.from([Controller.Hardware.Keyboard.X]) .when([Controller.Hardware.Keyboard.Control]) .to(whenReleased(function() { selectionManager.cutSelectedEntities() })); @@ -2867,6 +2912,14 @@ keyUpEventFromUIWindow = function(keyUpEvent) { snapKey(pressedValue); } else if (keyUpEvent.keyCodeString === "K") { gridToAvatarKey(pressedValue); + } else if (keyUpEvent.keyCodeString === "0") { + rotateAsNextClickedSurfaceKey(pressedValue); + } else if (keyUpEvent.keyCodeString === "7") { + quickRotate90xKey(pressedValue); + } else if (keyUpEvent.keyCodeString === "8") { + quickRotate90yKey(pressedValue); + } else if (keyUpEvent.keyCodeString === "9") { + quickRotate90zKey(pressedValue); } else if (keyUpEvent.controlKey && keyUpEvent.keyCodeString === "X") { selectionManager.cutSelectedEntities(); } else if (keyUpEvent.controlKey && keyUpEvent.keyCodeString === "C") { @@ -3015,4 +3068,14 @@ function toggleGridVisibility() { } } +function rotateAsNextClickedSurface() { + if (!SelectionManager.hasSelection() || !SelectionManager.hasUnlockedSelection()) { + audioFeedback.rejection(); + Window.notifyEditError("You have nothing selected, or the selection is locked."); + expectingRotateAsClickedSurface = false; + } else { + expectingRotateAsClickedSurface = true; + } +} + }()); // END LOCAL_SCOPE diff --git a/scripts/system/create/entitySelectionTool/entitySelectionTool.js b/scripts/system/create/entitySelectionTool/entitySelectionTool.js index f9a30ef6a5..8941ff24f2 100644 --- a/scripts/system/create/entitySelectionTool/entitySelectionTool.js +++ b/scripts/system/create/entitySelectionTool/entitySelectionTool.js @@ -103,10 +103,25 @@ SelectionManager = (function() { if (wantDebug) { print("setting selection to " + messageParsed.entityID); } - if (hmdMultiSelectMode) { - that.addEntity(messageParsed.entityID, true, that); + if (expectingRotateAsClickedSurface) { + if (!SelectionManager.hasSelection() || !SelectionManager.hasUnlockedSelection()) { + audioFeedback.rejection(); + Window.notifyEditError("You have nothing selected, or the selection is locked."); + expectingRotateAsClickedSurface = false; + } else { + //Rotate Selection according the Surface Normal + selectionDisplay.rotateSelection(Quat.lookAt(Vec3.ZERO, Vec3.multiply(messageParsed.surfaceNormal, -1), Vec3.UP)); + that._update(false, this); + pushCommandForSelections(); + expectingRotateAsClickedSurface = false; + audioFeedback.action(); + } } else { - that.setSelections([messageParsed.entityID], that); + if (hmdMultiSelectMode) { + that.addEntity(messageParsed.entityID, true, that); + } else { + that.setSelections([messageParsed.entityID], that); + } } } } else if (messageParsed.method === "clearSelection") { @@ -2377,7 +2392,48 @@ SelectionDisplay = (function() { } debugPickPlaneHits = []; }; - + + that.rotateSelection = function(rotation) { + SelectionManager.saveProperties(); + if (SelectionManager.selections.length === 1) { + SelectionManager.savedProperties[SelectionManager.selections[0]].rotation = Quat.IDENTITY; + } + updateSelectionsRotation(rotation, SelectionManager.worldPosition); + }; + + that.rotate90degreeSelection = function(axis) { + //axis is a string and expect "X", "Y" or "Z" + if (!SelectionManager.hasSelection() || !SelectionManager.hasUnlockedSelection()) { + audioFeedback.rejection(); + Window.notifyEditError("You have nothing selected, or the selection is locked."); + } else { + var currentRotation, axisRotation; + SelectionManager.saveProperties(); + if (selectionManager.selections.length === 1 && spaceMode === SPACE_LOCAL) { + currentRotation = SelectionManager.localRotation; + }else{ + currentRotation = SelectionManager.worldRotation; + } + switch(axis) { + case "X": + axisRotation = Quat.angleAxis(90.0, Quat.getRight(currentRotation)); + break; + case "Y": + axisRotation = Quat.angleAxis(90.0, Quat.getUp(currentRotation)); + break; + case "Z": + axisRotation = Quat.angleAxis(90.0, Quat.getForward(currentRotation)); + break; + default: + return; + } + updateSelectionsRotation(axisRotation, SelectionManager.worldPosition); + SelectionManager._update(false, this); + pushCommandForSelections(); + audioFeedback.action(); + } + }; + function addUnlitMaterialOnToolEntity(toolEntityParentID) { var toolEntitiesMaterialData = "{\n \"materialVersion\": 1,\n \"materials\": [\n {\n \"name\": \"0\",\n \"defaultFallthrough\": true,\n \"unlit\": true,\n \"model\": \"hifi_pbr\"\n }\n ]\n}"; var materialEntityID = Entities.addEntity({ From adf4249b3225f63a271475dc84b0ba33b7e2485c Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Thu, 24 Dec 2020 22:59:30 -0500 Subject: [PATCH 03/19] Add "action" sound. Add "action" sound. --- scripts/system/create/audioFeedback/audioFeedback.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/scripts/system/create/audioFeedback/audioFeedback.js b/scripts/system/create/audioFeedback/audioFeedback.js index f1900d5716..67af004844 100644 --- a/scripts/system/create/audioFeedback/audioFeedback.js +++ b/scripts/system/create/audioFeedback/audioFeedback.js @@ -15,6 +15,7 @@ audioFeedback = (function() { var confirmationSound = SoundCache.getSound(Script.resolvePath("./sounds/confirmation.mp3")); var rejectionSound = SoundCache.getSound(Script.resolvePath("./sounds/rejection.mp3")); + var actionSound = SoundCache.getSound(Script.resolvePath("./sounds/action.mp3")); that.confirmation = function() { //Play a confirmation sound var injector = Audio.playSound(confirmationSound, { @@ -30,5 +31,12 @@ audioFeedback = (function() { }); } + that.action = function() { //Play an action sound + var injector = Audio.playSound(actionSound, { + "volume": 0.3, + "localOnly": true + }); + } + return that; })(); From eeecf4861c22b0ba4d1727a94f12a057eedd11d7 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Thu, 24 Dec 2020 23:00:09 -0500 Subject: [PATCH 04/19] Add "action" sound. Add "action" sound. --- .../create/audioFeedback/sounds/action.mp3 | Bin 0 -> 10448 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 scripts/system/create/audioFeedback/sounds/action.mp3 diff --git a/scripts/system/create/audioFeedback/sounds/action.mp3 b/scripts/system/create/audioFeedback/sounds/action.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..fd004847b05da3ce5db46eb29f4df7dc08148308 GIT binary patch literal 10448 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 Date: Thu, 24 Dec 2020 23:02:57 -0500 Subject: [PATCH 05/19] Add "Rotate As Next Clicked Surface" Add "Rotate As Next Clicked Surface" Add also "Rotate 90 degree on X axis", "Rotate 90 degree on Z axis" and "Rotate 90 degree on Z axis" --- scripts/system/create/entityList/entityList.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/scripts/system/create/entityList/entityList.js b/scripts/system/create/entityList/entityList.js index a4d4decedb..5119d7d3da 100644 --- a/scripts/system/create/entityList/entityList.js +++ b/scripts/system/create/entityList/entityList.js @@ -383,6 +383,14 @@ EntityListTool = function(shouldUseEditTabletApp) { SelectionManager.selectTopFamily(); } else if (data.type === 'teleportToEntity') { SelectionManager.teleportToEntity(); + } else if (data.type === 'rotateAsTheNextClickedSurface') { + rotateAsNextClickedSurface(); + } else if (data.type === 'quickRotate90x') { + selectionDisplay.rotate90degreeSelection("X"); + } else if (data.type === 'quickRotate90y') { + selectionDisplay.rotate90degreeSelection("Y"); + } else if (data.type === 'quickRotate90z') { + selectionDisplay.rotate90degreeSelection("Z"); } else if (data.type === 'moveEntitySelectionToAvatar') { SelectionManager.moveEntitiesSelectionToAvatar(); } else if (data.type === 'loadConfigSetting') { From cd0293d635b39772d9d51b0873edd00ad804cf8e Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Thu, 24 Dec 2020 23:03:55 -0500 Subject: [PATCH 06/19] Add "Rotate As Next Clicked Surface" Add "Rotate As Next Clicked Surface" Add also "Rotate 90 degree on X axis", "Rotate 90 degree on Z axis" and "Rotate 90 degree on Z axis" --- .../create/entityList/html/entityList.html | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/scripts/system/create/entityList/html/entityList.html b/scripts/system/create/entityList/html/entityList.html index 9817f9ddf9..99dc213cf1 100644 --- a/scripts/system/create/entityList/html/entityList.html +++ b/scripts/system/create/entityList/html/entityList.html @@ -156,6 +156,31 @@ + + + + +
From 5b40ac4c1ebb28d5f6061bdd5eefaede4754677e Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Wed, 20 Jan 2021 23:13:47 -0500 Subject: [PATCH 10/19] Transmitting Intersection to Create App Transmitting Intersection to Create App --- scripts/system/controllers/controllerModules/inEditMode.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/system/controllers/controllerModules/inEditMode.js b/scripts/system/controllers/controllerModules/inEditMode.js index 5bef8ec11a..992a76614a 100644 --- a/scripts/system/controllers/controllerModules/inEditMode.js +++ b/scripts/system/controllers/controllerModules/inEditMode.js @@ -84,7 +84,8 @@ Script.include("/~/system/libraries/utils.js"); method: "selectEntity", entityID: this.selectedTarget.objectID, hand: hand, - surfaceNormal: this.selectedTarget.surfaceNormal + surfaceNormal: this.selectedTarget.surfaceNormal, + intersection: this.selectedTarget.intersection, })); } else if (this.selectedTarget.type === Picks.INTERSECTED_OVERLAY) { Messages.sendLocalMessage(this.ENTITY_TOOL_UPDATES_CHANNEL, JSON.stringify({ From aedce21007e68cf8812161f04d8b903d58dd002e Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Wed, 20 Jan 2021 23:17:06 -0500 Subject: [PATCH 11/19] Snap to Next Clicked Surface This adds the move in addition to the rotation to the "Rotate as Next Clicked Surface" action. Which is now become: "Snap to Next Clicked Surface" --- scripts/system/create/edit.js | 11 ++++++- .../entitySelectionTool.js | 31 ++++++++++++++++++- 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/scripts/system/create/edit.js b/scripts/system/create/edit.js index 23292cd85c..05bc7d2381 100644 --- a/scripts/system/create/edit.js +++ b/scripts/system/create/edit.js @@ -1115,7 +1115,16 @@ function findClickedEntity(event) { expectingRotateAsClickedSurface = false; } else { //Rotate Selection according the Surface Normal - selectionDisplay.rotateSelection(Quat.lookAt(Vec3.ZERO, Vec3.multiply(entityResult.surfaceNormal, -1), Vec3.UP)); + var normalRotation = Quat.lookAtSimple(Vec3.ZERO, Vec3.multiply(entityResult.surfaceNormal, -1)); + selectionDisplay.rotateSelection(normalRotation); + //Translate Selection according the clicked Surface + var distanceFromSurface; + if (selectionDisplay.getSpaceMode() === "world"){ + distanceFromSurface = SelectionManager.worldDimensions.z / 2; + } else { + distanceFromSurface = SelectionManager.localDimensions.z / 2; + } + selectionDisplay.moveSelection(Vec3.sum(entityResult.intersection, Vec3.multiplyQbyV( normalRotation, {"x": 0.0, "y":0.0, "z": distanceFromSurface}))); selectionManager._update(false, this); pushCommandForSelections(); expectingRotateAsClickedSurface = false; diff --git a/scripts/system/create/entitySelectionTool/entitySelectionTool.js b/scripts/system/create/entitySelectionTool/entitySelectionTool.js index b1ce7f801c..f4d6117bd1 100644 --- a/scripts/system/create/entitySelectionTool/entitySelectionTool.js +++ b/scripts/system/create/entitySelectionTool/entitySelectionTool.js @@ -110,7 +110,16 @@ SelectionManager = (function() { expectingRotateAsClickedSurface = false; } else { //Rotate Selection according the Surface Normal - selectionDisplay.rotateSelection(Quat.lookAt(Vec3.ZERO, Vec3.multiply(messageParsed.surfaceNormal, -1), Vec3.UP)); + var normalRotation = Quat.lookAtSimple(Vec3.ZERO, Vec3.multiply(messageParsed.surfaceNormal, -1)); + selectionDisplay.rotateSelection(normalRotation); + //Translate Selection according the clicked Surface + var distanceFromSurface; + if (selectionDisplay.getSpaceMode() === SPACE_WORLD){ + distanceFromSurface = SelectionManager.worldDimensions.z / 2; + } else { + distanceFromSurface = SelectionManager.localDimensions.z / 2; + } + selectionDisplay.moveSelection(Vec3.sum(messageParsed.intersection, Vec3.multiplyQbyV( normalRotation, {"x": 0.0, "y":0.0, "z": distanceFromSurface}))); that._update(false, this); pushCommandForSelections(); expectingRotateAsClickedSurface = false; @@ -2401,6 +2410,26 @@ SelectionDisplay = (function() { updateSelectionsRotation(rotation, SelectionManager.worldPosition); }; + that.moveSelection = function(targetPosition) { + SelectionManager.saveProperties(); + // editing a parent will cause all the children to automatically follow along, so don't + // edit any entity who has an ancestor in SelectionManager.selections + var toMove = SelectionManager.selections.filter(function (selection) { + if (SelectionManager.selections.indexOf(SelectionManager.savedProperties[selection].parentID) >= 0) { + return false; // a parent is also being moved, so don't issue an edit for this entity + } else { + return true; + } + }); + + for (var i = 0; i < toMove.length; i++) { + var id = toMove[i]; + var properties = SelectionManager.savedProperties[id]; + var newPosition = Vec3.sum(targetPosition, Vec3.subtract(properties.position, SelectionManager.worldPosition)); + Entities.editEntity(id, { position: newPosition }); + } + }; + that.rotate90degreeSelection = function(axis) { //axis is a string and expect "X", "Y" or "Z" if (!SelectionManager.hasSelection() || !SelectionManager.hasUnlockedSelection()) { From a9c2a3d46a64808948678e6ff2267c3c9d3a8304 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Wed, 20 Jan 2021 23:19:43 -0500 Subject: [PATCH 12/19] Snap to Next Clicked Surface Rename the action: "Rotate as Next Clicked Surface" for "Snap to Next Clicked Surface" since it is now doing the rotation and the move to the clicked surface. --- scripts/system/create/entityList/html/entityList.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/system/create/entityList/html/entityList.html b/scripts/system/create/entityList/html/entityList.html index 4c84f7ed4d..cc30c6d6df 100644 --- a/scripts/system/create/entityList/html/entityList.html +++ b/scripts/system/create/entityList/html/entityList.html @@ -159,7 +159,7 @@ From 22b935ee656733a11c0bec262a019dabf3d0d544 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Thu, 28 Jan 2021 23:55:09 -0500 Subject: [PATCH 13/19] Add Icon for Radius Search of the Create App Add Icon for Radius Search of the Create App --- interface/resources/fonts/vircadia_glyphs.ttf | Bin 4000 -> 4432 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/interface/resources/fonts/vircadia_glyphs.ttf b/interface/resources/fonts/vircadia_glyphs.ttf index 7d3fe9d913a85bcbfc00162d1ebf1617c40c1b48..ed89c2719a81b17a18c252a9ec306d35f2741678 100644 GIT binary patch delta 1777 zcmcgtU2GIp6#mYgnR{nu2U?Pb^KtU598iMgb)I`xtDJk&aBXcsj z-#OpC=X~enX6C*0H`x*hKo|!hVW6*XbN`VuZ~g;BN&u2iKK?`>R^WXgVgX2Pc($W3 zvU%XA=~A{H2?0yO91&9@}pzp z`;{2!0DTJ3qr3NP8=84)`ZGWt0H|whX#ZaPf>D4v0c2ho8XMkqq`nIXP6E<%d-uFL z{_?<~KhcWtRX}=pK|TSE%g_GxqOs<8Xbk>y+57F#o%IOSXn3ZFw$aU*<20tF7j^&+ zx@MZ#4>MOuIrT3)O7(rXK%m*%#@g7#gSGmDEypGRFjxS6!j3`0%)3f^-9|H3U?n_s z175ipb91p`yi$nUF-!1V)^*CI=6l^5#fAU!O2M`S&$^C(Zt~a6++361qU*X5wRHW~ zB2y4O$;2TavmT&fAyf=g-ZJ>vg>$YUzfdTTxSA!uF1ak?jpTB2qHh;INm2aAR+x_iUm!F?;^}$+u5z+&FQU>|5{Lal)}^!yT+!(O|#TzuxM%02!0$q}S=I z+fCH5?0?ly-bl~Qjid{U^n+UvP#r@^poMMhsg4(kW)e?V{~f z$*YtruH&1icooNWxX{UMC$CENxE&V`7d%B3?|yQD)5(t86|dqhoD{jm0DT-bwO~lo zm`a>vP5~Bdvcrm^3RBKcRclTzH&xR`rfp{?Z9cy<6O~B|s0Q(_e6E!%U3p7uie&1+ zXe5$Rhz@cRhE9E__nCdYA5b&dAwvriCzXj{AQ142d|@|=s4OdL)y?OoYE?I{@^sp4 zYuiX}Uu7YlveV zwgXWvxIeMD?a#rt#gP@`w&1PgIvrGUOHRpcrw%GPWuIOECD(bRl=GubhpY%LxWTw( z5Ene>xK7!tQjLm*Ya1$+$I9#1*R)16lv0#LIGxJWdk$yHWnvE{1rsDOViJ)|0f|eD z5s}0=V`M5aCtG2X%p^amt1C$rh9ntkDwC$~g0LlokQP`FHtSf=46Q%^G?a?xJ@a>?jI zD}6~{Lqj9l-~m+hKM<`{E*8q(680)(={Avd)>6rWyMF}#0ocMeHUIzs delta 1342 zcmchX&u<$=6vw}B_LsZf^(M~R-iTe>al-DFw7A%7ZwRFM(GmnDB&Ah~M4&ZkYNIqX zf&fLJngc>PM53vsN+5(PepDP|MIa6wI8=f|5J;_n77Fx&gjJ;%NRf~N@}>#!4|Ja9 zy*F>(%=^q}G~Z;-r92P-6|aHA*zoYdk;TuyeG|}L2Vg$9_km$-$9sTw6hLzHKsHxC zICf>x%T%=q0HN~nmyh{ITRR{u0Nf*$snSv7)l<6x{0N{}sZ5o)pK%2s9Y9xQX6_`v zMiGEM1!(B_iOEvwxg+NQehi@AnbOHw{EEW>^#DjeTbh}gK2x0rLf-@2q1hA9&pk8t z#-HehvJ2qu3h)Ww{`y@ztlj?y!VJy!!zb^KZrU@{PZPBPnxxg*2Q(875&+oft#z=U zYQK=M{5N}tsz>kHO`L>g_E@=K(P20Da8f2Z!2Q!rj#tw8KINwqqyImXCG% zv3wz#i|b-%#`d~49X}yC%`P?r8Qb&ovCjD$Hzbx( zcE#g#p|Mi0um5JbmgS}b{Yp!@b@Eti`BBrgs+K!jX}&Bx1f7;?6&xglp~FNMT9nwcGwqs|ZIK-q*BCV39yA7N>g%P`r)Tyr zSV8^u4+API&_nu&zHdYy0grj~(2Mlt7SPu1{10S)bv0Qpr&6~HQl_!8w6u7t9_$8y zgN+njrE5rFFP;F}L`jV4iFhLJ7yV+jsT{j0QX(#i-Q?I=@*L0h9NY2iLUSfdp6vxW zS+cWyJ|RU&iZG2tN$j*8yWsUxK6h=jSlm;5cwc|Gy;V)|f}vT-^gy{#Aa;i-F^M=v zBJmXBd4VxT9FfSXjG_WBrq=`tF~$**tn4IlTXSuSzLWcRk4+2|CCL?ymgugY-g{E1 zWW=0%;U!`%LWFS~#~6hf;~B5Xk}MG81(FykBF`K-q>#c#1Wx1_GmNJr(G;USg8+E+ zqMN>;uc`>69XsFy6w{mMFXVH5l-Tn9Vjnphqm120o?pC=a*4R)NMe?xL_Fuyf)a@~ z8rtKk(sup2AP7%}B=xcq-6n@Gt5T>CdrTD5v9yv@= Date: Thu, 28 Jan 2021 23:57:37 -0500 Subject: [PATCH 14/19] CSS for Create App new menu bar This add the css for the new menu bar of the create app. --- scripts/system/html/css/edit-style.css | 78 ++++++++++++++++++-------- 1 file changed, 54 insertions(+), 24 deletions(-) diff --git a/scripts/system/html/css/edit-style.css b/scripts/system/html/css/edit-style.css index db535327d9..43b1154fd2 100644 --- a/scripts/system/html/css/edit-style.css +++ b/scripts/system/html/css/edit-style.css @@ -1208,7 +1208,7 @@ div.refresh input[type="button"] { } .fieldset .checkbox-sub-props .property:first-child { - margin-top: 0; + margin-top: 0px; } .column { @@ -1252,18 +1252,18 @@ textarea:enabled[scrolling="true"]::-webkit-resizer { } div#grid-section, body#entity-list-body { - padding-bottom: 0; - margin: 16px; + padding-bottom: 0px; + margin: 0px 8px 8px 8px; } #entity-list-header { - margin-bottom: 36px; + margin-bottom: 6px; } #entity-list-header div { display: inline-block; width: 65px; - margin-right: 6px; + margin-right: 4px; } #entity-list-header div input:first-child { @@ -1281,13 +1281,19 @@ div#grid-section, body#entity-list-body { border-bottom-left-radius: 0; } +#delete { + float: right; + margin-right: 0; + background-color: #ff0000; +} + #entity-list { position: relative; /* New positioning context. */ } #filter-area { padding-right: 168px; - padding-bottom: 24px; + padding-bottom: 8px; } #filter-type-multiselect-box select { @@ -1340,35 +1346,59 @@ div#grid-section, body#entity-list-body { #filter-type-options input[type=button]:enabled:hover { background: linear-gradient(#afafaf 20%, #575757 100%); } - #filter-search-and-icon { position: relative; left: 118px; width: calc(100% - 126px); } - #filter-in-view { position: absolute; - top: 0; + top: 0px; right: 126px; } - #filter-radius-and-unit { position: relative; float: right; margin-right: -168px; - top: -45px; + top: -28px; } -#filter-radius-and-unit label { - margin-left: 2px; +#entity-list-menubar { + margin: 0px -8px 6px -8px; + padding: 0px 8px 0px 8px;; + border: none; + background-color: #000; + background: linear-gradient(#343434 20%, #000 100%); } -#filter-radius-and-unit span { +.icon-input-radius input { position: relative; - top: 25px; + padding-left: 36px; +} +.icon-input-radius span { + position: absolute; + left: 4px; + top: -4px; + font-family: Vircadia-Glyphs; + font-size: 23px; + color: #afafaf; +} +.icon-input-radius input:focus + span + label { + color: #ffffff; +} +.icon-input-radius label { + position: absolute; + margin-left: 3px; + bottom: 6px; right: 9px; - z-index: 2; font-style: italic; } +#filter-radius:focus { + outline: none; + box-sizing: border-box; + height: 26px; + margin-top: 1px; + margin-bottom: 1px; + box-shadow: 0 0 0 1px #00b4ef; +} #filter-radius-and-unit input { width: 120px; border-radius: 14.5px; @@ -1384,12 +1414,12 @@ div#grid-section, body#entity-list-body { #footer-text { float: right; - padding-top: 12px; + padding-top: 6px; padding-right: 22px; } input[type=button]#export { - height: 38px; + height: 26px; width: 180px; } @@ -1441,7 +1471,7 @@ input[type=button]#export { overflow-x: hidden; overflow-y: auto; box-sizing: border-box; - padding-top: 28px; /* Space for header and footer outside of scroll region. */ + padding-top: 37px; /* Space for header and footer outside of scroll region. */ margin-top: 28px; border-left: 2px solid #575757; border-right: 2px solid #575757; @@ -1462,7 +1492,7 @@ input[type=button]#export { } #entity-table { - margin-top: -28px; + margin-top: -20px; margin-bottom: -18px; table-layout: fixed; border: none; @@ -1539,7 +1569,7 @@ input[type=button]#export { } #entity-table td .glyph .vglyph { text-align: center; - padding: 0; + padding: 0px; } #properties-base { @@ -1888,10 +1918,10 @@ div.multiZoneSelToolbar { div.entity-list-menu { position: fixed; display: none; - width: 70%; + width: 370px; height: 30px; - top: 42px; - left: 150px; + top: 27px; + left: 8px; right: 0; bottom: 0; border-style: solid; From c8679375b179f3afc0e58d4783f08ef7fe515d13 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Thu, 28 Jan 2021 23:59:44 -0500 Subject: [PATCH 15/19] Height adjustment for new Menu bar Height adjustment for new Menu bar --- scripts/system/create/entityList/html/js/entityList.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/system/create/entityList/html/js/entityList.js b/scripts/system/create/entityList/html/js/entityList.js index c610795bc9..96366d7183 100644 --- a/scripts/system/create/entityList/html/js/entityList.js +++ b/scripts/system/create/entityList/html/js/entityList.js @@ -15,7 +15,7 @@ const BYTES_PER_MEGABYTE = 1024 * 1024; const COLLAPSE_EXTRA_INFO = "E"; const EXPAND_EXTRA_INFO = "D"; const FILTER_IN_VIEW_ATTRIBUTE = "pressed"; -const WINDOW_NONVARIABLE_HEIGHT = 227; +const WINDOW_NONVARIABLE_HEIGHT = 180; const EMPTY_ENTITY_ID = "0"; const MAX_LENGTH_RADIUS = 9; const MINIMUM_COLUMN_WIDTH = 24; From 70781fea3b42b2ffa8fc9a034e85c4b49b358188 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Fri, 29 Jan 2021 00:04:48 -0500 Subject: [PATCH 16/19] New Menubar Add a New Menubar in the create app, just over the toolbar. The Delete Red button is now back in the toolbar. The radius search label has been replaced by a radar icon, the space has been recuperated for the menubar. So we have now space for more menu & menu items, and for more button too. which will help for future addition to this application. --- .../create/entityList/html/entityList.html | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/scripts/system/create/entityList/html/entityList.html b/scripts/system/create/entityList/html/entityList.html index cc30c6d6df..93585c7338 100644 --- a/scripts/system/create/entityList/html/entityList.html +++ b/scripts/system/create/entityList/html/entityList.html @@ -24,6 +24,11 @@ +
+ + + +
@@ -32,9 +37,7 @@
- - - +
@@ -58,8 +61,7 @@
- - + D
@@ -130,12 +132,6 @@
-