pub fn resolve_name<'a, I>(
source: &str,
node_name: &str,
namespace: &str,
remaps: I,
) -> Result<String<nros_node::::names::ResolvedName::{constant#0}>, ()>Expand description
Phase 305 W3 (issue 0255) — the ONE name-resolution seam: ROS 2 source-name
expansion (~/relative → FQN, ns=/ collapse) + launch remap substitution
(exact-FQN match, first rule wins; no wildcards). Implemented in
nros_node::names so both the Rust ExecutorSink and the C-ABI
executor-side remap table share one lowering; re-exported here next to
SourceNameKind as the source-metadata-level entry point.
Resolve a source-level entity name through launch remap rules: expand the
source name AND each rule’s from to fully-qualified form, compare exact,
substitute the (also expanded) to of the first matching rule; no match →
the expanded source name. A rule whose from/to fails to expand is
skipped (never masks the name expansion itself).