RE: [clutter] clutter 1.0 roadmap - draft for the clutter mailing list

2008-11-17 Thread Fu, Elva
Emmanuele Bassi wrote:
 hi all;
 
 as you might have noticed, work on Clutter trunk is progressing quite
 nicely. obviously, the big question is: towards what? which features
 will land in 1.0? will it be called 1.0? when will it be released?
 what happens next? when do I get a pony?
 
 well, it was more than one question. actually, those were a lot of
 questions. apart from the pony one. that was just weird.
 
 anyway.
 
 let's try to answer some of those questions, shall we? the first
 answer is: yes, the next stable release of Clutter will be called
 1.0. we think it's time to hit the big 1: we feel confident about
 the API, we feel confident about the feature set and we feel
 confident that additional features can be added without breaking the
 API/ABI contract we'll have in place for the whole duration of the
 1.x API series. 
 
 here's the whole features list we are planning for 1.0; some of these
 already hit trunk:
 
 1. clean up COGL
 
 the COGL API is still in a bit of a flux; we're trying to expose more
 features of the GPUs without resorting to use GL/GLES all the time,
 but this means dealing with a lot of cruft and dead ends we'd like to
 remove from the API before it's sealed shut.
 
 2. documentation
 
 even though we have a near-100% API coverage in Clutter, some bits are
 still missing or not explained. we also need a Cookbook-style
 document, like the one I started for the Perl bindings.
 
 3. better build
 
 this means: single include file strategy for Clutter and COGL, unit
 testing, removal of the circular dependency between COGL and Clutter.
 all of this has landed in trunk in the past couple of weeks, with unit
 testing getting in on last Friday thanks to Robert Bragg. to break the
 circular dependency, COGL now has its own fixed-point type, to which
 ClutterFixed maps transparently; and a Color type, which should be
 completely opaque to the user (conversion functions are provided).
 Clutter will still use the ClutterFixed and ClutterColor types and
 API. 
 
 4. new tweening/simple animation API
 
 this new API should replace the Effects API, hopefully with something
 more powerful but flexible. the current approach is to use something
 that looks a lot like the JavaScript tweening API. the bug number with
 the implementation is: 1014.
 
 5. unified text actor
 
 this would remove the ClutterLabel and ClutterEntry actors in favour
 of a generic Text actor, with the ability to be set editable on
 demand. the separation between editable and non-editable actors is
 mostly a style/theme issue, and thus should pertain to toolkits
 written on top of Clutter; this actor would make text displaying and
 text editing extremely easy for developers, who would then only care
 about styling. the bug number with the implementation is: 1106
 
 6. threaded glXSwapBuffer()
 
 using a separate thread (if the application has threading enabled) to
 swap the GL buffers on GLX. it has proven to be a performance gain,
 but it still requires some testing. the bug number with the
 implementation is: 1118
 
 7. asynchronous images loading from disk
 
 along with PBOs and some caching, this would minimize blocking when
 loading an image from disk into a Texture. the bug number with the
 implementation is: 1144
 
 8. multitexturing support
 
 this would be a COGL feature first, and if time permits, exposed
 inside ClutterTexture API. the bug number with the implementation is:
 1163 
 
 9. mesh API in COGL
 
 already discussed on this list, landed in trunk.
 
 10. disjoint paths and clip-to-path
 
 a change in the semantics in the COGL path API that would make it more
 Cairo-like, and allow non-rectangular shaped clip areas. the bug
 number with the implementation is: 1172
 
 11. promote the Pango renderer to public API
 
 this has already landed in trunk, under the CoglPango namespace (to
 avoid eventual namespace collisions).
 
 12. backface culling
 
 already landed, a simple function the toggles backface culling and
 that should be used in the paint implementation of an actor.
 
 13. include the ClutterCairo actor in Clutter core
 
 since Clutter already depends on Cairo for the Pango renderer, we can
 exploit the dependency to kill of the smallest of the integration
 libraries. this is still on the undecided list of things because it
 can be a performance hit for Clutter-based applications if the
 application and toolkit developers are not careful when using cairo. I
 already have a patch for this and will be attached to a bug shortly.
 
 14. unify the linear and bspline path behaviours
 
 instead of having two behaviours, a single behaviour capable of
 switching between the two path modes - or even mixing them - would be
 preferred. the bug number with the implementation is: 1252
 
 15. move the repository to git
 
 while technically not a feature, we're in the process of putting core,
 all the integration libraries, bindings and toys into a set of git
 repositories - split up, this time. :-)
 
 since 

RE: [clutter] clutter 1.0 roadmap - draft for the clutter mailing list

2008-11-17 Thread Emmanuele Bassi
On Mon, 2008-11-17 at 16:11 +0800, Fu, Elva wrote:

 Thanks for sharing the roadmap. and now I have some ideas for what
 clutter 1.0 would look like. :-)
 I also find some other features (e.g. bug1086 virtualize
 stage_queue_redraw; ) in bugzilla if I searched by setting Product as
 Clutter and the Target as 1.0.
 shall we implement or integrate them all in clutter1.0 either? 

bug 1086 is mostly an enhancement; I think it'll land in trunk
soon(-ish) because it might alleviate some issues discovered in the
integration with other toolkits, like gtk+ and qt.

 btw: seems the bugzilla was also used for new features (change
 request) tracking system, right? :-)

we use bugzilla for tracking bugs and feature requests, yes. discussion
is done on the mailing list (bugzilla breaks down with a lot of
comments), but for tracking patches and issues it does its job.

the entries marked with the 1.0 milestone are what we are considering as
part of the 1.0 roadmap - but given the amount of items that already
landed in trunk or have a patch ready, we might review some of them; in
short: something might be dropped, something might be added - it all
depends on how large the window before the 0.9 release is.

ciao,
 Emmanuele.

-- 
Emmanuele Bassi, Intel Open Source Technology Center

-- 
To unsubscribe send a mail to [EMAIL PROTECTED]



[clutter] ClutterMotionEvent and moving clutter actor

2008-11-17 Thread Saul Lethbridge
I'm trying to allow the user to move my actors around by using the
ClutterMotionEvent and clutter_actor_set_position. It works, but if I move
the mouse too quickly the actor is 'left behind' so to speak. If I move the
mouse back of the actor then slowly move the mouse then I can continue to
move the actor without having to re-click the mouse button. Could the issue
be that I am calling the clutter_actor_set_position on each callback? I
wouldn't have thought this would have that much overhead that it would cause
this issue.

Any idea's?


Re: [clutter] ClutterMotionEvent and moving clutter actor

2008-11-17 Thread Emmanuele Bassi
On Mon, 2008-11-17 at 20:50 +1000, Saul Lethbridge wrote:
 I'm trying to allow the user to move my actors around by using the
 ClutterMotionEvent and clutter_actor_set_position. It works, but if I
 move the mouse too quickly the actor is 'left behind' so to speak. If
 I move the mouse back of the actor then slowly move the mouse then I
 can continue to move the actor without having to re-click the mouse
 button. Could the issue be that I am calling the
 clutter_actor_set_position on each callback? I wouldn't have thought
 this would have that much overhead that it would cause this issue.

the delay you see is the result of motion events throttling. motion
events are throttled to avoid clobbering the GPU with repaints.

you can set the motion event rate using the:

  clutter_set_motion_events_frequency()

function; the motion events frequency setting will still be limited
superiorly by the default frame rate setting, which is set by:

  clutter_set_default_frame_rate()

the default frame rate controls the default setting for the timelines as
well, so you should be careful when overriding this value.

ciao,
 Emmanuele.

-- 
Emmanuele Bassi, Intel Open Source Technology Center

-- 
To unsubscribe send a mail to [EMAIL PROTECTED]



Re: [clutter] Python Clutter 3D Animation help

2008-11-17 Thread Emmanuele Bassi
On Sun, 2008-11-16 at 13:23 -0800, Griffin Jeffreys wrote:

 Can someone explain what clutter.Alpha does, though? I'm confused as
 to its purpose.

an Alpha, like the documentation[0] says:

  ClutterAlpha is a class for calculating an integer value between 0 and
  CLUTTER_ALPHA_MAX_ALPHA as a function of time.

a clutter.Alpha binds a Timeline to a progress function which translates
the time T into an adimensional factor alpha. the factor can then be
used to drive a Behaviour, which translates the value into something
meaningful for an Actor.

ciao,
 Emmanuele.

+++

[0] http://www.clutter-project.org/docs/clutter/stable/ClutterAlpha.html

-- 
Emmanuele Bassi, Intel Open Source Technology Center

-- 
To unsubscribe send a mail to [EMAIL PROTECTED]