-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tri-State plane display in 3D viewport #5440
Conversation
@daniel-wer sure :) You can find different json manipulations in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very cool!! The UI looks top-notch 🕺
I only left some small questions. Will wait for the migrations now :)
@@ -26,7 +26,6 @@ object UserConfiguration { | |||
"dynamicSpaceDirection" -> JsBoolean(true), | |||
"displayCrosshair" -> JsBoolean(true), | |||
"scale" -> JsNumber(1), | |||
"tdViewDisplayPlanes" -> JsBoolean(true), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't there be two new lines for tdViewDisplayPlanes
and tdViewDisplayDatasetBorders
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or doesn't the dictionary need to be complete here? If so, we could think about removing all the default values here, since there are defined in the front-end, too?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To my understanding, these default values are unnecessary as they are defined in the frontend as well. @fm3 Do you see any reason why we would still need these defined in scala?
If not, I could go through the list, double check that the frontend default is the same as the backend one and remove them from the backend.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@youri-k can you answer that? I’m not sure about those defaults and their duplication. If you also don’t know for sure, we can dive into the code and figure out what’s redundant.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One thing to note is that the list is very incomplete already and contains unused settings like isosurfaceBBsize
, layoutScaleValue
, and renderComments
.
I had an in-depth look in the frontend and there these backend "default" values are not needed. The frontend defines a default value for each setting and uses those unless they are overwritten by the user config that is fetched from the server (which happens after users changed settings).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alright, after repeated deja-vus I found out that we had this exact discussion before 🙈
Issue: #3906
Discussion: #3895 (comment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd propose to remove the backend default UserConfiguration in this PR once and for all. I don't see a reason why the defaults need to be duplicated in the backend.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd propose to remove the backend default UserConfiguration in this PR once and for all. I don't see a reason why the defaults need to be duplicated in the backend.
I agree with you. I don't see any benefits, as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I removed the entire UserConfiguration wrapper in the backend (it now only handles this as a JsObject).
I believe this fixes #3906
The evolutions look good :) Only open question: does the task-type part handle NULL values for the recommendedConfiguration correctly? Or does it go to its else branch then?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I checked that the WHERE recommendedconfiguration ? 'tdViewDisplayPlanes'
evaluates to false if recommendedconfiguration
is NULL or if the 'tdViewDisplayPlanes'
key doesn't exist. I think these are all the cases we need to worry about. If the key exists, its value will be a boolean which is where the CASE comes into play.
@daniel-wer While you're at it, could also do #5380? |
…-state-plane-display
…configuration subkey of userconfiguration in evolution
I wrote and tested the evolution to change |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Front-end looks perfect :)
@@ -48,8 +44,6 @@ class Cube { | |||
const color = properties.color || 0x000000; | |||
this.showCrossSections = properties.showCrossSections || false; | |||
|
|||
_.extend(this, BackboneEvents); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
awesome :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Backend/SQL LGTM
Add a new display mode for the planes in the 3D viewport which hides them alltogether. Also, move the setting to the 3D viewport where it can be more easily discovered.
Additionally, I added a setting to hide the dataset bounding box in the 3D view as requested in the issue.
TODO:
URL of deployed dev instance (used for testing):
Steps to test:
tdViewDisplayPlanes
setting and changing it to something else should not validate.Issues: