Skip to content

fluid.jit.plotter data loading & color update#464

Open
balintlaczko wants to merge 1 commit into
flucoma:mainfrom
balintlaczko:jit_plotter_loading
Open

fluid.jit.plotter data loading & color update#464
balintlaczko wants to merge 1 commit into
flucoma:mainfrom
balintlaczko:jit_plotter_loading

Conversation

@balintlaczko
Copy link
Copy Markdown
Contributor

Changelog:

  • changed default background color to 0.95 0.95 0.95 0.95 1 for parity with fluid.plotter.

  • revamped dataset loading now uses tobuffer labelflip to avoid needing a for-loop to get the ids-to-samples mapping. (Unfortunately, now we need two tobuffer calls to build ids-to-samples and samples-to-ids, but that is still much faster than the previous for-loop.)

  • added option to load 1 to 7-dimensional datasets for the combined loading of positions, sizes, and/or colors

  • added dimmap message: remap input dimensions (think of zl.indexmap)

  • added lut and lutoffset messages: choose from different color maps (see: colorcet.com)

  • added misc/CET-colormaps.jxf: 60 color maps as a binarized jitter matrix

  • help patch/advanced tab: fixed dataset not clearing

  • help patch: added new tab "more dimensions & color maps"

  • updated reference

image

Changelog:
----------

- changed default background color to 0.95 0.95 0.95 0.95 1 for parity with fluid.plotter.

- revamped dataset loading now uses tobuffer labelflip to avoid needing a for-loop to get the ids-to-samples mapping. (Unfortunately, now we need two tobuffer calls to build ids-to-samples and samples-to-ids, but that is still much faster than the previous for-loop.)

- added option to load 1 to 7-dimensional datasets for the combined loading of positions, sizes, and/or colors

- added dimmap message: remap input dimensions (think of zl.indexmap)

- added lut and lutoffset messages: choose from different color maps (see: colorcet.com)

- added misc/CET-colormaps.jxf: 60 color maps as a binarized jitter matrix

- help patch/advanced tab: fixed dataset not clearing

- help patch: added new tab "more dimensions & color maps"

- updated reference
@balintlaczko
Copy link
Copy Markdown
Contributor Author

Note that I removed the misc folder from gitignore, because that's where I intended to put the new CET-colormaps.jxf file. Let me know if you want me to add a file in another way. I also think you may need to add some script to copy it into the PM-ready distribution? (@jamesb93 what do you think?)

@balintlaczko
Copy link
Copy Markdown
Contributor Author

...just some descriptive info: basically, it is a lot faster now, because it avoids a for-loop that was necessary to perform at least once to map samples to IDs (now uses the new labelflip option in the labelset). It also lets you refer to a >2D dataset with all the position, size, and color information, so you don't have to set those with loops. And, thanks to @rconstanzo's suggestions, now there is also a 1D color option and 59 new perceptually uniform color maps and an HSL on the 60th slot.

@rconstanzo
Copy link
Copy Markdown
Contributor

Having played with this for a couple weeks, I have to say this is super useful addition.

Not only super fast/performant, but being able to avoid using pointcolor to set the color/size across a huge fluid.dataset~'s worth of data is huge.

@tremblap
Copy link
Copy Markdown
Member

tremblap commented May 20, 2026

Thanks for this, it looks awesome!

It'll take time to check, because we need to change the cmake (we don't change the gitignore in a PR!)

I'll spend quality time over it in the next weeks, hopefully towards the next version

@balintlaczko
Copy link
Copy Markdown
Contributor Author

Haha, I knew you would like it. 😆

Just let me know how you prefer it, and I'll deliver it that way instead.
No rush.

@jamesb93
Copy link
Copy Markdown
Member

@balintlaczko if you take a look here:

install(FILES icon.png package-info.json QuickStart.md
you can see how things end up in misc at build time. However, the data is pulled through from: https://github.com/flucoma/flucoma-core/tree/main/Resources/Data.

Is the colour scheme file you've created something that is specific to Max, or could it feasibly be used in other environments? If the answer is yes, it is specific to Max, is the misc folder the right place for it? If the answer is yes again, then maybe we should unignore misc and merge the addition of the Data files from core and any local files in misc at build time.

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.

4 participants