IRegion Accumulator Bug

IRegionAccumulatorIssue.zip (5.6 KB)

I created a region using IRegion. I selected Accumulator and Splicer as the ControlPointType. The TypeConstraint is “Spread.”

[Region(SupportedBorderControlPoints = ControlPointType.Accumulator | ControlPointType.Splicer, TypeConstraint = “Spread”, TypeConstraintIsBaseType = true)]

The problem: The accumulator also expects Spread … but in my opinion, that is incorrect.

Indeed, I think a good compromise for now would be to exclude the accumulator from the type constraint.

Thinking about it, for FUSE we’d need a constraint for the accumulator. Hm, that sounds like an extra property now. In that case it would probably be more clean to provide TypeConstraint properties for each control point type. So we leave the existing one and also it’s semantic, that if set it applies to all. But we also add three more for each individual type where you can override/set for each of them.

1 Like

Exactly… if I’m not mistaken, ControlPointType.Border is also excluded from TypeConstraint.

And that’s correct… only the splicers

What else comes to mind on this topic… if it needs to be addressed anyway… it would be really, really good if you could overwrite the InnerType of InputDescription in AcknowledgeInput… so you could return the InnerType… which you would then have to handle yourself in RetrieveInput.

But it would allow type conversion at the border… e.g., CPU => GPU.