From 217f32eb888142c27e293e6dcb16aeb712ee1b1f Mon Sep 17 00:00:00 2001 From: Dennis Kobert Date: Sat, 22 Aug 2026 12:59:37 +0000 Subject: [PATCH] Type the list-typed value defaults by their element --- node-graph/graph-craft/src/document/value.rs | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/node-graph/graph-craft/src/document/value.rs b/node-graph/graph-craft/src/document/value.rs index 90d19bcc9f..370391240d 100644 --- a/node-graph/graph-craft/src/document/value.rs +++ b/node-graph/graph-craft/src/document/value.rs @@ -236,19 +236,21 @@ macro_rules! tagged_value { // MANUAL VARIANTS // =============== Self::None => concrete!(()), + // The list-typed defaults type by their element: depth is not a + // `Type` axis, it rides the layout proven at wiring. Self::TypeDefault(td) => { let name = td.name.as_ref(); - if name == std::any::type_name::>() { return core_types::registry::record_type::(); } - if name == std::any::type_name::>() { return core_types::registry::record_type::(); } - if name == std::any::type_name::>>() { return core_types::registry::record_type::>(); } - if name == std::any::type_name::>() { return core_types::registry::record_type::(); } - if name == std::any::type_name::>() { return core_types::registry::record_type::(); } + if name == std::any::type_name::>() { return concrete!(Graphic); } + if name == std::any::type_name::>() { return concrete!(Artboard); } + if name == std::any::type_name::>>() { return concrete!(Raster); } + if name == std::any::type_name::>() { return concrete!(Vector); } + if name == std::any::type_name::>() { return concrete!(String); } Type::Concrete(td.clone()) } - Self::F64Array(_) => core_types::registry::record_type::(), - Self::Color(_) => core_types::registry::record_type::(), - Self::Gradient(_) => core_types::registry::record_type::(), - Self::BrushStrokes(_) => core_types::registry::record_type::(), + Self::F64Array(_) => concrete!(f64), + Self::Color(_) => concrete!(Color), + Self::Gradient(_) => concrete!(GradientStops), + Self::BrushStrokes(_) => concrete!(BrushStroke), // ======================= // AUTO-GENERATED VARIANTS // =======================