[api] better designed api
lublak opened this issue ยท 3 comments
Just move all api related to an api package?
Allow easier registration of own components?
Document all api related stuff. ... jear ...
For example, I have IPanelCellInfoProvider not documented! ... Am guilty!
Wiki?
Yes! I had planned on doing all these things, but as is often the case, documentation took a back seat to functionality. One thing I'd like to add to this list, maybe at the beginning, is to finalize the API. I've been making a lot of changes to the API along the way, and once it's isolated and published, I want to make sure it remains backward compatible. I don't want to break add-ons with a minor update.
I have one big change I am currently considering. It has to do with how neighboring cells get notified of updates. Currently, the panel does this all which means the cell classes don't have to worry about it. It might be more efficient if the cells notified each other directly the way vanilla blocks do, since they know which directions their changes affect. The panel just notifies every neighbor whenever a cell reports a change. I'm not sure if it would affect performance enough to be worth the significant rewriting involved. And, I've never heard anyone complain about performance nor have I noticed any performance issues... yet.
Yes! I had planned on doing all these things,
I had been planning it for a while to finally bring it all under one hat.
I hope you don't mind if I start a little bit.
Not too much but a little bit.
I don't want to break add-ons with a minor update.
yup! fundamentally, not much should change in the api afterwards.
I'm not sure if it would affect performance enough to be worth the significant rewriting involved.
Can you then sleep with it, knowing that you could have optimised it? :P