This repository has been archived by the owner on Sep 7, 2022. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge Google's master branch into ndmaster and resolve conflicts (#23)
* feat: add state saving/sharing ui allowing users to send their state to a server that accepts a json encoded version of the neuroglancer state. the "state server" is expected to return a url that will respond that same json string * feat(zarr): support dimension_separator in .zarray file This implements the spec change described here: zarr-developers/zarr-python#715 This also adds a query string parameter by the same name. Fixes google#241. * feat(multiscale mesh): add additional debugging checks * fix(multiscale mesh): turn off multiscale mesh fragment debugging by default This was mistakenly left on by default. * simplified state sharing code. replaced dialog with a state server config file and a select element if there is more than 1 server * moved state share code out of viewer into separate file, renamed state key for the selected state server * feat(ui): add support for configurable side panels Previously, only two side panels were supported, the layer side panel and the selection details side panel. Only a static configuration was supported, a single column on the right, with the layer side panel on top and the selection details below, and the vertical height divided equally. This commit adds support for an arbitrary number of side panels, to the left/right/top/bottom of the main data panels. Panels can be moved via drag and drop, and the size can also be adjusted. The side panels for multiple layers can now be shown at once, and individual tabs of side panels can also be dragged to separate panels. * feat: add layer list panel and support for "archived" layers Archived layers are shown only in the new layer list panel; they are not visible and are not shown in the layer bar. They may be useful in the case where there are a large number of layers that would otherwise clutter up the layer bar. This commit also improves the visual feedback during layer and drop operations. * feat(python): add ConfigState options for additional panel buttons * fix(python): fix ManagedLayer.visible property * fix(annotation): only bind properties actually referenced by the shader Annotation rendering maps properties to shader vertex attributes, and WebGL implementations limit the number of attributes to ~16. Furthermore, previously all properties were bound even if not referenced. With this commit, only properties actually referenced by the shader are bound. This allows annotation layers to support data sources with a large number of properties, provided that only a small number are actually referenced by the shader at once. * fix(annotation): fix rendering tab to better handle a large number of properties * fix(annotation): prevent collapse of annotation property list * fix(perspective_panel): eliminate separate transparentPickEnabled behavior Segmentation layers have a "pick" boolean option that previously controlled two things: 1. When off, double clicking does not select/deselect segments in the layer. 2. When on, picking of transparent meshes behaves exactly the same as if the mesh were opaque --- i.e. it is not possible to pick objects behind/inside the mesh. When off, picking of transparent meshes has lower precendence than opaque objects behind. In practice, the picking behavior for transparent objects with "picking on", which made it impossible to pick opaque objects behind, is not very useful. With this change, the second behavior change no longer applies: transparent objects now always have lower picking precendence than opaque objects, making it possible to pick opaque objects behind transparent objects. * fix(ui/side_panel): only allow dragging from title bar This allows slider controls in the body of side panels to work correctly. Also disables auto-select on focus behavior for the name input field of the layer side panels. The previous auto-select on focus behavior meant that attempting to start a drag from the text area (which takes up most of the title bar and is the most natural place to drag from) worked, but showed the text itself being dragged rather than the entire panel. Co-authored-by: Chris Jordan <[email protected]> Co-authored-by: Jeremy Maitin-Shepard <[email protected]> Co-authored-by: Hannah Gooden <[email protected]>
- Loading branch information