An Apocalypse (Greek: ἀποκάλυψις apokálypsis; "lifting of the veil" or "revelation") is a disclosure of something hidden from the majority of mankind in an era dominated by falsehood and misconception, i.e. the veil to be lifted. -- http://en.wikipedia.org/wiki/Apocalypse
These are the design documents that will move Clutter 1.x towards 2.0.
It is important to note that the goal of the Apocalypse process is to bring the day of the 2.0 release closer by deprecations and API additions alone, and to keep eventual breakage at a minimum, to provide a way for the applications to "prove themselves worthy" - i.e. to progressively migrate to the new API. This means that no behavioural changes are allowed in the current 1.x API.
Ideally, Clutter 2.0 will just be Clutter 1.x at the end of this design, with all the deprecated symbols stripped by the SO. Obviously this is just a goal: some warts just cannot be fixed without breaking API, ABI, or their underlying semantics.
Each apocalypse is divided into three parts:
The current Apocalypses are:
| Description | Status | Code/Bug |
|---|---|---|
| Apocalypse 1, or Deconstructing the Actor | mostly complete | merged in master |
| Apocalypse 2, or Laying out is not as bad as it sounds | Synopsis in Progress | |
| Apocalypse 3, or Content is what content does | Implementation in Progress | branch |
| Apocalypse 4, or Give me 60 fps or give me death | Apocalypse in Progress | branch |
| Apocalypse 5, or Alpha Schm-alpha | Exegesis in Progress | branch |
| Apocalypse 6, or Animations in context | Apocalypse in Progress | |
| Apocalypse 7, or The Clone Wars | Synopsis in Progress | branch |