A form that draws or grows with p: a bar or rule (grow-x, grow-y), a disc (scale), a ring that sweeps round like a progress dial (sweep), or a fade; solid or a two-colour gradient at an angle, with rounded corners, and an optional heavy blur that makes it a soft glow behind everything. Fills its placed box, or w/h px. Plain HTML and CSS, no script: it moves with the --p custom property that a motion_timeline p track sets, and standalone it renders its final state.
| Surface | Note |
|---|---|
| Prints the final state (type fully revealed, numbers at their values, shapes drawn); no motion | |
| google-chat | Inline CSS functions and custom properties are not supported |
| Field | Type | Required |
|---|---|---|
| shape | "rect" | "circle" | "ring" | "line" (optional, default "rect") | optional |
| fill | "#rrggbb". Default the stage accent. | optional |
| fill2 | "#rrggbb". Second colour; makes a gradient (for a ring, the sweep colour). | optional |
| angle | integer. Gradient angle in degrees, 0-360. Default 90. | optional |
| thickness | integer. Ring and line thickness px, 1-200. Default 6. | optional |
| radius | integer. Rect corner radius px, 0-500. Default 0. | optional |
| draw | "grow-x" | "grow-y" | "scale" | "sweep" | "fade" | "none". Default grow-x for rect and line, scale for circle, sweep for ring. sweep is ring only. pulse (ring and circle only) is a ripple: the second dial (--s) goes 0 to 1 and the form swells and fades out, invisible at both ends. | optional |
| lag | number. With draw pulse, delays the ripple, 0-0.9 of the dial. Several rings with growing lag make concentric ripples. Default 0. | optional |
| blur | integer. Blur px, 0-200. A big blur on a gradient disc is an ambient glow. Default 0. | optional |
| w | integer. Width px, 1-3000. Default 100% of the placed box. | optional |
| h | integer. Height px, 1-3000. Default 100% of the placed box. A line is thickness tall. | optional |
{
"type": "motion_shape"
}
{
"identifier": "urn:air:a2uicatalog.ai:atom:motion_shape",
"displayName": "Motion Shape",
"type": "application/vnd.a2ui.atom+json",
"url": "https://a2uicatalog.ai/atoms/motion_shape",
"capabilities": [
"web",
"google-meet-stage",
"google-apps-script-web",
"mcp-apps",
"android"
],
"description": "A form that draws or grows with p: a bar or rule (grow-x, grow-y), a disc (scale), a ring that sweeps round like a progress dial (sweep), or a fade; solid or a two-colour gradient at an angle, with rounded corners, and an optional heavy blur that makes it a soft glow behind everything. Fills its placed box, or w/h px. Plain HTML and CSS, no script: it moves with the --p custom property that a motion_timeline p track sets, and standalone it renders its final state.",
"representativeQueries": [
"show a bar, rule, disc, sweeping ring or soft glow that draws with progress",
"a form that draws or grows with p: a bar or rule (grow-x, grow-y), a disc (scale), a ring that sweep",
"render a motion shape"
]
}
The renderer is an open-source Google Apps Script web app. Deploy your own instance in 4 commands — you own the URL, no dependency on the demo endpoint.
git clone https://github.com/a2uicatalog/a2ui
cd a2ui/apps-script-surface/gas-wired-renderer
clasp push && clasp deploy
Full deploy guide →