Skip to content

Commit cc2b788

Browse files
committed
raster-nodes: move node gradient_map to its own mod
1 parent a1a6736 commit cc2b788

4 files changed

Lines changed: 42 additions & 33 deletions

File tree

editor/src/messages/portfolio/document_migration.rs

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ const NODE_REPLACEMENTS: &[NodeReplacement<'static>] = &[
251251
node: graphene_std::vector::auto_tangents::IDENTIFIER,
252252
aliases: &["graphene_core::vector::GenerateHandlesNode", "graphene_core::vector::RemoveHandlesNode"],
253253
},
254-
// raster::blending_nodes
254+
// graphene_raster_nodes::blending_nodes
255255
NodeReplacement {
256256
node: graphene_std::raster_nodes::blending_nodes::blend::IDENTIFIER,
257257
aliases: &[
@@ -272,7 +272,7 @@ const NODE_REPLACEMENTS: &[NodeReplacement<'static>] = &[
272272
"graphene_raster_nodes::generate_curves::ColorOverlayNode",
273273
],
274274
},
275-
// raster::adjustments
275+
// graphene_raster_nodes::adjustments
276276
NodeReplacement {
277277
node: graphene_std::raster_nodes::adjustments::luminance::IDENTIFIER,
278278
aliases: &["graphene_core::raster::adjustments::LuminanceNode", "graphene_core::raster::LuminanceNode"],
@@ -313,12 +313,6 @@ const NODE_REPLACEMENTS: &[NodeReplacement<'static>] = &[
313313
node: graphene_std::raster_nodes::adjustments::threshold::IDENTIFIER,
314314
aliases: &["graphene_core::raster::adjustments::ThresholdNode", "graphene_core::raster::ThresholdNode"],
315315
},
316-
// this node doesn't seem to exist?
317-
// (graphene_std::raster_nodes::adjustments::blend_color::IDENTIFIER, &["graphene_core::raster::adjustments::BlendColorsNode","graphene_core::raster::BlendColorsNode"]),
318-
NodeReplacement {
319-
node: graphene_std::raster_nodes::adjustments::gradient_map::IDENTIFIER,
320-
aliases: &["graphene_core::raster::adjustments::GradientMapNode", "graphene_core::raster::GradientMapNode"],
321-
},
322316
NodeReplacement {
323317
node: graphene_std::raster_nodes::adjustments::vibrance::IDENTIFIER,
324318
aliases: &["graphene_core::raster::adjustments::VibranceNode", "graphene_core::raster::VibranceNode"],
@@ -339,7 +333,15 @@ const NODE_REPLACEMENTS: &[NodeReplacement<'static>] = &[
339333
node: graphene_std::raster_nodes::adjustments::exposure::IDENTIFIER,
340334
aliases: &["graphene_core::raster::adjustments::ExposureNode", "graphene_core::raster::ExposureNode"],
341335
},
342-
// raster
336+
// graphene_raster_nodes::*
337+
NodeReplacement {
338+
node: graphene_std::raster_nodes::gradient_map::gradient_map::IDENTIFIER,
339+
aliases: &[
340+
"graphene_raster_nodes::gradient_map::GradientMapNode",
341+
"graphene_core::raster::adjustments::GradientMapNode",
342+
"graphene_core::raster::GradientMapNode",
343+
],
344+
},
343345
NodeReplacement {
344346
node: graphene_std::raster_nodes::generate_curves::generate_curves::IDENTIFIER,
345347
aliases: &["graphene_core::raster::adjustments::GenerateCurvesNode"],

node-graph/graster-nodes/src/adjustments.rs

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -443,30 +443,6 @@ async fn threshold<T: Adjust<Color>>(
443443
image
444444
}
445445

446-
// Aims for interoperable compatibility with:
447-
// https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#:~:text=%27grdm%27%20%3D%20Gradient%20Map
448-
// https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#:~:text=Gradient%20settings%20(Photoshop%206.0)
449-
#[node_macro::node(category("Raster: Adjustment"))]
450-
async fn gradient_map<T: Adjust<Color>>(
451-
_: impl Ctx,
452-
#[implementations(
453-
Color,
454-
RasterDataTable<CPU>,
455-
GradientStops,
456-
)]
457-
mut image: T,
458-
gradient: GradientStops,
459-
reverse: bool,
460-
) -> T {
461-
image.adjust(|color| {
462-
let intensity = color.luminance_srgb();
463-
let intensity = if reverse { 1. - intensity } else { intensity };
464-
gradient.evaluate(intensity as f64).to_linear_srgb()
465-
});
466-
467-
image
468-
}
469-
470446
// Aims for interoperable compatibility with:
471447
// https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#:~:text=%27-,vibA%27%20%3D%20Vibrance,-%27hue%20%27%20%3D%20Old
472448
// https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#:~:text=Vibrance%20(Photoshop%20CS3)
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
//! Not immediately shader compatible due to needing [`GradientStops`] as a param, which needs [`Vec`]
2+
3+
use crate::adjust::Adjust;
4+
use graphene_core::gradient::GradientStops;
5+
use graphene_core::raster_types::{CPU, RasterDataTable};
6+
use graphene_core::{Color, Ctx};
7+
8+
// Aims for interoperable compatibility with:
9+
// https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#:~:text=%27grdm%27%20%3D%20Gradient%20Map
10+
// https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#:~:text=Gradient%20settings%20(Photoshop%206.0)
11+
#[node_macro::node(category("Raster: Adjustment"))]
12+
async fn gradient_map<T: Adjust<Color>>(
13+
_: impl Ctx,
14+
#[implementations(
15+
Color,
16+
RasterDataTable<CPU>,
17+
GradientStops,
18+
)]
19+
mut image: T,
20+
gradient: GradientStops,
21+
reverse: bool,
22+
) -> T {
23+
image.adjust(|color| {
24+
let intensity = color.luminance_srgb();
25+
let intensity = if reverse { 1. - intensity } else { intensity };
26+
gradient.evaluate(intensity as f64).to_linear_srgb()
27+
});
28+
29+
image
30+
}

node-graph/graster-nodes/src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,6 @@ pub mod curve;
77
pub mod dehaze;
88
pub mod filter;
99
pub mod generate_curves;
10+
pub mod gradient_map;
1011
pub mod image_color_palette;
1112
pub mod std_nodes;

0 commit comments

Comments
 (0)