Files
wehub-resource-sync 8cb1f9f479
Publish SDK (PyPI) / publish (push) Has been cancelled
Publish SDK (npm) / publish (@aionui/officecli-sdk) (push) Has been cancelled
SDK smoke / smoke (windows-latest) (push) Has been cancelled
Publish SDK (npm) / publish (@officecli/officecli-sdk) (push) Has been cancelled
Publish SDK (npm) / publish (@officecli/sdk) (push) Has been cancelled
Publish SDK (npm) / publish (officecli-sdk) (push) Has been cancelled
SDK smoke / smoke (macos-latest) (push) Has been cancelled
SDK smoke / smoke (ubuntu-latest) (push) Has been cancelled
Skill parity / diff (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:09:29 +08:00

136 lines
4.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Dynamic / 3D Transitions (Office 2010+ "Exciting")
This demo consists of three files that work together:
- **transitions-dynamic.sh** — Shell script that generates a 24-slide deck covering all Office 2010+ "Exciting" 3D transition tokens across their direction families.
- **transitions-dynamic.pptx** — The generated 24-slide deck.
- **transitions-dynamic.md** — This file. Documents the direction groupings and combined-token syntax.
## Regenerate
```bash
cd examples/ppt/transitions
bash transitions-dynamic.sh
# → transitions-dynamic.pptx
```
These transitions require PowerPoint 2010 or later. officecli writes each one with an inline fade fallback baked in, so pre-2010 PowerPoint plays a plain fade instead of failing.
## Slides
### Slide 1 — Cover (no transition)
```bash
officecli add transitions-dynamic.pptx / --type slide
officecli add transitions-dynamic.pptx /slide[1] --type shape \
--prop x=0 --prop y=0 --prop width=33.87cm --prop height=19.05cm \
--prop fill=1F3864
officecli add transitions-dynamic.pptx /slide[1] --type shape \
--prop text="Dynamic Transitions" --prop size=40 --prop bold=true \
--prop color=FFFFFF --prop align=center \
--prop x=2cm --prop y=7cm --prop width=29.87cm --prop height=4cm
```
### Slides 27 — LeftRight family (switch, flip, ferris, gallery, conveyor, reveal)
```bash
for t in switch flip ferris gallery conveyor reveal; do
officecli add transitions-dynamic.pptx / --type slide
officecli add transitions-dynamic.pptx "/slide[N]" --type shape \
--prop x=0 --prop y=0 --prop width=33.87cm --prop height=19.05cm \
--prop fill=2E5C8A
officecli add transitions-dynamic.pptx "/slide[N]" --type shape \
--prop text="$t-right" --prop size=40 --prop bold=true \
--prop color=FFFFFF --prop align=center \
--prop x=2cm --prop y=7cm --prop width=29.87cm --prop height=4cm
officecli set transitions-dynamic.pptx "/slide[N]" --prop transition="$t-right"
done
```
**Features:** `transition=switch-right`, `flip-right`, `ferris-right`, `gallery-right`, `conveyor-right`, `reveal-right` (LeftRight family: `left`/`right` only)
### Slides 810 — InOut family (shred, flythrough, warp)
```bash
for t in shred flythrough warp; do
officecli set transitions-dynamic.pptx "/slide[N]" --prop transition="$t-out"
done
```
**Features:** `transition=shred-out`, `flythrough-out`, `warp-out` (InOut family: `in`/`out` only)
### Slides 1116 — SlideDir family (vortex, glitter, pan — 4 cardinal)
```bash
for t in vortex glitter pan; do
for d in up right; do
officecli set transitions-dynamic.pptx "/slide[N]" --prop transition="$t-$d"
done
done
```
**Features:** `transition=vortex-up`, `vortex-right`, `glitter-up`, `glitter-right`, `pan-up`, `pan-right` (up/down/left/right)
### Slides 1719 — Prism family (prism, rotate, orbit)
These three map to the same `<p14:prism>` OOXML element but with different flags.
```bash
officecli set transitions-dynamic.pptx "/slide[17]" --prop transition=prism
# prism (= "Cube" in PowerPoint UI)
officecli set transitions-dynamic.pptx "/slide[18]" --prop transition=rotate
# rotate (= "Rotate" Dynamic Content tile, isContent=1)
officecli set transitions-dynamic.pptx "/slide[19]" --prop transition=orbit
# orbit (= "Orbit" Dynamic Content tile, isContent=1 isInverted=1)
```
**Features:** `transition=prism`, `rotate`, `orbit`; alias `cube``prism`
### Slides 2023 — Horizontal/Vertical orientation (doors, window)
```bash
for t in doors window; do
for d in horizontal vertical; do
officecli set transitions-dynamic.pptx "/slide[N]" --prop transition="$t-$d"
done
done
```
**Features:** `transition=doors-horizontal`, `doors-vertical`, `window-horizontal`, `window-vertical`
### Slides 2425 — Direction-less (ripple, honeycomb)
```bash
officecli set transitions-dynamic.pptx "/slide[24]" --prop transition=ripple
officecli set transitions-dynamic.pptx "/slide[25]" --prop transition=honeycomb
```
**Features:** `transition=ripple`, `transition=honeycomb`
## Complete Feature Coverage
| Family | Direction set | Tokens |
|--------|---------------|--------|
| LeftRight | `left` / `right` | switch, flip, ferris, gallery, conveyor, reveal |
| InOut | `in` / `out` | shred, flythrough, warp |
| SlideDir (4 cardinal) | `up` / `down` / `left` / `right` | vortex, glitter, pan |
| Prism sub-family | (direction-less) | prism (=cube), rotate, orbit |
| Orientation | `horizontal` / `vertical` | doors, window |
| Direction-less | — | ripple, honeycomb |
## Inspect the Generated File
```bash
officecli query transitions-dynamic.pptx slide
officecli get transitions-dynamic.pptx /slide[2]
officecli get transitions-dynamic.pptx /slide[17]
officecli get transitions-dynamic.pptx /slide[24]
```
## Related
- [transitions-basic.md](transitions-basic.md) — Office 97-era cut/fade/dissolve
- [transitions-morph.md](transitions-morph.md) — Office 2016+ Morph (separate code path)