Ok, since we have 3.5 as a stable version now, it is time to move forward.
3.5 is kind of a version between past and the future. I like that we have something to base our work on and our todo-lists are pretty big.
What I'm planning to do in v3.6:
- Getting rid of CCAppDelegate
That thing is absolutely ugly, It makes the whole project structure unclear and confusing. Also it prevents us from embedding cocos2d into UIKit apps and from creating multiple instances in one app. It should be gone in 3.6. The only thing you will need to do is to create ViewController with CCView and place it anywhere. Pure cocos2d app will simply have to make those view-controller full screen.
- Introduce multi-instancing for Cocos2D
I raised a discussion about wanted CCDirector API for multiple instances. We already have an implementation in v4 branch with those stack-like director organization, but that might be confusing for newcomers. I have my own thoughts on that, but anyway it has to be done.
- Deprecate CCPackages, getting rid of SSZipArchive completely
Since we are Apple-oriented now, we can use native Apple ways to distribute downloadable resources. I don't think there is much of a demand for CCPackages out there, that is why I think they should be gone in v3.6.
- Deprecate CCFileUtils for basic assets (excluding PVR textures etc)
Using assets for managing resources is much more obvious and flexible and allows for App Thinning, hence it should become a standard for development. Migration tool for existing assets base will be introduced for CB, especially when there are already presented code-examples on that. Should be dead easy.
- Add uniform arrays for GL and buffer support for Metal
In order to create seamless shader development experience we should support all the features that chosen API provides to us.
Introduce keyboard support and also more mouse gestures. Rewrite CCDirectorMac since it is so ugly right now. Introduce Metal support.
- Merge -ext repo into main one, merge all tests into one application
Tittle says pretty much everything.
That is all for core-stuff.
I have some notes on automatic image scaling and polygonal sprites etc, but I can't be sure they will make it into v3.6. I also wish we could deprecate CCEffects and replace it with multi-pass stackable renderer and shader library, but that is too much of a work for the nearest feature.
Let me know if you have some features you want to be implemented or any criticism or question about the ones I stated above.