From c4b22c03b9635f503bb590216bd90ab4328f8a3e Mon Sep 17 00:00:00 2001 From: Dennis Kobert Date: Sat, 22 Aug 2026 20:59:37 +0000 Subject: [PATCH] Size extent-path materialization by the total flat span --- node-graph/node-macro/src/codegen.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/node-graph/node-macro/src/codegen.rs b/node-graph/node-macro/src/codegen.rs index f840444268..f7b997659f 100644 --- a/node-graph/node-macro/src/codegen.rs +++ b/node-graph/node-macro/src/codegen.rs @@ -1349,14 +1349,14 @@ pub(crate) fn generate_node_impl(crate_ident: &CrateIdent, parsed: &ParsedNodeFn _ => extent_edge(&query, &arg), }, ParsedFieldType::Regular(RegularParsedField { ty, .. }) => match ir::value_binding(&node, index) { - // A ranked input materializes whole, so a data-dependent - // extent can walk its lanes. + // A ranked input materializes whole (the wire's total flat + // span, as in eval), so a data-dependent extent can walk + // its lanes. ValueBinding::Materialized => { - let levels = ir::materialized_levels(&node, index); quote! { let #query = || { let __arena = #core_types::context::ExtractArena::arena(__input); - let __count = match #core_types::node::Node::extent(&self.#name, __input, #core_types::gpoll::Level::Below(#levels)) { + let __count = match #core_types::node::Node::extent(&self.#name, __input, #core_types::gpoll::Level::Total) { #core_types::gpoll::GPoll::Final(#core_types::gpoll::Extent::Exactly(__count)) => __count, #core_types::gpoll::GPoll::Pending => return #core_types::gpoll::GPoll::Pending, _ => return #core_types::gpoll::GPoll::Error(::std::boxed::Box::new(#core_types::gpoll::GraphError::new("extent over a non-exact ranked input"))),