Skip to content

feat(webgl): add contour and density plots - #478

Open
peymanvahidi wants to merge 28 commits into
perf/parquetbundle-v3from
feat/density-contour-layers
Open

peymanvahidi wants to merge 28 commits into
perf/parquetbundle-v3from
feat/density-contour-layers

Conversation

@peymanvahidi

Copy link
Copy Markdown
Collaborator

Now we have a new drop down (next to search field) which you can switch between density plot and contour plot.

some notes:

  • we can change the drop down and move it do settings. I just put it here for ease of use, I have no preferences regarding this.
  • we have off/auto/on options for each. I was thinking that we can only keep the auto and off. for auto mode when you zoom in after a threshold you'll see the scatterplot without density/contours, which is nice (I guess).
  • also take a closer look to contour lines, their colors are mixing with each other. a feature that I like.
  • some knobs, like opacity of contour backgrounds, thickness of the lines, etc can be set. I chose these for now.
  • Not sure if density plot is sth that we would like to keep. the logic behind is that the colors of the data points which are overlapping are being mixed.
Screenshot 2026-09-10 at 14 41 19 Screenshot 2026-09-10 at 14 40 53

peymanvahidi and others added 27 commits September 7, 2026 17:44
…EFAULT

One exported default in utils replaces seven spellings of 'off'.
… iso-lines)

One composite shader, u_style picks the branch; bands are one octave of density each.
…lues

Five options over one select; the URL carries contour-auto and contour-on.
…omment

Line alpha follows the denser band; e2e counts differing pixels instead of frame bytes.
…upport floor, no fill

Own wider blur and engage threshold; heatmap untouched.
Ceiling half a level past the last crossing; the test now pins the alpha chain.
The 0.35 darkening read as black on white and lost the category hue.
…oat per ring

The fringe band is one coat pale and the core five coats deep, so nested contours read like overlapping layers.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Five coats now cover two thirds of the core; the stale no-fill block comment is fixed.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… in the core

Two knobs, DENSITY_CONTOUR_FILL_OUTER and _CORE, replace the per-coat opacity.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…can be re-imported

Re-selecting the same dataset fired no change event, leaving the app on the demo.
…or disables its button

The name and demo flag now come from handleDataLoaded on success; the failure shows a toast.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…o the route

Under /explore/ the relative URL hit the SPA fallback and the demo never loaded.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@peymanvahidi
peymanvahidi added this pull request to stack #479 September 10, 2026 12:50
@peymanvahidi

Copy link
Copy Markdown
Collaborator Author

I made the lines thicker and I also suggest to:

  • make the default shape size to 5
  • preserve the shape size when switching annotations. I think it's more convenient

in this pic the lines are thicker and the shape size is 5

Screenshot 2026-09-10 at 21 28 22

@peymanvahidi

Copy link
Copy Markdown
Collaborator Author

maybe we can add a feature that when we zoom, the dots gets a bit larger

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.

1 participant