13 | | Each timeline visually has three parts - intro, main part and outro (internally these will be implemented as three different timelines). The intro and outro cannot be looped, while the main part can. By default both the intro and outro are 0 seconds long, while the main part is infinitely looped with all objects on the page shown (or hidden if the author has provided so). This will ensure that if an author wants a simple book with no interactions and animations, he doesn't have to bother with timelines. On the other hand, it is robust enough for the experienced. The intro and outro allow fade in/out effects to be created not only for the page, but for grouped elements as well. |
| 13 | Each timeline visually has three parts - intro, main part and outro. The intro and outro cannot be looped, while the main part can. By default both the intro and outro are 0 seconds long, while the main part is infinitely looped with all objects on the page shown (or hidden if the author has provided so). This will ensure that if an author wants a simple book with no interactions and animations, he doesn't have to bother with timelines. On the other hand, it is robust enough for the experienced. The intro and outro allow fade in/out effects to be created not only for the page, but for grouped elements as well. |
25 | | ^Here will be the description of the internal design of the timelines. |
| 25 | Timelines, channels and timeline entries will be pro-objects instead of resources (similarly to links, linк actions, triggers and rules). Each page will keep references to its timeline. The same applies for each group of page elements. For each of these groups, a channel will be added to the timeline. |
| 26 | |
| 27 | Each timeline will keep a list of channels and a reference to its parent, i.e. the page it controls. Timelines will have methods for playing, stopping, jumping to a location, adding and removing of channels and entries, etc. Timelines cannot be created or deleted by the user. They are automatically created for each page and group of page elements. |
| 28 | |
| 29 | Each channel will contain a reference to the group of elements it holds and a list of timeline entries. Group channels are added automatically and cannot be created/deleted by the user. This does not apply to channels for audio and misc actions. |
| 30 | |
| 31 | There will be two types of entries. Each entry will have a start time and a duration. Group channel entries will play the timeline of the corresponding element. If that timeline's length is finite, the duration of the entry cannot exceed it. Entries for the second type of channels will perform the action specified instead of playing the timeline of the element. |