Motion Shape

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.

Surfaces
webgoogle-meet-stagegoogle-apps-script-webmcp-appsandroid
Degraded on
SurfaceNote
pdfPrints the final state (type fully revealed, numbers at their values, shapes drawn); no motion
google-chatInline CSS functions and custom properties are not supported
Live preview
Fields
FieldTypeRequired
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
angleinteger. Gradient angle in degrees, 0-360. Default 90.optional
thicknessinteger. Ring and line thickness px, 1-200. Default 6.optional
radiusinteger. 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
lagnumber. With draw pulse, delays the ripple, 0-0.9 of the dial. Several rings with growing lag make concentric ripples. Default 0.optional
blurinteger. Blur px, 0-200. A big blur on a gradient disc is an ambient glow. Default 0.optional
winteger. Width px, 1-3000. Default 100% of the placed box.optional
hinteger. Height px, 1-3000. Default 100% of the placed box. A line is thickness tall.optional
Example payload
{
  "type": "motion_shape"
}
ARD catalog entry
{
  "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"
  ]
}
← Full ARD catalog
Deploy your own Google Apps Script renderer

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 →