hi all; it's July already, and we're closing in fast to the expected API freeze for the 1.12 cycle: August 20, in time for GNOME 3.5.90.
looking at the road map for the 1.12 cycle (http://live.gnome.org/Clutter/Roadmap), I think we're in a pretty good shape already. the biggest missing features are the ClutterActorModel class (which should deprecate ClutterClone, as described by the 7th Apocalypse - https://live.gnome.org/Clutter/Apocalypses/Apocalypse7) and the touch-based gesture recognisers that Lionel has been working on; there is an additional small/medium clean up item (reimplement ClutterText's painting as a ClutterActor.paint_node()), as well as two minor features for ClutterFlowLayout (add a :snap-to-grid property and a :max-line-length property). some of the items in the road map introduce a series of deprecations; I expect these to be the final round for the 1.12 (and 1.x) cycle: - ClutterText:position has been deprecated in favour of ClutterText:cursor-position; the motivation for doing so should be pretty obvious. - ClutterActor:depth has deprecated in favour of ClutterActor:z-position; this has been an outstanding issue for the past 5 years or so. the semantics are essentially the same, except that :z-position doesn't call into ClutterContainer.sort_depth_order(). - ClutterActor:anchor-point, ClutterActor:scale-center-[xy], ClutterActor:scale-gravity, ClutterActor:rotation-center-[xyz], and ClutterActor:rotation-gravity-z have been deprecated in favour of the simpler ClutterActor:pivot-point property, which provides a center for all transformations, in normalized coordinate space. the transformation center and anchor point situation has been a source of confusion since the early days of Clutter, so this change will enable developers to actually achieve what they intend to in an easier way. - clutter_threads_enter() and clutter_threads_leave() have been deprecated, with no replacement. these two functions were meant to be used to take the Clutter lock to update the UI from different threads; this not only is utterly broken under the GL threading model, it's also not portable. UI updates should be scheduled from different threads by using the main loop. - ClutterTexture has been deprecated in favour of ClutterImage. ClutterTexture is full of accrued side effects that make it brittle when subclassing; the only capability available in ClutterTexture that's missing in ClutterImage is the convenience API for loading an image from a file: for this, you should be using GdkPixbuf on Linux, and the platform-specific image loaders on Windows and MacOS (or libpng/libjpeg directly, if needed). replicating an image loading API inside Clutter is not an option in the medium/long term. sadly, deprecating ClutterTexture has all kids of side-effects as well, given that over the years we built subclasses when we really ought not to. this means that the type will still exist for the benefit of those subclasses, but the API itself will be marked as deprecated. all of the above has already been done in the wip/master-next branch, and will be merged into master proper soon. I'm preparing a set of migration guides for the biggest items in the roadmap, to help out the porting of existing code; any help is, obviously, much appreciated. that's all for 1.12! now, for 1.99... given the various time and resources constraints, I wanted to create a clutter-1.12 branch earlier, this cycle - preferably by the end of the month, before GUADEC - and open master for the 1.99 development work which will lead to Clutter 2.0 hopefully by March 2013. the road map for 1.99 is pretty long already, though it contains a lot of API clean ups more than outright features. the current work of removing the deprecated API and reorganising the code is happening in the the wip/clutter-1.99 branch; as the name implies, the branch is a work in progress, and it will be rebased pretty often. once I have something that can pass distcheck with an updated test suite, I'll merge it back into master, and start spinning developers snapshots. as always, have fun with Clutter! ciao, Emmanuele. -- W: http://www.emmanuelebassi.name B: http://blogs.gnome.org/ebassi/ _______________________________________________ clutter-app-devel-list mailing list clutter-app-devel-list@clutter-project.org http://lists.clutter-project.org/listinfo/clutter-app-devel-list