Add M9-M14: UI redesign, plugins, macros, 3D viz, binary/segmentation ops, Metal GPU, scientific LUTs

M9: TailwindCSS + shadcn/ui frontend redesign
M10: Dynamic plugin system with shared library loading
M11: Macro recording, playback, and batch processing
M12: 3D volume visualization, marching cubes, STL/OBJ export, rivol:// protocol
M13: Additional GPU shaders, enhanced auto-threshold, merge channels
M14: Binary image processing (EDT, watershed, skeleton, connected components,
     voronoi), segmentation & analysis (particles, colocalization, find maxima),
     math/noise/filter/transform ops (60+ total), scientific LUTs (Fire, Ice,
     Spectrum, Jet, Phase, HiLo + .lut file I/O), Apple Metal GPU optimization
     (metal-only feature, Apple Silicon detection, lower dispatch threshold),
     native Metal compute crate (ri-metal with MSL shaders via objc2-metal),
     7 new WGSL GPU shaders (bilateral, variance, mean, math_ops, outline,
     minmax_filter, affine transform). 25 crates, 162 tests, 75+ IPC commands.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
This commit is contained in:
Omar Sobh
2026-03-10 07:41:56 -07:00
co-authored by Claude Opus 4.6
parent 1889715f3c
commit 0fd39d7fd3
135 changed files with 19456 additions and 1905 deletions
+33
View File
@@ -0,0 +1,33 @@
[package]
name = "ri-metal"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
[dependencies]
ri-types = { workspace = true }
ri-core = { workspace = true }
log = { workspace = true }
[target.'cfg(target_os = "macos")'.dependencies]
objc2 = "0.6"
objc2-metal = { version = "0.3", features = [
"MTLDevice",
"MTLCommandQueue",
"MTLCommandBuffer",
"MTLComputeCommandEncoder",
"MTLComputePipeline",
"MTLBuffer",
"MTLLibrary",
"MTLResource",
"MTLTypes",
"MTLComputePass",
"MTLPipeline",
"MTLCommandEncoder",
"MTLAllocation",
"dispatch2",
"std",
] }
objc2-foundation = { version = "0.3", features = ["NSString", "NSError"] }
dispatch2 = { version = "0.3", features = ["block2"] }