Diamond: Slice view of FLML file

Registered by Jon Hill

Data in Diamond is currently organised as a top-down tree structure. This is useful for the majority of users, but is very cumbersome when wanting to change a number of similar options in multiple fields. For example, changing the relative error under adaptivity_options when using 4 fields to construct the metric, would require changing these under each field, with the associated traverse up and down the tree.

This blueprint would allow the presentation of FLML data via option type instead. For example, drilling down to, say, "adaptivity_options", then right-click, selecting "Slice along this option" would re-arrange the view such that we have:
adaptivity_options:
          |---------------------Velocity
          |---------------------Temperature
          |---------------------Salinity

for example, where adaptivity_options can be found enabled under these three fields.

A toggle to switch views (based on the current slice selection) and a reset button would be needed.

Blueprint information

Status:
Started
Approver:
None
Priority:
Undefined
Drafter:
Jon Hill
Direction:
Needs approval
Assignee:
Fraser Waters
Definition:
Drafting
Series goal:
None
Implementation:
Beta Available
Milestone target:
None
Started by
Fraser Waters

Related branches

Sprints

Whiteboard

When displaying the path on the LHS what should be shown?
The full spud path: /material_phase[0]/vector_field::Velocity/prognostic/solver/relative_error
The tag path: /material_phase/vector_field/prognostic/solver/relative_error
The display path: /material_phase/vector_field (Velocity)/prognostic/solver/relative_error
The name path: Velocity/relative_error
Tag path up to first name: vector_field (Velocity)/prognostic/solver/relative_error

So many choices! Which one do you want?[

[jhill1] My preference would be the name path, but with the material phase name displayed also: Water/Velocity/relative error

I think the user will know they clicked prognositc/solver/relative_error, so I think it's a matter of informing them of which field/path they are editing stuff under. Thoughts?

[fwaters]
So the name path all the way too the root?

[jhill1]
Looks very good so far. The last missing step is to implement the drop-down selector on an option, e.g. /velocity/prognostic/solver/iterative_method . The left-hand side should have a drop down selector for each field.

[fwaters]
OK on it. Will have that done after copy/paste is fixed.
--
Should the LHS be the same as on the main view, but not showing subtrees? That is able to add/delete nodes as well as select choice nodes.

[jhill1]
Yes, why not, if that's possible. Not 100% sure how that'll work/look, but we can try if you don't mind

[cwilson]
Just noticed these comments in my inbox and wanted to ask (since I see the terms material_phase, vector_field and prognostic floating around). How specific is this design to the fluidity schema?

[fwaters]
Not at all, everything is done by whatever schema is loaded. If it works in the diamond main view it will work with the slice-view.

[fwaters]
The last step of doing a drop down and adding and deleting nodes turned out to be quite tricky. As far as we can tell there's no good way of doing it that isn't going to take a lot of work. It's either going to be a total different style to the main view and quite hacky or we need to make CellRenderer's that can display the data and attribute widgets. So we're going to leave it as is for now.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.