diff --git a/docs/prompting/anatomy.mdx b/docs/prompting/anatomy.mdx index c440472d2..a3c18e432 100644 --- a/docs/prompting/anatomy.mdx +++ b/docs/prompting/anatomy.mdx @@ -76,12 +76,28 @@ The fixes that come up most, as before/after pairs — each exists because of ho - ❌ `counts from $0 to $4.2M` - ✅ `counts up to $4.2M` +## The framework's own vocabulary + +The skeleton above is how you ask. This is what the agent writes, and it's worth recognizing on sight — when you read a composition, review a diff, or get a lint error, these four are the load-bearing pieces: + +| In the file | What it means | +| --- | --- | +| `class="clip"` | Marks a timed section. The framework owns its visibility — never animate a clip's own opacity or `display` to hide it. | +| `data-start` / `data-duration` / `data-track-index` | When the clip begins, how long it runs, and which track it sits on. Two clips on the same track index must not overlap in time. | +| `window.__timelines[""]` | Every composition registers exactly one paused GSAP timeline here, built synchronously at load. The renderer seeks that timeline frame by frame — which is why nothing may depend on wall-clock time or unseeded randomness. | +| `