Propagate a role table through a ShapeEvolution record.
Returns a new RoleTable with hashes updated according to the evolution.
Deleted faces: role removed
Modified faces: hash updated to first result hash
Unchanged faces: hash preserved
Limitation: When a face splits (1→many in evolution.modified), only the
first successor hash is tracked. The geometric fallback in resolveRef handles
cases where this picks the "wrong" successor. A future version may return
multi-hash mappings for split-aware resolution.
Propagate a role table through a ShapeEvolution record. Returns a new RoleTable with hashes updated according to the evolution.
Limitation: When a face splits (1→many in
evolution.modified), only the first successor hash is tracked. The geometric fallback inresolveRefhandles cases where this picks the "wrong" successor. A future version may return multi-hash mappings for split-aware resolution.