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

Merge upstream, include GitHub Actions to deploy PRs to staging environment #6

Merged
merged 45 commits into from
Sep 20, 2024

Conversation

aaronkanzer
Copy link

No description provided.

seankmartin and others added 30 commits May 17, 2024 23:33
…cking, blending, and performance (google#584)

* fix: ensure picking value from max projection is < 1

* fix: better blending of multiple VR layers with max enabled

* fix: clarify comment

* fix: userIntensity always overwrites default

* fix: no longer double draw opaque layers

* chore: remove log to check fix

* refactor: remove non-functioning continue statement

* feat: emit a single ID for picking in VR layer

* refactor: rename uniform to uPickId

* feat: register VR layer to get pick ID

* refactor: remove unused demo code around pick ID

* refactor: clarify role of copy shaders in perspective panel

* fix: don't copy over the max projection picking buffer for each max layer
Do one copy if there are any max layers instead

* refactor: clarify buffer names

* fix: VR tool from Python
* feat: transfer function widget

* refactor: fix linting warnings

* refactor: TF uses uint64 as number, not string

* chore: cleanup TODO and comments

* refactor: clean up transfer function code a little

* fix: TF control points didn't always make it to JSON

* refactor: clearer comments and update loop

* fix: no longer able to place control points on top of eachother

* fix: can grab control points in TF that are close in X by breaking ties with Y

* fix: bind remove TF point to shift+dblclick
You could accidentally remove points trying to move them before

* feat: clearer name of TF input value

* feat: Python control over transfer function shader contro

* docs: fix typo in python docs

* test (Python): shader control transfer function test

* fix: user can't specify transfer function points outside input range

* docs: transfer function UI control

* docs: code comment on transfer functions

* chore: format and lint

* chore(python): format

* refactor(in progress): store control points in abs value

* refactor(progress): transfer functino

* progress(refactor): tf refactor

* progress(refactor): tf refactor

* progress(refactor): fix all type errors in tf file

* progress(refactor): fix type errors

* refactor(progress): fix more type errors

* fix(tests): remove unused imports

* tests(fix): browser test whole TF

* fix: transfer function correct interpolation

* fix: dynamic transfer function size and correct GPU control

* feat: remove range and size as TF params
Instead they are computed based on input

* fix: parse shader directive for new TF

* fix: JSON state parsing and saving for new TF

* fix: new TF runs, but UI control is broken

* fix: remove accidental log

* fix: control points display in correct position in UI

* fix: find control point near cursor in new TF

* fix: moving control points and setting color

* fix: correct number of lines

* fix: display UI panel texture for TF

* fix: render data from TF texture

* fix: remove fixed size TF texture

* fix: link UI to JSON for control points

* fix: remove temps and TODOs

* fix: handle control point range for 0 and 1 points

* fix: test

* fix: unused code

* fix: can no longer lose control of point that you were trying to move

* fix: compute range after removing a point

* refactor: clearer range update

* fix: tf UI has correct texture indicator

* feat: default intensity for transfer functions

* fix: don't crash on window[0] === window[1] in TF UI panel

* fix: userIntensity always overwrites default

* docs: update transfer function docs

* tests: fix a test for TFs with uint64 data

* feat: use non-interpolated value in TF for consistency and efficiency

* fix: tests

* Python(fix): fix transfer function control input

* docs: fix formatting

* Python: format

* fix: remove accidental test change

* refactor: clarifications

* docs: while inverted windows are not supported, remove from docs

* fix: correctly draw lines with a points beside window, one left, one right

* feat: a little bit cleaner interaction with TF UI window

* refactor: clarify the transfer function lines drawing
Previously, for purpose of "picking" the data value at the mouse
position, visible layers were incorrectly ordered by the raw
determinant of the "chunk to layer coordinate" transform matrix, in
order to attempt to select the finest resolution source that is visible.

However, this did not take into account that the determinant may be
negative depending on how dimensions are ordered, leading to incorrectly
choosing the coarsest rather than finest resolution source.

Fixes google#539.
* chore: output declaration files for neuroglancer when installed with NPM

Add --declaration flag to build-package.ts to optionally output typescript declaration files
Enable flag for npm prepare script

* fix: improve declarations by using tsconfig.json

* always generate declaration files when building packages

* remove unnecessary use of ts.createCompilerHost
* fixed graphene merge tool clear all button was not deleting the line segments

* fixed bug when clearing merge tool when there is an active merge segment

* removed delay between removing old root ids and adding new root ids for a merge

* fix(datasource/graphene) multicut tool was not updating 2d visualization for previously unloaded chunks (as new equivalences were loaded)

* temp fix - unlocking merge submission when loading state (usually reloading)
…#592)

* refactor: move histogram shader code to cdf.ts

* Revert "refactor: move histogram shader code to cdf.ts"

This reverts commit a79e6be.

* feat: grab global histogram specs from VR layer

* temp: clear all histogram buffers as demo

* feat: use VR layer visibility to also control hist showing

* feat: only do VR hist drawing if no slice views

* temp: shader for 3d invlerp

* temp: more progress

* temp: minimal shader to debug with

* revert: remove in vertex

* temp: compiling vertex shader for data access

* temp: simple buffer output hist

* fix: volume chunks work ok

* fix: working hist for one chunk
broken rendering though

* fix: drawing works but very slow. Multi-pass probably better but then that's another pass

* fix: working histogram 3d

* fix: histogram data display of off invlerp range

* feat: work towards multi-channel multi-invlerp support

* fix: VR tool from Python

* fix: VR sample works for multi-invlerp

* fix: VR max projection works with data sampling

* feat: add ability to only activate chunk textures

* fix: more error checking in VR layer for histograms

* chore: add comment

* feat: detect camera move in perspective panel

* refactor: rename code snippets in chunk

* refactor: rename variable

* refactor: clarify volume rendering code with histograms

* fix: change histogram debug default to false

* fix: correct fragment shader for regular chunk render

* chore: add comment

* feat: allow render context to know camera move

* debug: add frame rate monitor to help compare performance

* debug: track time for VR render

* feat: faster histogram rendering by avoiding shader and buffer flippign

* feat: don't render 3d histogram if camera movement

* refactor: clarify chunk info storage for histograms

* feat: variable samples for each histogram based on size and chunk amount

* refactor: clean up for review

* refactor: improve vertex shader tabbing

* fix: re-enable depth test on restore buffers
This fixes the longstanding bug whereby, seemingly at random, new chunks
would no longer load until layer visibility is toggled.

The issue was due to order dependence in signal dispatching in response
to changes to the DisplayDimensionRenderInfo. Previously,
DisplayDimensionRenderInfo was synchronized between the main UI thread
and the chunk worker thread in a fragile way: the transformed sources
computed for a layer in the UI thread were implicitly associated with a
particular `DisplayDimensionRenderInfo` value, but this value was not
transmitted with the sources, and instead was relied on being
synchronized independently.

This commit instead ensures that the associated
`DisplayDimensionRenderInfo` value is always sent along with the
transformed sources, which avoids this order dependence.
Chrome as launched by vitest/webdriverio currently does not support
WebGL on macOS on github actions.

See related bug:
microsoft/playwright#30585
Use a HEAD request as fallback for http 206 status with no content-length.
The documentation is still a work in progress.
…ents (google#589)

* feat: add a mode override to VR layers
this allows to run second passes in different modes in the background, without affecting the UI value

* feat: run a second rendering pass on VR layers for picking

* feat: detect camera move in perspective panel

* feat: allow render context to know camera move

* feat: only two pass render VR pick when no camera movement

* refactor: simplify gl state setting in render loop for VR

* feat: only redraw if VR present as only VR uses redraw

* temp: second pass in single draw call progress

* temp: establish more shader control

* fix: show on VR color

* fix: correct setting of chunk translation

* feat: add context tracking of continous camera motion

* feat: link perspective panel to context camera tracking
Also only redraw if volume rendering is present after camera motion

* fix: rename camera movement in layers

* feat: mark rotation in panel as continuous

* feat: mark rendered data panel actions as camera move

* feat: mark slice rotations as continous camera

* refactor: clearer gl state tracking for vr on/max

* refactor: interface shader uniforms and reduce duplication

* fix: set new source outside of loop, ensure mode override can't get stuck on

* refactor: unify naming of camera motion in contexts

* fix: make unvarying const

* refactor: cleaner integration of new camera tracking

* fix: logic for when VR picking is available

* fix: correctly draw VR to new VR buffer in max/normal hybrid

* fix: OIT blend VR layer and other transparent layers after new buffer made

* refactor: normalize naming across files

* refactor: clearer buffer interaction during VR rendering

* fix: correctly set back to state and buffer during VR if a second pass or histogram is used

* refactor: re-use shader uniform setting function in max and non max VR

* refactor: fix typo in var name

* chore: fix formatting

* fix: turn off pre-depth testing in VR to allow in shader test instead

* feat: remove unused epth shader

* fix: enable required depth test for second pass max projection

* fix: allow wireframe mode in VR to work again

* feat: allow 8x VR downsampling

* refactor: remove unused "needToCleanUpVolumeRendering" variable
This always had the same value as "hasVolumeRendering", so "hasVolumeRendering" is used instead
* feat: mark transfer function as needing histogram

* feat: mark bounds for transfer function histogram

* refactor: pull histogram calculation into function

* feat: link up a transfer function CDF line shader

* fix: linting

* fix(log): correect console.log of histogram from VR

* fix: correct histogram index when invlerp and tfs are mixed

* feat: change transfer function line colours

* refactor: define CDF shader as a function
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.17.0 to 0.23.0.
- [Commits](golang/net@v0.17.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
chrisj and others added 15 commits July 24, 2024 08:30
Bumps the npm_and_yarn group in /examples/webpack/webpack-project-source with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.1.4 to 5.3.4
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.3.4/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the npm_and_yarn group in /examples/parcel/parcel-project-source with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.1.4 to 5.3.4
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.3.4/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@aaronkanzer aaronkanzer merged commit 4074c3c into master Sep 20, 2024
20 of 21 checks passed
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.

5 participants