Clutter Apocalypses

  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.

Apocalypses

Each apocalypse is divided into three parts:

  • the proper Apocalypse, which contains a high level view of the design

  • the Exegesis, which contains an explanation of the design

  • the Synopsis, which contains an implementation (in terms of API) of the design

The current Apocalypses are:

Description

Status

Code/Bug

Apocalypse 1, or Deconstructing the Actor

Complete

merged in master

Apocalypse 2, or Laying out is not as bad as it sounds

Synopsis in Progress

merged in master

Apocalypse 3, or Content is what content does

Complete

merged in master

Apocalypse 4, or Give me 60 fps or give me death

Apocalypse in Progress

delayed

Apocalypse 5, or Alpha Schm-alpha

Complete

merged in master

Apocalypse 6, or Animations in context

Complete

merged in master

Apocalypse 7, or The Clone Wars

Synopsis in Progress

branch

Projects/Clutter/Apocalypses (last edited 2013-11-22 18:46:19 by WilliamJonMcCann)