the names "nodeId" and "nodeIdx" are confusing. Perhaps external vs internal nodeId? or sparse vs dense ?