← Artboard MockupsCONTENT HISTORY

Update to Artboard Mockups

Snapshot Nov 5, 2026 · 01:17 UTC · version 1.2.9

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save Artboard Mockups and check future changes in Following.

Up to 3 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Show the user's app screen or design on a 3D device (phone, tablet, laptop, watch) as a still image or an animated video with Artboard. Use for app store shots, product launches and device promos.",
  "included_files": [],
  "name": "device-3d",
  "skill_md_contents": "---\nname: device-3d\ndescription: Show the user's app screen or design on a 3D device (phone, tablet, laptop, watch) as a still image or an animated video with Artboard. Use for app store shots, product launches and device promos.\n---\n\n# Design on a 3D device\n\n1. **Find.** Use `search_templates` with `kind: \"3d\"` (e.g. \"iPhone\", \"MacBook\"), and\n   show options with `open_artboard` (`view: \"3d\"`). Open the pick with `open_template`.\n2. **Screen.** Call `get_open_project`. Put the user's screenshot or design on\n   `screen-1` with `set_project_image` (use more targets for multi-screen devices).\n3. **Look.** These come from `get_open_project`'s lists:\n   - `variant` for the device color, and `environment` for lighting.\n   - Pose keys for framing: `ry` turns the device, `rx` tilts it, `fov` widens or narrows\n     the lens.\n   - `set_project_background` and `set_aspect_ratio`.\n4. **Still image.** Make sure no keyframes fight the pose: use `clear_keyframes: true`,\n   or set the pose at an existing keyframe time. Then `export_project` with `png`.\n5. **Video.** Animate with keyframes. Each `update_project_settings` call with `time`\n   (seconds) and pose keys sets or adds the keyframe at that time; add `ease` for the\n   motion departing that keyframe. For example, for a full turn over 4 seconds:\n   1. `duration: 4`\n   2. `time: 0, ry: 0, ease: \"linear\"`\n   3. `time: 4, ry: 360, ease: \"linear\"`\n\n   Then `export_project` with `mp4` and wait with `check_export` if it is still rendering.\n   An mp4 needs at least two keyframes or a video on a screen.\n\n## Natural-language timeline and screen control\nUse the live Artboard context to resolve the actual device, active screen, hinges, pose ranges, material variants, environments and existing keyframes. Read the project yourself only when that state is missing or stale; never ask the user for tool names or ids. `style_project_surface` controls screen color, fit/fill and artwork position/size/rotation. `edit_model_timeline` authors timed poses, easing and per-keyframe background fills in one atomic edit; use `control_project_playback` to preview, pause or scrub. For \"turn once over three seconds\", use two keyframes at 0 and 3 seconds with a 360-degree change and linear departure easing. Preserve unrelated pose fields. Move/remove keyframes without replacing the whole timeline unless requested. Export through the real renderer and offer the editor Download action.\n\n\nUse `begin_project_edit` for a multi-tool device request and pass its `history_group`\nto each edit. `undo_or_redo` now restores saved 3D authoring changes across reopening.\nInspect returned rendered previews; use `inspect_project` for a separate read-only\nframe. Explicit AI retouching uses `generate_project_media` with the actual canvas\nreference and a credit budget, producing a separate asset. A regular device turn\nuses the editable 3D timeline, not AI video generation. Download the actual rendered MP4 and open it to verify playback; Download retries\nreuse that file.\n\n\n## Attached images and videos\n\nA chat attachment can be applied to a mockup artwork surface or a 3D device screen.\nUse `set_project_image` for both images and videos; its `image` file parameter is\nresolved by the host to a downloadable file object. Native hosts may accept the\nactual local file path through that parameter. Never send `/mnt/data/...` or a\nFinder path as `image_url`: the remote Artboard server cannot open those paths.\nThe existing import saves validated bytes in the user's Artboard **Your files**;\nreuse the returned `savedFileId` for other screens without uploading again.\nRead the selected screen yourself, apply the actual media, then use fit/fill as\nrequested. Media placement must finish decoding before reporting it displayed.\nInspect the real render; metadata or a saved file alone is not proof of playback.\n\nIf Artboard tools are absent in the current turn, do not invent an\n\"Artboard-connected flow\" or claim an upload succeeded. Explain the specific\nhost limitation and tell the user to select **Artboard Mockups** with @ in this\nchat and resend the request. Opening the editor or attaching Context alone does\nnot prove the tools are available. Do not require another plugin installation.\n"
}

SHA-256 of public snapshot: 1d483520de2ab1e788422d62e0644c41fc34e964f33405d0aa04ad7b403792e9