Category: Bricks
A small toy-brick rocket: two grey nozzle bricks, red fins, a dark band, a white hull, a window and a red nose. A finished model of 9 toy bricks in one block: the brick list is fixed, so nothing needs writing out; it is the motion_bricks canvas with that list filled in, and every motion_bricks setting that does not name bricks works here the same way. Bricks drop into place in build order as p goes 0 to 1 and the model turns with the second dial (--s). Standalone it shows the finished model. Known limit, each brick canvas holds two WebGL contexts and a page allows about 16, so keep to about 7 brick canvases per page. Not affiliated with or endorsed by the LEGO Group. LEGO is a trademark of the LEGO Group.
| Surface | Note |
|---|---|
| Prints a still of the canvas at best; no animation | |
| mcp-apps | Hosts that strip scripts show nothing in the brick stage |
| android | Hosts that strip scripts show nothing in the brick stage |
| Field | Type | Required |
|---|---|---|
| motion | object. How the bricks arrive, same keys and defaults as motion_bricks motion (order, from, window, flight, distance, tilt, spin, spinAxis, gravity, jitter, support, seed, overshoot, rotOvershoot, recoil, travel, sharpness, direction). Absent = the plain build-up. | optional |
| angle | number. Starting turn in degrees, -360 to 360. Default 24. | optional |
| elevation | number. Camera elevation in degrees, 7-75. Default 26. | optional |
| turns | number. Full turns per unit of --s, -8 to 8. Default 1. | optional |
| look | string. One of "studio", "instructions". Default "studio" (a product shot: glossy plastic, no outlines); "instructions" is building-instructions style with dark edge lines. | optional |
| base | string. "none" for floating bricks (no plate, no plate shadow), or a "#rrggbb" colour for the baseplate. Default the classic green plate. | optional |
| ratio | string. One of "16:9", "4:3", "1:1", "3:4", "9:16". Default "16:9". | optional |
| fill | boolean. Fill the placed box height instead of using ratio. Default false. | optional |
| label | string (optional, max 80). Accessible name. Default "Brick rocket". | optional |
{
"type": "block_rocket"
}
{
"identifier": "urn:air:a2uicatalog.ai:atom:block_rocket",
"displayName": "Block Rocket",
"type": "application/vnd.a2ui.atom+json",
"url": "https://a2uicatalog.ai/atoms/block_rocket/",
"capabilities": [
"web",
"google-meet-stage",
"google-apps-script-web",
"mcp-apps",
"android"
],
"description": "A small toy-brick rocket: two grey nozzle bricks, red fins, a dark band, a white hull, a window and a red nose. A finished model of 9 toy bricks in one block: the brick list is fixed, so nothing needs writing out; it is the motion_bricks canvas with that list filled in, and every motion_bricks setting that does not name bricks works here the same way. Bricks drop into place in build order as p goes 0 to 1 and the model turns with the second dial (--s). Standalone it shows the finished model. Known limit, each brick canvas holds two WebGL contexts and a page allows about 16, so keep to about 7 brick canvases per page. Not affiliated with or endorsed by the LEGO Group. LEGO is a trademark of the LEGO Group.",
"representativeQueries": [
"show a a ready-made 9-brick toy rocket that builds itself and turns on the film clock",
"a small toy-brick rocket: two grey nozzle bricks, red fins, a dark band, a white hull, a window and",
"render a block rocket"
]
}
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 →