Re: Timing behavior of animations children within a sequential timeContainer parent

Note that specifying timeContainer="par" on a p (paragraph) element is
redundant since that value is assigned if the attribute is not specified.

On Tue, Feb 3, 2026 at 4:03 PM Alexander Cerutti <
cerutti.alexander@gmail.com> wrote:

> Hi everyone,
>
> While introducing the support to <animate>, <animation> and <set> to my
> TTML engine, a new doubt came across.
>
> Are these elements influenced by the timeContainer attribute as well? I
> gave a look at TTML document and to both SMIL and SVG specifications but
> didn't find a precise answer.
>
> Although it may sound logical that the following two animations start at
> 0s and run as parallel (as per the timeContainer), this idea clashes in
> the other side of my brain, which says that defining two or more <animate>
> (or <set>) like this, seem to define two animations that run sequentially.
>
> ```xml
> <p timeContainer="par" dur="10s">
>     <animate tts:color="red;blue" dur="5s" />
>     <animate tts:opacity="0;0.5" dur="6s" />
> </p>
> ```
>
> So, if timeContainer='par' applies to the <animate>, only parallel is
> possible (unless otherwise specified), but if it doesn't, is a sequential
> behavior implicitly applied?
>
> Let's take the example at "*Example Fragment – Region Style Animation*".
>
> ```xml
> <tt xml:lang="" xmlns="http://www.w3.org/ns/ttml"
>     xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
>     xmlns:tts="http://www.w3.org/ns/ttml#styling"
>     ttp:extent="640px 480px">
>     <head>
>       <layout>
> <region xml:id="r1" timeContainer="seq" tts:opacity="0">
>  <animate dur="1s" tts:opacity="0;1"/>
>  <set dur="5s" tts:opacity="1"/>
>  <animate dur="1s" tts:opacity="1;0"/>
>  <style tts:extent="480px 60px"/>
>  <style tts:origin="80px 400px"/>
> </region>
>       </layout>
>     </head>
>     <body region="r1">...</body>
> </tt>
> ```
>
> The note right after it, says:
>
> In the above example, a region, r1, is initially set to 0% opacity, fully
> transparent, then is faded in to 100% opacity, fully opaque, over a one
> second interval. Opacity remains at 100% for five more seconds, and then is
> faded out to 0% over a one second interval, where it remains.
>
>
> Does the described behavior apply because of the timeContainer='seq' applied
> to the region element or is this the default behavior for all the
> animations?
>
> Hence, when <animation> defines some <animate> and <set>, as it isn't
> allowed to have a timeContainer, does this imply that the timeContainer
> used is the one of the element that references the animation (through the
> animate attribute)?
>
> Thank you,
> Alexander
>

Received on Thursday, 5 February 2026 03:01:42 UTC