Motion Orbit

Tiles that fly out from the centre onto an ellipse as p goes 0 to 1, then swing round it as step goes 0 to 1: the ring of app icons around a product shot. Tiles are text (a letter, a glyph or a short label), never brand logos, so there is nothing to license. Place it over the same box as the thing it surrounds. Uses CSS cos() and sin(), so it needs a current browser. Plain HTML and CSS, no script; standalone it renders the tiles in place.

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
A
Fields
FieldTypeRequired
itemsarray (max 12) of string or {text}; text max 8 characters (one or two reads as a glyph, longer as a small label), or max 24 with shape pill.required
shape"pill". Rectangular pill tiles that size to their label (text up to 24 characters, one line, no wrapping) instead of square tiles. Anything else keeps the square tile and the 8-character limit. Tile height is 55% of size, so size sets the pill height; allow room around the ring for long labels.optional
sizeinteger. Tile px, 24-160. Default 64.optional
rxinteger. Horizontal radius, percent of the placed box, 5-60. Default 40.optional
ryinteger. Vertical radius, percent of the placed box, 5-60. Default 36.optional
startinteger. Angle of the first tile in degrees, -360 to 360. Default -90 (top).optional
spininteger. Degrees the ring turns as step goes 0 to 1, -360 to 360. Default 40.optional
fill"#rrggbb". Tile colour. Default "#ffffff".optional
ink"#rrggbb". Tile text colour. Default "#111827".optional
ringbool. A faint dashed ellipse behind the tiles. Default true.optional
Example payload
{
  "type": "motion_orbit",
  "items": [
    {
      "label": "Item 1"
    },
    {
      "label": "Item 2"
    }
  ]
}
ARD catalog entry
{
  "identifier": "urn:air:a2uicatalog.ai:atom:motion_orbit",
  "displayName": "Motion Orbit",
  "type": "application/vnd.a2ui.atom+json",
  "url": "https://a2uicatalog.ai/atoms/motion_orbit",
  "capabilities": [
    "web",
    "google-meet-stage",
    "google-apps-script-web",
    "mcp-apps",
    "android"
  ],
  "description": "Tiles that fly out from the centre onto an ellipse as p goes 0 to 1, then swing round it as step goes 0 to 1: the ring of app icons around a product shot. Tiles are text (a letter, a glyph or a short label), never brand logos, so there is nothing to license. Place it over the same box as the thing it surrounds. Uses CSS cos() and sin(), so it needs a current browser. Plain HTML and CSS, no script; standalone it renders the tiles in place.",
  "representativeQueries": [
    "show a tiles that fly out onto an ellipse and orbit a centre as progress advances",
    "tiles that fly out from the centre onto an ellipse as p goes 0 to 1, then swing round it as step goe",
    "render a motion orbit"
  ]
}
← 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 →