Skip to content

Add persistent per-channel fixed concentration scales - #30

Merged
marpaia merged 4 commits into
masterfrom
marpaia/15
Sep 25, 2026
Merged

marpaia merged 4 commits into
masterfrom
marpaia/15

Conversation

@marpaia

@marpaia marpaia commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator

Closes #15.

Species and signal colors currently normalize against each incoming frame or selected slice, so a concentration can change color as surrounding extrema change. Add Automatic/Fixed controls and legends backed by one validated normalization API, with independent settings for each numerical species/signal channel. Fixed bounds clip display intensity only; model and inspector values remain unchanged.

Invalid edits retain the last valid active range with an inline explanation. Channel settings survive missing data, live reset, and frame seeking, while opening another dataset restores defaults. Constant and empty data have explicit legends, and extreme finite bounds avoid overflow.

Validation: 49 Vitest tests; TypeScript/build/format checks; actual Chromium assertions on cell instance RGB and signal texture RGBA for changing extrema/slices, clipping, inspector values, invalid bounds, keyboard operation, channel switching, missing data/reset, and new-dataset initialization. The browser regression is committed as viewer/browser/scalar-ranges.mjs.

Originally stacked on #27 (marpaia/20) for its dataset lifecycle. The shared normalization API is a prerequisite for #19; #18 labels and the actual #16 replay timeline passed combined integration checks. No native engine or dependency changes.

Independent review is complete against the original acceptance criteria and intended review base. The review report records per-criterion evidence, both corrected campaign findings, exact tested heads, landing order and platform limits.

Merged into master in the approved campaign order: #26, #27, #28, #31, #34, #36, #29, #30, #33, #35, #37, #32. The final tree preserves the reviewed implementation and integration regressions. Prerequisites were integrated with merge commits, and the frozen review bases were retained.

Landing validation: 534 Python tests passed (57 environment-dependent skips), 115 viewer tests passed, Ruff lint, strict type checks, viewer build/format checks, and actual Chromium feature/integration checks passed. Pyright retains the existing native-extension source warning. A Windows-only documentation link-test encoding failure was reproduced and fixed with an explicit UTF-8 read; the corrected final PR heads passed Windows CLI/shutdown checks and CUDA compilation. NVIDIA runtime execution remains unverified.

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.

Add fixed concentration ranges for species colors and signal slices

1 participant