Skip to content
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

Allow user-customizable viewport arrangements #2570

Merged
merged 187 commits into from
Jun 1, 2018
Merged

Conversation

philippotto
Copy link
Member

@philippotto philippotto commented May 4, 2018

This PR adds custom viewports to WK core. I integrated golden layout and wrote an own react adapter so that the integration is seamless. Arranging of viewports works by only rendering the input catchers into the layout, while the actual canvas is rendered across the entire screen.

Mailable description of changes:

  • WebKnossos now supports individual layouting of the tracing views. The layout can be changed by drag'n'drop of the tabs within the tracing view.

Steps to test:

  • test all different layout views (in multiple browsers) and confirm that everything (normal tracing, arranging views) works as expected

Issues:


  • Ready for review

…2295)

Move buckets for XY plane on each frame to GPU and render it (status: pixel-perfect for arbitrary xyz and zoomstep).
…ty data to data texture and refresh lookup texture in requestAnimationFrame loop when necessary
…ing into 512 texture; pass texel coordinates into fragment shader
… when downsampling segmentation; tweak perf of array sorting by using Bose-Nelson network
… loaded; clean up some code and add comments
@philippotto
Copy link
Member Author

I remember that we previously had many cyclic dependencies because of the way everyone depended on the ThreeJS renderer. Any issues here?

No, I didn't run into any problems here :)

@philippotto
Copy link
Member Author

@hotzenklotz I completely removed the k/l scaling. The viewport scaling is solely dependent on the available size in a pane (the viewports are still quadratic, though). Do you want to give it another try?

@daniel-wer
Copy link
Member

The page is slightly too high in Firefox, leading to this quirky behaviour:

custom-viewports-bug

Apart from that, it worked very well for me :)

Copy link
Member

@hotzenklotz hotzenklotz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice. So Viewport. Much wow.

@philippotto philippotto merged commit 46bd8b1 into master Jun 1, 2018
@jstriebel jstriebel deleted the custom-viewports branch June 1, 2018 11:21
daniel-wer added a commit that referenced this pull request Jun 4, 2018
@daniel-wer daniel-wer mentioned this pull request Jun 4, 2018
1 task
@philippotto philippotto restored the custom-viewports branch June 4, 2018 14:46
philippotto added a commit that referenced this pull request Jun 4, 2018
@philippotto philippotto deleted the custom-viewports branch June 5, 2018 12:25
philippotto added a commit that referenced this pull request Sep 17, 2018
* Revert "Revert "Allow user-customizable viewport arrangements (#2570)""

This reverts commit 5ad7dc6.

* Revert "Revert "fix node selection; 3d viewport rotation/zooming; fix shortcuts (#2673)""

This reverts commit c95a064.

* make gl style static to avoid re-mountings

* workaround weird uglifyjs bug which remounts instead of rerenders some react components

* re-add snapshots

* fix bug which caused hidden arbitrary view to be still rendered

* pretty code

* tmp: work on different default-layout(s)

* Revert "tmp: work on different default-layout(s)"

This reverts commit 895c673.

* tmp: re-add k/l for custom viewports

* pretty code

* fix wrong method call

* update snapshots

* update snapshots

* adapt custom viewports to newest master

* clean up custom viewports

* re-introduce k/l scale value into store; improve UX of custom viewports

* fix linting

* fix multiple reset and show move-cursor when hovering over tab

* add default layoutScaleValue to backend

* fix syntax error

* update changelog

* pretty code
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Custom viewport arrangement
4 participants