This PR remove Vircadia from the Federation (Since it is not really part of a federation when it is one way and not even working with us)
This PR also add "https://api.mv.metax.zone" as part of the federation (minimally for testing/development)
Note: Vircadia should remain in the place app as an "external" region for those who lock it in the create app. It will be up to them to keep it or let it go.
Manage to "no cache" in the http request header (since they no more accept "acash"
Add per_page=1000 since they change the default to 10.
with the parameter it works equally for both: Overte DS1 and Vircadia MS2
Added a gestural way to dismiss the notifications in HMD.
The notifications vanishes after 10 sec.
But if for any reason we want to accelerate the process (mostly because it hide the view or it is going to appears in photo capture)
In Desktop we can simply click on the notification to get rid of them.
But in HMD, clicking was kinda a pain (assuming the if you want to dismiss the notification is often because they are already annoying you)
have to aim and click is like pressing a button using a fishing pole, it's certainly adding more annoyance to this.
To addressed that, I introduced the "Whoosh!": An easy gesture to dismiss any 3d UI, by simply move one of you controller over you eyes height. (a bit like making flee an annoying fly.)
This is a an almost complete re-coding of the notifications script.
The previous version had too useless complexities and was computing each element position independently causing the notifications to be unstably displayed in HMD if the user moved.
There was also too many array used to achieved this. It was a bit painful.
This new version use an invisible entity parented to the avatar as a "container" where the notification elements are parented to it, making the positioning easier and more stable if the avatar moves.
I used only one array of objects to contain the the notification stack.
There is also a better management of some signal to avoid useless computing when it wasn't necessary.
I think the code is also more clear.
I got rid of the little x buttons to close the notification, it was on each element, you had to target a very small square surface with the mouse if you wanted to absolutely close a notification within the 10 second of their existence. Now you can close a notification simply by clicking on it (on all its surface)
But as before, the close function works only on desktop mode. (Apparently it's relatively complex to get the id of the entity that you click on in HMD. Maybe one day.)
It's also easier now to adjust the scale of the notifications in HMD if we want too, (only one value to change in the script)
The parenting using a container entity has also made all the notification UI in HMD scaling correctly according the avatar scale (it was free by parenting all those together).
Upgrade to local Entities and Misc
- All the deprecated use of 3d overly has been changes to Local Entities (Only the addEntity)
- All the preview are now unlit (it was a pain in a dark place)
- The HMD has been repositionned to be visible. (This is a try, I think it is better)
- Many bug fix in HMD
- Added a setting to switch on/off the snapshot related notification (because they are often a nuisance during capture sessions. constantly present and appearing in the capture)
(The setting still need to be plugged in the admin.)
This removes some useless code that never worked for the Multiple Zone Selector component used for renderWithZones.
It was using an element variable that wasn't declare and set that was causing the failure of the entire function (since probably the implementation)
the function was call to update the selector with any changes with a zone.
but the selector is rebuild anyway at each click on the Add Zone button. It could also update the list by displaying a deleted zone as unkonwn.
But this was overkill, in addition that it has never worked without causing any real issues.
At least now, it will stop to cause error like this:
[DEBUG] [qml] [FlickableWebViewCore.qml] Web Entity JS message: file:///C:/Program%20Files/Overte%20-%20PR146/scripts/system/create/entityProperties/html/js/entityProperties.js 3988 Uncaught ReferenceError: element is not defined
This adds "Places" application as a default application.
This removes the "Explore" application from default application.
However, the "Explore" application is still available in "Edit > Running Scripts..."
under "communityScripts" directory, for people that would like to create "beacons".
Note that the beacon's placenames are listed in the "Places" application,
but the feature to create new ones has been left behind because that solution had serious flaws.
Simple change that is using the placename instead of the "address" feild from the place api to build the url to connect.
For those where the placename = the domain name, Interface will be able to resolve path correctly.
using the address, this makes interface using 100% of the time the ip:/port information.
Fix for Issue #1517
Locked entities were simply ignored and it was still processing their children.
Now it's no more possible to duplicate if the selection and their children contains a locked entities.
It was also unable to add the new parent if the duplicated child entity was locked. Which was causing some other issues.
Error 0 was previously: "URL not well formed"
But actually , this wasn't the exact reason why an error 0 can be returned.
Error 0 means that no server are reachable to even respond.
So I have replaced it by "Server not found".
In the Entity List, there is a column to indicate the presence of script on an entity.
Before that modification, it was only present for entities having a Client Script.
Now it will be present if there is a Client and/or Server Script.
Adds an menu item in "Settings" to toggle the HUD shield/bubble button on or off.
Shield button remains available in the tablet or toolbar, it is called "HUD shield button" but suggestions are welcome
fixes https://github.com/vircadia/vircadia/issues/1210
Add a new Zone Selector HDM compliant for renderWithZones.
The previous selector wasn't usable in HMD and it was pratically the last component
that forced us to remove our headset to complete the task.
Safeguard code for Copy/Paste Position/Rotation
The 4 actions has now validations to avoid to only have those validation on the UI.
Making sure there is a single selection to execute these actions:
Copy Position
Copy Rotation
Making sure there is a selection that doesn't contain locked entity and that we have a copied value in order to execute these actions:
Paste Location
Paste Rotation
Add a secondary button class for on field actions
To use when actions are to be added to a specific field.
Like for Copy/Paste Location and Rotation.
These smaller buttons make easier to figure that those actions are tied to a specific field or group of field.
This change the hover color for the menu item of the menu bar
previously it was blue-cyan as the selected entities which was visually annoying when we used the menu
over a selection of entities in the list.
This hover color is now a grey tonality.
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.
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.
Action "Rotate as the Next Clicked Surface"
has been changed for:
"Rotate as Next Clicked Surface"
For now, it will be that.
This feature might evolve soon to include a translation to the clicked surface.
So the name will eventually change again.
1- This adds a new Material icon to identify the material entities that are linked to a parent.
Since those material entities become invisible, this help to figure their presence.
2- The Create App - Preference: "Show Zones in Create Mode"
has been removed, since it was doing nothing for a couple of years now.
the method behind is still in the API, but do nothing.
(abandoned since it was only drawing a box that wasn't useful to figure the shape of the zone)
There was no real value to bring this back in a different way.
3- The Create App - Preference: "Show Lights and Particle Systems in Create Mode"
has been renamed for "Show Icons in Create Mode"
since this setting was also managing all the icons (including Zones and now the Parented Materials)
The objective of the setting is mainly to simplify the display at the edit when a scene is very dense.
(In the future, we might want to make this "à la carte". For now, I think we can try as is. )
Add a new entity in-world edition icon for Material (when not parented)
and new version for the 4 existing icons: Now they are all dark gray (same tone)
with a white border for a better visibility under different lighting.
Previously it was 490px wide (in Desktop)
Now it will be 750 px wide (in Desktop)
The properties tab is now with an acceptable size by default. (which is closer to the landscape display we have in HMD.)
No change in HMD or in-Tablet display.
1- Replace Overlays by Local Entities
2- Add the missing header with copyright and license
(I have assumed that the author was the same person that make the grid parameter that is referenced there and only used in create App.)
3- Minor requested code change (0.0 instead of 0 in condition using real numbers)
Excluding EntityShapeVisualizer from Children list
Now a name is given to the EntityShape of the EntityShapeVisualizer (used to display the zone)
so we can now exclude them from the children list when it's time to figure if there are children for an entity.
(This is a better approach than excluding al the local entities)
The name has been used because it gives better results than trying to use the id map that arrive always too late.
The name is unique for a session, it includes a UUID.
Excluding EntityShapeVisualizer from Children list
Now a name is given to the EntityShape of the EntityShapeVisualizer (used to display the zone)
so we can now exclude them from the children list when it's time to figure if there are children for an entity.
(This is a better approach than excluding al the local entities)
The name has been used because it gives better results than trying to use the id map that arrive always too late.
The name is unique for a session, it includes a UUID.
This excludes the local and avatar entities from what is returns by Entities.getChildrenIDs
to avoid the selection tools of the Zone entities to be considered as Children of it.
This was necessary for the display of the hierarchy status, but also for the "Add Children to Selection".
This excludes the local and avatar entities from what is returns by Entities.getChildrenIDs
to avoid the selection tools of the Zone entities to be considered as Children of it.
This was necessary for the display of the hierarchy status, but also for the "Add Children to Selection".
The Create App. Menu Items under the “Edit” menu have been cleaned up.
All the actions being transferred has been removed. (some was not even decently usable from there)
A new sub-menu “Create Application – Preferences” has been implemented to regroup the remaining menu items that are all User Preferences.
Eventually in the future, these might be moved to the Create App. UI. For now, it will be OK, it's already cleaner.
Add a new User Preference for the Default value of the Entity List Radius. This is available in the Edit menu. If changed, this value will be used as default Radius for the next time the script will be loaded.
Add a new User Preference for the Default value of the Entity List Radius. This is available in the Edit menu. If changed, this value will be used as default Radius for the next time the script will be loaded.
Add a new User Preference for the Default value of the Entity List Radius. This is available in the Edit menu. If changed, this value will be used as default Radius for the next time the script will be loaded.
Bug fix: EntityList, CTRL-Click was adding the last selected entity as the first selection the selection stack. The first selected item was systematically the last item of the selection. This was causing unpredictable results with "Parent Entities To The Last Selected". (This bug becomes evident by highlighting the "Last Selected" in the entity list.
This returns "Teleport To Selected Entities" back to the "Selection..." menu.
After having tried a certain time what was suggested (having it under "Actions..." menu)
This is clearly easy to confuse it with "Move Selected Entities to Avatar"
"Teleport To Selected Entities" is about position your-self to see what you have "Selected" (which make this a Selection Tools or an assistant to it)
while "Move Selected Entities to Avatar" is clearly an action. as it moves the entities to a new position.
The last selected entity is now displayed in darker blue in the list (if present per radius search)
This makes clear which entity could become the parent.
(This enlights some weird behavior with the Selection, making this hazardous to figure which one was the true last selected entity. To be addressed later, it's already better now.)
Add in-world selection color for entities that are Parent & Child at the same time.
When 1 entity is selected (in-world):
if the entity is a Top Parent, the selection color of the bounding box is Orange.
if the entity is Parent and Child, the selection color of the bounding box is Majenta.
if the entity is only a Child, then the selection color of the bounding box is Cyan.
If not involved in any parent line, or if the selection is multiple, then the selection color of the bounding box is Light Grey.
Remove uppercase from Create App List header
The columns headers were forced to be displayed in uppercase
This was causing the wrong icon to be displayed for some columns like "script".
Uppercase wasn't necessary, the header was looking overloaded when many columns are displayed.
Set the shortkeys for Select All and Inverse Selection to respond to CTRL-A and CTRL-I only.
(Previously it was also responding to Ctrl-Shift-A, Ctrl-Alt-A, Ctrl-Shift-Alt-A and Ctrl-Shift-I, Ctrl-Alt-I, Ctrl-Shift-Alt-I)
Increase the precison of Angular Velocity
to make more comfortable the Issue #798 Angular Velocity can't go below 0.4 something (round to 0.5)
But this won't solve the trouble.
For this it would require a fixed for issue #76 Rotations that are transmitted over server lose precision
Fix for Issue:
#711 Add error dialogue if an unsupported filetype is added as a model URL in the create app.
As agreed, the label "Model URL" will indicate now: "Model URL (.fbx, .fst, .glb, .gltf, .obj, .gz)"
The list of file type has been set in Italic.
And the label for Material dialog has been adjust to have the same standard "(Optional)" is also in italic.
Add an audio feedback mechanism
to play confirmation or rejection sound on specific actions that are not visually detectable.
Here for Parent and Unparent (because it not visually detectable in HMD if the action was successful or not)
Fix also a bug where the HMD multiselection could stay active after we return in Desktop mode
Now it is deactivated when the create window are closed.
Add an audio feedback mechanism
to play confirmation or rejection sound on specific actions that are not visually detectable.
here for "Duplicate" (mainly for the HMD use case where the new entity is generated at the exact same position)
Add an audio feedback mechanism
to play confirmation or rejection sound on specific actions that are not visually detectable.
- Duplicate (mainly for the HMD use case where the new entity is generated at the exact same position)
- Parent and Unparent (because it not visually detectable in HMD if the action was successful or not)
Add a HMD MultiSelect button
Since it's impossible in HDM to do a multiple selection
This adds a MultiSelect button (available in HMD only)
When active, the selection in the list behaves like having CTRL pressed
When inactive (default value) the selection in the list behaves as before (on item only)
HMD: Make the 2 buttons visible without scrolling
In HMD, the 2 buttons:
- Open This Domain's Asset Server
- Import Entities (.json)
were not visible without scrolling. people would not even notice their presence
This fix adjust the spacing and the margin to have the entities button on 2 rows when the UI is in landscape mode
this way the button are visible.
Fix a bug about tablet stuck in Landscape
when the create app was open in desktop and you put your VR Headset on,
then next time you open the tablet it was in landscape mode. (because a refresh was happening after the landscape set to false at the closure)
Now the condition is geared to deal with the situation.
Fix: Reset Landscape mode in HMD
In HMD, clicking on the button "Open this Domain's Asset server" is reverting the tablet to "portrait" mode
This fix forces the mode to return to Landscape if from the Asset server we click on the "List" tab.
Fix: Reset Landscape mode in HMD
In HMD, clicking on the button "Open this Domain's Asset server" is reverting the tablet to "portrait" mode
This fix forces the mode to return to Landscape if from the Asset server we click on the "Properties" tab.
This adds the support for 6 new buttons:
Copy-Cut-Paste-Duplicate-Undo-Redo
It adds the automatic toggling of the HMD only buttons:
Copy-Cut-Paste-Duplicate
Remove an unused commented const.
Generate all the material using a centralized function, using an array to store the keys.
Make them deleted by iteration on this array.
Using now defaultFallthrough = true instead of setting albedo to fallthrough.
Replace "materialMappingMode" "projected" for "uv"
Added "ignorePickIntersection": true on the Material entities