Integer Interpolation - Splining Issue

I’m not sure if this would class as a bug.

I was playing with setting up a driver that would be driven by an integer Custom Property. It would use floor(property_value), so it would behave more like Constant interpolation when you switch from blocking to splining. That way, you wouldn’t need to add extra keys, or mess around with the curves on the property values.

When I change the curve to ‘Bezier’ and ‘Automatic’, the curve has a step in it. It is an integer property, so that’s maybe to be expected. However, it switches it’s value from 1 to 2 half-way between the two keys that I set.

That’s unlikely to be the expected (or desired) behavior when keying an integer.

Obviously, you can get around it by just setting two keys next to each other when you change the value. I was hoping to be able to build that into the driven properties as part of the rig.

[Edit]
My ‘floor()’ thinking probably won’t work for my intended plan. If you key 1 then 3, it will evaluate to 2 somewhere in the middle. That’s essentially the same issue that the spline interpolation is creating.

Ideally integer propeties would always behave as if they had ‘Constant’ interpolation, without needing to set two keys next to each other when the value changes.