The behavior functions are very complicated and difficult to maintain. Recent work like this:
#1731
#1748
#1721
would not have been necessary if we didn't use this pattern. The behavior functions allow the client to set state in ways that can break scenery. They make performance difficult because we have to re-render elements more frequently we would otherwise, because we have no idea what the behavior functions are going to change. Instead of behavior functions, why don't we use a method override or more common software pattern? We could likely remove ~1000+ lines of scenery code.
The behavior functions are very complicated and difficult to maintain. Recent work like this:
#1731
#1748
#1721
would not have been necessary if we didn't use this pattern. The behavior functions allow the client to set state in ways that can break scenery. They make performance difficult because we have to re-render elements more frequently we would otherwise, because we have no idea what the behavior functions are going to change. Instead of behavior functions, why don't we use a method override or more common software pattern? We could likely remove ~1000+ lines of scenery code.