Selected control
The package list
Every package the Workbench has loaded appears in the rail with its layer count and duration. Clicking a row reloads that package.
Note
operator manual / generated from the frozen public export
Motion / operator reference
A dense local reference for a source checkout: verify readiness, stay inside the launch grant, and read a receipt before you call a render delivered. The schema-derived command registry below is the authority when prose and a callable contract differ.
Truth boundary. available now is a shipped source contract; capability required depends on host/package admission; refused means Motion stops rather than approximating.
interface map
workbench:ui-smoke gate produces.
Selected control
Every package the Workbench has loaded appears in the rail with its layer count and duration. Clicking a row reloads that package.
Note
operator routes
motion.route.install
available nowMotion v0.2.65 ships as source. Build in the checkout, run doctor before work, and use the workspace CLI prefix there. Dotted motion.* names are Debug API / MCP ids, not shell commands.
pnpm install, then pnpm build.pnpm --filter @shellx-motion/cli run cli -- doctor.pnpm --filter @shellx-motion/cli run cli -- <command>.NoteThe short shellx-motion <command> form belongs to a separately installed CLI package, not this workspace.
motion.route.authoring
available nowUse typed layer, keyframe, curve, caption, transition and timeline commands to make a copy-on-write revision. Groups are bounded local timelines: ownership is acyclic, nesting is at most four levels, and a group has 1–256 direct children.
NoteStructural edits refuse ambiguous ownership, cycles, opaque external references, and operations that would flatten local time.
motion.route.renderer
capability requiredBrowser is the rich HTML/CSS and typography lane. Native is a narrow deterministic frame lane. GPU is a strict hardware-WebGPU lane: choose it with preview --lane gpu for a PNG preview or render --lane ffmpeg --frame-lane gpu for admitted final video.
--lane native|browser|gpu.render, --lane native writes one native PNG still; --lane ffmpeg delivers media with --frame-lane browser|native|gpu.NoteGPU never substitutes browser or CPU pixels. Unsupported content, software/missing adapters, device loss, timeout, cancellation, and resource limits are typed refusals.
motion.route.templates-batch
available nowUse the template plan and its declared controls before applying values. Package-local data/ rows can expand into one concrete package and one render per row, with batch evidence.
motion.template.plan or motion.template.controls before motion.template.apply.motion.render.batch for the admitted row expansion route; inspect the render.batch receipt rather than assuming every row rendered.NoteUnknown, invalid, or unbound declared row values refuse before package copy or render. Media is copied into package-local assets and hash-bound in the receipt.
motion.route.advanced
capability requiredTracking, keying, roto, compositing graphs, particles, points, fixed 3D and procedural bindings are typed feature families with explicit shape, resource, and renderer limits. Capability matching decides whether a revision reaches a lane.
NoteA route that is outside the admitted subset refuses before launch or allocation; Motion does not drop points, turn off an effect, or silently widen a limit to make a render appear successful.
motion.route.interchange
refusedHost interchange and archives are bounded inputs, not arbitrary local files. The shared envelope caps host interchange at 16 MiB per file, 256 files, 16 path components, and 64 MiB aggregate; each route then applies its own structural budget.
NoteOversized, unsafe, symlinked, structurally over-limit or out-of-envelope inputs refuse before package publication. A successful import is not a claim that its content is lossless or renderer-supported.
motion.route.jobs-receipts
available nowmotion.job.* reports a submitted request while it is pending, running, or ended. A receipt attests one operation. A warned receipt still maps to a succeeded job; a file path alone never proves success.
motion.job.get, .list, or .events as the owning caller.--caller-id; direct hosts configure caller identity and MCP/WebSocket connections use a server-minted principal.Notemotion.render.status and .queue are Linux-only receipt-derived finished-work views, not live process controls. Their status, cancel and retry paths are caller-principal-scoped. Never describe their annotations as stopping or restarting a running producer.
motion.route.host-lowering
capability requiredDesign Studio is the precision authoring host; Cut is the editorial and linked-media host. A Cut request may choose rendered media, editable lowering, or live overlay only through the connector contract.
motion.connector.catalog before selecting a connector workflow.rendered_media: it returns a package, preview, media artifact handle, receipts and Cut plan, but never mutates Cut.NoteP2B accepts only bounded closed data and its rendered_media mode; an explicit editable request that cannot be receiver-exact fails with per-layer reasons instead of producing an approximation. A connector plan is not proof that Cut applied anything.
start
motion.start.what
A local-first motion-graphics and video rendering engine built to be driven by an AI agent. Every capability is a typed, discoverable command with a declared permission tier and explicit receipt behavior. Rendering and file operations are local; agent-assisted authoring can send prompts and permitted context to the external provider CLI you configure, under that provider's terms.
NoteMotion provides no hosted render service. Its server binds loopback only and remote publishing is not enabled.
motion.start.source_release
You get the repository tree, build it, and run it from there. There is no npm install step and no prebuilt binary for this source release.
pnpm install at the repository root.pnpm build.Notepnpm install must run esbuild's postinstall script. The repository declares that in pnpm-workspace.yaml; an ERR_PNPM_IGNORED_BUILDS error means your pnpm is not reading the declaration.
motion.start.start_motion
pnpm start creates one private per-user access key, starts Motion with local create/edit/render access, publishes the live loopback port for agent bridges, and opens an already-unlocked Workbench in your browser.
pnpm start from the repository root.NoteStart Motion grants write_local and does not enable remote publishing.
motion.start.invocation
Which form is correct depends only on where you are. In this source checkout every command takes the pnpm --filter @shellx-motion/cli run cli -- prefix. From an installed build of the packed @shellx-motion/cli package the same command is shellx-motion <command>.
pnpm --filter @shellx-motion/cli run cli -- doctorshellx-motion doctorshellx-motion on your PATH inside the workspace, and running packages/cli/dist/main.js directly fails as well.NoteThere is no motion binary in either form. Dotted names such as motion.render.final are Debug API / MCP command ids, not shell commands.
motion.start.verify
Two commands prove the toolchain is sound: doctor prints per-operation readiness, and validate on the bundled fixture should answer "ok": true.
pnpm --filter @shellx-motion/cli run cli -- doctorpnpm --filter @shellx-motion/cli run cli -- validate fixtures/packages/lower-thirdNotevalidate retains a package.validate receipt only with an explicit governed --receipts-root outside the package. Otherwise it returns identity, layer count, hosts and lanes in the JSON envelope only and creates no receipts/ directory.
motion.start.build_verify
pnpm run build:verify is the only check that exercises what an npm consumer would actually receive. It packs every package, installs the CLI tarball into a throwaway project, and runs shellx-motion there through both the npm and pnpm bin shims.
pnpm run build:verify from the repository root.NoteThis cannot be exercised from inside the workspace, because the workspace exports deliberately point at TypeScript source.
motion.start.discover_first
Action discovery answers "what can I do about this?" with a callable plan, so an agent never has to guess a command or a mutation sequence.
actions find "add a cinematic snow environment" returns a matching action id.actions guide motion.timeline.layer.rich.set returns the workflow for one action.actions plan "change snow intensity and preview it" returns each planned step with its arguments, required set and allowed values.setup
motion.setup.node
The engine declares engines.node = >=24.0.0 and CI runs Node 24. The README records the tested runtimes as 24.14 on Linux and 24.15 on Windows.
motion.setup.pnpm
The engine declares engines.pnpm = >=10.6.0. Below 10.6 the workspace build-script declaration is not read, so esbuild's postinstall is skipped and the TypeScript runner has no platform binary.
Notepnpm 11.x is compatible.
motion.setup.package_manager
packageManager names the pnpm 10.33.0 identity that the lockfile and every green gate were actually produced with, as opposed to what engines.pnpm merely permits. CI does not repeat the number — pnpm/action-setup reads this field.
Notepnpm-lock.yaml is lockfileVersion 9.0. Use pnpm install --frozen-lockfile to resolve the same tree.
motion.setup.ffmpeg
FFmpeg encodes final media: MP4, WebM, GIF, stills and image sequences. It does not ship with Motion. The README records testing on 6.1.1 and 8.1.2.
SHELLX_MOTION_FFMPEG environment variable.NoteMotion invokes FFmpeg with shell:false through argument arrays and validates input/output roots and preset extensions.
motion.setup.ffprobe
FFprobe reads encoded media back for quality checks and media evidence. Encoding works without it; quality-check does not.
SHELLX_MOTION_FFPROBE environment variable.motion.setup.chromium
render rasterizes frames in a real browser by default (render --frame-lane browser), and preview --lane browser does the same. Any current Chrome or Chromium build works; npx playwright-core install chromium gets one.
SHELLX_MOTION_BROWSER environment variable.preview defaults to --lane native and needs no browser.Noteplaywright-core ships no browser of its own. An explicit SHELLX_MOTION_BROWSER pin that names a missing path fails closed rather than silently falling back.
motion.setup.native_lane
render --frame-lane native encodes from natively drawn frames instead of browser frames. The lane is narrow on purpose: it has no font rasterizer, so it refuses to deliver any package whose text is lowercase or names a font family.
NoteSuited to text-free packages, not a general substitute for the browser lane.
motion.setup.doctor
doctor reports what this machine can actually doOne call answers it: motion.platform.requirements, or doctor on the CLI. It reports per-tool readiness and distinguishes "cannot do this at all" from "cannot do it the default way, and here is the flag".
satisfied as "runs the way you are about to invoke it".possible as "runs at all".alternative names the flag that would work.NoteThe Workbench About page, the render dialog, the CLI and any MCP client all read the same answer — this is the readiness-parity invariant.
motion.setup.server_auth
The debug, SDK and MCP server binds 127.0.0.1 only; direct non-loopback binding is disabled. Everything except GET /health and the static Workbench shell requires a capability token.
Authorization: Bearer <token>; WebSocket callers use the authenticated subprotocol.SHELLX_MOTION_DEBUG_TOKEN.url, workbenchUrl, the granted tier, the transports and auth.tokenFile.NoteNever place the key in project files, shell history, logs or URLs. The server also rejects forged Host and unapproved Origin values and bounds request and WebSocket size and concurrency.
motion.setup.transports
The same command contracts are reachable over four transports plus the CLI.
POST /debug — native {command, args, requestedTier?} dispatch.POST /rpc — JSON-RPC discovery and MCP tool dispatch.WS /ws — authenticated persistent JSON-RPC.POST /sdk — typed local SDK operation dispatch for trusted hosts.GET /debug/contracts — the authenticated command/domain/tier/mutation registry.NoteMCP supports two protocol eras: modern 2026-07-28 clients call server/discover without initialize; legacy 2025-06-18 clients keep initialize/list/call. Both enforce the same server grant.
motion.setup.pickers
The Workbench Browse buttons open the operating system's own chooser through the server, because a browser page cannot hand a real filesystem path to a local engine.
NoteNative pickers need a desktop session. A headless server has no picker.
motion.setup.memory
A browser render reuses one Chromium session for the whole sequence, so peak resident memory grows with frame count, and effects.motionBlur.samples multiplies it. The governor resolves an adaptive per-job ceiling from host memory, current free memory and job concurrency; 6 GiB is only its fallback without host facts. It aborts a job that crosses the resolved ceiling with job_rss_limit_exceeded.
doctor or motion.platform.requirements to read the resolved ceiling for this host.SHELLX_MOTION_MAX_JOB_RSS_BYTES.NoteThe CLI writes a structured JSON failure envelope to stdout (ok: false, error.code: job_rss_limit_exceeded) and exits non-zero.
motion.setup.updates
The standalone CLI checks the configured GitHub release channel at startup and every 30 minutes. The About page reads that cached result, Check now refreshes it, and MCP/JSON-RPC discovery reports the same checkedAt, latestVersion and updateAvailable fields to agents.
NoteApplying an update reports the truthful install state. A source checkout is updated through git; there is no signed in-place binary channel yet, so the server will not download and run unverified release bytes.
motion.setup.platform_verification
Motion publishes a reusable platform-verification ladder. A source build, or a result from another host, is not substitute evidence for a platform claim.
pnpm run platform:verify drives it.permissions
motion.tier.ladder
read_motion < draft_motion < render_motion < edit_motion < write_local < push_remote. The tier the server is launched with is a ceiling: a request may ask for a lower or equal tier, never a higher one, and package data or prompts cannot elevate themselves.
NoteThe per-command tier is contract data, not prose. schemas/debug.json carries the permission of every command.
motion.tier.write_local_outranks_edit
The intuitive reading is the wrong one and it costs a session. edit_motion mutates a package that already exists. write_local creates files outside an existing package — so making a NEW package needs write_local.
motion.package.create needs write_local, together with every importer, exporter, connector and archive command.--tier edit_motion and then calling motion.package.create is refused, correctly.--tier write_local if the agent has to create packages.motion.tier.trusted_local
read_motion is the default for a direct server launch. Raising the grant is deliberate: the launch must also pass --trusted-local-tier, so a higher grant is never something a caller can drift into.
pnpm --filter @shellx-motion/debug-server run serve -- --tier render_motion --trusted-local-tierpnpm start is the normal human path and grants write_local with this flag already applied.motion.tier.push_remote_reserved
It is the top tier and it exists so a future hosted or repository-handoff surface can refuse it explicitly without inventing a new gate. The server requires a separate --allow-push-remote opt-in on top of a push_remote grant.
NoteMotion keeps all execution local.
motion.tier.read_motion
Read-only. The default grant for a direct server launch, and the only tier that needs no --trusted-local-tier. 75 of the 300 shipped Debug API commands declare read_motion as their required tier.
motion.tier.draft_motion
Draft-level agent work: queueing, cancelling and retrying prompt jobs. 6 of the 300 shipped Debug API commands declare draft_motion as their required tier.
motion.tier.render_motion
Producing evidence: preview frames, final media, quality checks and batch renders. 17 of the 300 shipped Debug API commands declare render_motion as their required tier.
motion.tier.edit_motion
Mutating a package that already exists — layers, keyframes, curves, tracks, captions. 155 of the 300 shipped Debug API commands declare edit_motion as their required tier.
motion.tier.write_local
Creating files outside an existing package: motion.package.create, every importer, exporter, connector and archive command. 47 of the 300 shipped Debug API commands declare write_local as their required tier.
motion.tier.push_remote
Reserved. Requires a separate --allow-push-remote opt-in and is never inferred. 0 of the 300 shipped Debug API commands declare push_remote as their required tier.
engine room
motion.workbench.pages
Motion is not headless. Its debug server serves a local browser UI over the same Debug API contracts the agents use — Inspector, History, Connections, Docs and About — reached from one persistent navigation strip.
NoteThe Workbench does not maintain a second project model. There is no template gallery page: the 12 template families are reference material for agents and hosts through the CLI, SDK and MCP.
motion.workbench.connect
Start Motion authenticates the first tab automatically. Any other tab, or a manual Debug API session, connects by pasting the same local access key into the Connect dialog.
NoteThe same private key protects the Workbench, MCP and the Debug API. A rejected key reports an error in the dialog rather than failing silently.
motion.workbench.session_state
The header shows the live connection state, and every page except Inspector also shows a tier chip naming the access the server granted this session.
NoteThe tier shown is the server's ceiling, not a request. It cannot be raised from the page.
motion.workbench.identity
The header names the open package and its canvas and frame rate, so a render is never started against a package you thought you had closed.
motion.workbench.inspector.package_field
The Motion package field takes a real filesystem path. Browse opens the operating system's native folder chooser through the server rather than a browser upload dialog.
NoteBrowse needs a desktop session. On Linux it needs zenity or kdialog.
motion.workbench.inspector.packages
Every package the Workbench has loaded appears in the rail with its layer count and duration. Clicking a row reloads that package.
motion.workbench.inspector.preview
Preview frames render on this machine and are served back through the authenticated artifact route. The stage switches between a black and a neutral background so alpha and light work can be judged honestly.
NoteThe default preview lane is native. A browser-lane preview needs Chromium.
motion.workbench.inspector.transport
Play, the timecode readout and the scrubber move the playhead. Moving it re-renders the preview at the new timestamp.
motion.workbench.inspector.timeline
Layer timing is drawn as rows with a ruler and a playhead. Clicking a layer label or clip selects that layer and fills the Inspector panel.
motion.workbench.inspector.panel
The right rail carries three panels: Inspector for the current selection, Queue for receipt-backed render jobs, and Receipts for the receipts under a chosen location.
NoteQueue is derived from receipt files on disk. It does not see work in flight — use motion.job.get for that.
motion.workbench.inspector.diagnostics
The Inspector panel ends with diagnostics from the last operation — for example a note that the browser renderer used a font fallback for a text layer.
NoteA diagnostic is evidence, not decoration. A font fallback changes the delivered pixels.
motion.workbench.inspector.render
Render… opens a dialog that collects the output path, the export preset, an optional quality manifest and the motion gate, then reports readiness BEFORE submitting rather than an FFmpeg error afterwards.
NoteThe readiness line is filled from motion.platform.requirements — the same answer doctor gives.
motion.workbench.inspector.status
The status bar is the honest running commentary: what the engine last did, and the standing reminder that project content stays on this machine.
motion.workbench.history.purpose
History reads durable receipts that commands persisted to a chosen receipt root. It is the regression trail for that retained evidence: what ran, when, who or what triggered it, whether the quality gates passed, and where the output artifacts landed on disk.
NoteReceipts are not cryptographically signed — the hashes prove an artifact still matches what the operation recorded, not who wrote the file.
motion.workbench.history.location
History reads a receipt root from disk. Browse picks it with the native chooser; Load receipts reads it.
NoteHistory is read-only.
motion.workbench.history.filters
Filter by package, by operation, and by result — passed, warning, failed or not run — with a live shown-of-total count.
motion.workbench.history.card
A card names the operation, the package, the actor that triggered it, the renderer and encoder actually used, and the output artifact with its dimensions and duration.
NotePassed with warnings is not a pass. Inspect the named gate before treating the artifact as approved.
motion.workbench.connections.agents
Choose the agent you use and click Configure; Motion adds itself. The setup command stays visible so you can review or copy it instead.
NoteMotion must be running while the agent uses its tools. Agent setup uses Motion's local bridge, so the key is not written into agent configuration.
motion.workbench.connections.details
The connection details panel shows the live loopback MCP address, the Debug API address, and the single local access key, each with a copy button.
NoteThe same private key protects the Workbench, MCP and the Debug API. Treat it like any other local secret — theft by another local process would grant that process Motion's filesystem and render authority.
motion.workbench.docs.reader
Motion serves its own shipped documentation set from the running engine, so the pages you read always match the build you are running.
motion.workbench.about.identity
About states which Motion this is: the running version, the access the session was granted, that processing happens on this machine, and that results are receipt-backed.
motion.workbench.about.tools
Identity alone answers "which Motion is this", never "can it encode". The readiness block reads motion.platform.requirements and reports FFmpeg, FFprobe and Chromium, so a missing tool is visible before a render fails instead of after.
NoteThe block always renders. An absent block would read as a healthy machine.
motion.workbench.about.update
About reads the shared cached update status — the same result startup checks, periodic checks and connected agents see. Check now refreshes it immediately.
NoteMotion checks the official release channel at startup and every 30 minutes. No project content or telemetry is sent.
package safety
motion.safety.declarative_layers
Shapes, text, keyframes, environments, particles and fixed 3D scenes declare what to draw. They cannot execute arbitrary source code, fetch remote assets implicitly, or raise host resource limits.
NoteA construct the contract does not allow is refused. That is never a reason to hand-inject code or URLs into package JSON.
motion.safety.web_layers_execute
This is the one deliberate exception, and it is the part worth knowing before you render something a stranger gave you. A web, html or canvas layer names an HTML file inside the package, and Motion loads it into Chromium WITH JAVASCRIPT ENABLED. Rendering such a package runs that script.
NoteEarlier Motion documentation said a package "cannot execute arbitrary code" without this qualification. That was wrong for this layer family and is corrected here.
motion.safety.html_import
Foreign HTML brought in through motion.html.snippet.import is stripped of <script> and reported as lossy, so the import path is the safe one for markup you did not write.
NoteAgent-authored scripts inside a package are allowed. External script import is not enabled.
motion.safety.import_budgets
The shared host-interchange envelope allows at most 16 MiB per file, 256 files, 16 relative path components and 64 MiB in aggregate. Each importer applies a second structural budget before it parses or publishes a package.
NoteThese are fixed admission limits, not agent-configurable capacity knobs, and a successful import does not claim lossless or renderer-supported content.
motion.safety.caller_and_executable_identity
A batch resume can reopen retained output only with exclusive retained-output authority and the same authenticated caller recorded in its prior receipt. Generic connector references remain opaque until a trusted resolver receives that host-authenticated caller principal for the exact resolution.
capability_unavailable; another caller receives job_not_visible; either refusal leaves the retained output unchanged.NoteFor connector and batch protocol calls, caller identity is trusted host context, never a request field that the caller can nominate. An actor label is attribution, never an owner principal; Cut explicitly configures its workspace identity.
motion.safety.parsers
Chromium and FFmpeg run with your OS privileges and parse whatever a package contains. Motion bounds them rather than pretending they are inert.
NoteWhere Motion cannot prove kernel-level sandbox enforcement, its receipts say so (status: requested) rather than claiming a guarantee it has not verified.
motion.safety.network
Motion does not reach the network as a side effect of rendering. A package's allowedOrigins entries are requests, not authority — the host must separately approve an exact origin.
motion.safety.receipts
Receipts attest rendered, previewed, imported, exported, package-producing and batch work, but each command owns where—or whether—it persists one. validate stays package-read-only and is envelope-only unless an explicit governed receipt root is supplied.
package.validate, pass --receipts-root <host-store> outside the package; without it, inspect the envelope.NoteA receipt is not cryptographically signed. Its hashes prove an attested artifact still matches what that operation recorded, not who wrote the file.
motion.safety.threat_report
If you find behaviour the security model says is impossible, that is a vulnerability report. SECURITY.md at the repository root states how to send it privately, what is in scope, and what to expect back.
NoteSame-user malware with arbitrary file read or process inspection is treated as an OS-account compromise, which is outside what Motion can defend.
source references
motion.reference.index.start-here
4 items from the released documentation index.
quickstart.mdFEATURES.mdconnections.mdMOTION_VALIDATION.mdNoteThe command schema remains the authority for callable arguments and permissions.
motion.reference.index.authoring-and-rendering
12 items from the released documentation index.
rendering.mdshape-geometry.mdgroups-and-local-timelines.mdpath-reveals.mdtrails.mdcutout-rigging.mdtransition-presets.mdTEMPLATE_DESIGN_MATRIX.mdTEMPLATE_QUALITY_BAR.mdtemplates.mdRENDERING_SAMPLES.mdagent-authored-scripts.mdNoteThe command schema remains the authority for callable arguments and permissions.
motion.reference.index.integration
8 items from the released documentation index.
agent-integration.mdDEBUG_API.mdDEBUG_API_COMMANDS.mdJOB_STATUS.mdhost-integration.mdcut-job-integration-spec.mdcut-and-design-studio.mdinterchange-limits.mdNoteThe command schema remains the authority for callable arguments and permissions.
motion.reference.index.trust
5 items from the released documentation index.
receipts-and-trust.mdPLATFORM_VERIFICATION.mdsecurity-model.mdBINARY_ASSETS.mdSBOM.mdNoteThe command schema remains the authority for callable arguments and permissions.
agent reference
motion.reference.contract
Motion 0.2.65 ships 300 typed Debug API commands across 7 domains. 174 of them are also discoverable actions in schemas/actions.json, each with natural-language aliases; the remaining 126 are callable but carry no action entry. 224 commands are classified as mutations.
GET /debug/contracts returns the same registry at runtime.motion.actions.find, .guide and .plan return the callable plan for a described intent.NoteA command that renders or writes a derived artifact is classified as a mutation even when the source package itself is unchanged.
timeline domain
motion.command.motion.audio.master.set
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: set document audio master, set final mix loudness target, set master gain and fade, clear document audio master, verify final program loudness
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
clear | boolean | no | Remove the document master instead of setting master. Cannot be combined with master. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
master | object | no | Bounded document master object: gain, fades, and an optional post-mix loudness target. It accepts no scripts, filter graphs, plugins, or external sources. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.audio.crossfade.set
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: crossfade two audio clips, equal power crossfade, match outgoing and incoming audio fades, set layer audio crossfade
| Name | Type | Required | Description |
|---|---|---|---|
durationMs | number | yes | Positive overlap length in milliseconds. It must exactly align the outgoing end with the incoming start; this command never moves layers. |
fromLayerId | string | yes | Outgoing audio or video-with-audio layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
toLayerId | string | yes | Incoming audio or video-with-audio layer id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
curve | string · linear|equal-power | no | Matched fade curve applied to both layers. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.panel
Tier read_motion. Read-only. Discoverable as an action on the timeline, prompt surfaces.
Discovery phrases: show timeline panel, timeline panel, open timeline panel, show scene layer timeline, show scene and layer timeline, show timeline layers
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.inspect
Tier read_motion. Read-only. Discoverable as an action on the timeline, prompt surfaces.
Discovery phrases: inspect scenes tracks and timeline markers, inspect timeline, show timeline tracks, show timeline markers, list scenes and tracks, timeline metadata
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.playhead.set
Tier draft_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: set timeline playhead to 2 seconds, set timeline playhead, move timeline playhead, scrub timeline playhead, jump playhead, set playhead, move playhead, scrub to timestamp
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
atMs | number | no | New playhead time in milliseconds. Required unless playheadMs is given; must be within the motion duration. |
playheadMs | number | no | Alternate name for atMs. |
receiptsRoot | string | no | Optional trusted host receipt mirror for the control-state receipt. Durable playhead, range, and viewport persistence currently requires Linux; macOS and Windows return capability_unavailable before creating package state or a receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.range.select
Tier draft_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: select timeline range, set timeline range selection, select range on timeline, mark timeline range, set in and out points, select in out range, choose timeline segment
| Name | Type | Required | Description |
|---|---|---|---|
endMs | number | yes | Selection end in milliseconds; must be at or after startMs and within the motion duration. |
packageRoot | string | yes | Motion package root directory to read. |
startMs | number | yes | Selection start in milliseconds. |
receiptsRoot | string | no | Optional trusted host receipt mirror for the control-state receipt. Durable playhead, range, and viewport persistence currently requires Linux; macOS and Windows return capability_unavailable before creating package state or a receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.viewport.set
Tier draft_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: zoom timeline viewport, set timeline viewport, change timeline zoom, zoom timeline, pan timeline viewport, fit timeline range, set timeline pixels per second
| Name | Type | Required | Description |
|---|---|---|---|
endMs | number | yes | Visible window end in milliseconds; must be greater than startMs and within the motion duration. |
packageRoot | string | yes | Motion package root directory to read. |
startMs | number | yes | Visible window start in milliseconds. |
pixelsPerSecond | number | no | Optional horizontal scale; must be positive. |
receiptsRoot | string | no | Optional trusted host receipt mirror for the control-state receipt. Durable playhead, range, and viewport persistence currently requires Linux; macOS and Windows return capability_unavailable before creating package state or a receipt. |
zoom | number | no | Optional zoom factor; must be positive. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.duration.policy
Tier read_motion. Read-only. Discoverable as an action on the timeline, prompt surfaces.
Discovery phrases: show protected intro outro regions, show duration policy, inspect duration policy, read duration policy, show protected regions, list protected timeline regions, show intro outro locks, inspect protected duration regions
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.duration.policy.set
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: set protected intro outro duration policy, set duration policy, edit duration policy, set protected regions, protect intro outro regions, protect intro and outro, lock intro and outro duration, set timeline protected duration regions, set intro outro locks
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
policy | object | yes | Duration policy { minDurationMs?, maxDurationMs?, resizeMode?, protectedRegions? }. resizeMode is one of the durationResizeMode values; protectedRegions is an array of { id, startMs, durationMs } with unique ids. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.scene.create
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: add storyboard scene, add timeline scene, add scene, create timeline scene, create scene, insert storyboard scene, insert timeline scene, new storyboard section, new scene, add outro scene
| Name | Type | Required | Description |
|---|---|---|---|
durationMs | number | yes | Scene duration in milliseconds; must be positive. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
sceneId | string | yes | Target scene id. |
startMs | number | yes | Scene start in milliseconds. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
index | number | no | Insertion index in the scene list; appended when omitted. |
layerId | string | no | Single layer id to attach, in place of layerIds. |
layerIds | array | no | Layer ids to attach, as a string array. |
markerId | string | no | Single marker id to attach, in place of markerIds. |
markerIds | array | no | Marker ids to attach, as a string array. |
name | string | no | Optional display name for the scene. |
3 further optional arguments: receiptsRoot, trackId, trackIds. The complete contract, including descriptions and allowed values, is schemas/debug.json.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.scene.delete
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: delete storyboard scene, delete timeline scene, delete scene, remove storyboard scene, remove timeline scene, remove scene, drop storyboard scene, drop timeline scene, clear storyboard section, remove outro scene
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
sceneId | string | yes | Target scene id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.scene.reorder
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: reorder storyboard scene, reorder timeline scene, reorder scene, move storyboard scene, move timeline scene, move scene row, move scene in storyboard, move outro scene before intro, send scene to top, move scene order
| Name | Type | Required | Description |
|---|---|---|---|
index | number | yes | New position in the scene list. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
sceneId | string | yes | Target scene id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.scene.resize
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: resize intro scene duration with ripple, resize scene duration, set scene duration, change scene duration, extend scene with ripple, shorten scene with ripple, ripple scene duration, retime scene
| Name | Type | Required | Description |
|---|---|---|---|
durationMs | number | yes | New scene duration in milliseconds; must be positive. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
sceneId | string | yes | Target scene id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
ripple | boolean | no | Shift later scenes by the same delta instead of leaving a gap or overlap. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.scene.name.set
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: rename selected scene, rename scene, rename timeline scene, set scene name, set selected scene name, change scene name, change selected scene name, edit scene name, label selected scene, set scene display name
| Name | Type | Required | Description |
|---|---|---|---|
name | string | yes | New scene name; must not be blank. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
sceneId | string | yes | Target scene id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.marker.upsert
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: add timeline marker at playhead, add timeline marker, set timeline marker, update timeline marker, change timeline marker, edit timeline marker, move timeline marker, modify timeline marker, add marker, set marker, update marker, change marker, edit marker, move marker, modify marker, update marker label, edit marker label, add beat marker, add cue marker, attach marker to scene
| Name | Type | Required | Description |
|---|---|---|---|
atMs | number | yes | Marker time in milliseconds. |
id | string | yes | Marker id; an existing marker with this id is replaced. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
color | string | no | Optional marker color. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
durationMs | number | no | Optional marker span in milliseconds; a point marker when omitted. |
label | string | no | Optional marker label. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
sceneId | string | no | Optional scene to attach the marker to. |
type | string | no | Optional marker classification such as chapter or note. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.marker.delete
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: delete timeline marker at playhead, delete timeline marker, remove timeline marker, delete marker, remove marker, clear marker, delete beat marker, delete cue marker
| Name | Type | Required | Description |
|---|---|---|---|
id | string | yes | Marker id to remove. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.keyframe.upsert
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: add opacity keyframe with ease out, add timeline keyframe, set keyframe, update keyframe, change easing, add transform keyframe, keyframe opacity, keyframe position, animate title color keyframes, animate text color, keyframe fill color, keyframe style color, animate blur effect, keyframe visual effect, animate brightness, keyframe playback rate, animate mask crop keyframes, animate image crop keyframes, animate video crop keyframes, keyframe image crop, keyframe video crop, keyframe source crop, keyframe mask inset, animate crop reveal, keyframe clip mask, add spring keyframe, keyframe with spring easing, animate with spring physics
| Name | Type | Required | Description |
|---|---|---|---|
atMs | number | yes | Keyframe time in milliseconds. An existing keyframe at this time is replaced. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
target | string · keyframeTarget | yes | Animated property path the keyframes belong to. |
value | ['number', 'string'] | yes | Keyframe value: a finite NUMBER for numeric targets (transform.*, opacity), or a CSS colour string for colour targets (fill, stroke). Numeric targets reject a numeric string such as "0". |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
easing | string · easing | no | Easing applied to the keyframe. Also accepts cubic-bezier(...)/steps(...) strings and a spring object. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: easing, keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.keyframe.delete
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: delete opacity keyframe at playhead, delete timeline keyframe, remove keyframe, remove opacity keyframe, delete transform keyframe, clear keyframe
| Name | Type | Required | Description |
|---|---|---|---|
atMs | number | yes | Time of the keyframe to remove, in milliseconds. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
target | string · keyframeTarget | yes | Animated property path the keyframes belong to. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.keyframe.range.delete
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: delete selected keyframes, remove selected keyframes, delete keyframe range, remove keyframe range, clear selected keyframes, clear keyframe range, delete opacity keyframes
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
target | string · keyframeTarget | yes | Animated property path the keyframes belong to. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
endMs | number | no | Window end in milliseconds; unbounded when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
startMs | number | no | Window start in milliseconds; unbounded when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.keyframe.move
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: move opacity keyframe, move timeline keyframe, move keyframe, retime keyframe, shift keyframe, nudge keyframe, change keyframe time, move transform keyframe
| Name | Type | Required | Description |
|---|---|---|---|
fromMs | number | yes | Current time of the keyframe, in milliseconds. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
target | string · keyframeTarget | yes | Animated property path the keyframes belong to. |
toMs | number | yes | New time for the keyframe, in milliseconds. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.keyframe.easing.apply
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: apply ease in out to selected keyframes, apply easing to selected keyframes, apply easing preset to keyframes, set selected keyframe easing, change selected keyframe easing, set keyframe easing range, apply cubic bezier to keyframes, apply spring easing to keyframes, make selected keyframes bouncy
| Name | Type | Required | Description |
|---|---|---|---|
easing | string · easing | yes | Easing applied to the keyframe. Also accepts cubic-bezier(...)/steps(...) strings and a spring object. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
target | string · keyframeTarget | yes | Animated property path the keyframes belong to. |
atMs | number | no | Apply to the single keyframe at this time; use startMs/endMs for a window instead. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
endMs | number | no | Window end in milliseconds; unbounded when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
startMs | number | no | Window start in milliseconds; unbounded when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: easing, keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.keyframe.shift
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: nudge selected keyframes, shift selected keyframes, shift keyframe range, move keyframe range, nudge keyframe range, slide keyframes, offset selected keyframes, shift opacity keyframes
| Name | Type | Required | Description |
|---|---|---|---|
deltaMs | number | yes | Milliseconds to move the selected keyframes; must be finite and non-zero. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
target | string · keyframeTarget | yes | Animated property path the keyframes belong to. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
endMs | number | no | Window end in milliseconds; unbounded when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
startMs | number | no | Window start in milliseconds; unbounded when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.keyframe.scale
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: stretch selected keyframes, scale selected keyframes, compress selected keyframes, stretch keyframe range, scale keyframe range, retime selected keyframes, change selected keyframe timing, spread keyframes around playhead
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
originMs | number | yes | Fixed point the scaling pivots around, in milliseconds. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
scale | number | yes | Time-scale factor; must be positive and not 1. |
target | string · keyframeTarget | yes | Animated property path the keyframes belong to. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
endMs | number | no | Window end in milliseconds; unbounded when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
startMs | number | no | Window start in milliseconds; unbounded when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.keyframe.duplicate
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: duplicate selected keyframes, copy selected keyframes, duplicate keyframe range, copy keyframe range, repeat selected keyframes, repeat keyframe animation, paste keyframes later, copy opacity keyframes
| Name | Type | Required | Description |
|---|---|---|---|
deltaMs | number | yes | Offset for the duplicated keyframes; must be finite and non-zero. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
target | string · keyframeTarget | yes | Animated property path the keyframes belong to. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
endMs | number | no | Window end in milliseconds; unbounded when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
startMs | number | no | Window start in milliseconds; unbounded when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.keyframe.distribute
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: distribute selected keyframes, distribute keyframes evenly, evenly space selected keyframes, space keyframes evenly, equalize keyframe spacing, distribute opacity keyframes
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
target | string · keyframeTarget | yes | Animated property path the keyframes belong to. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
endMs | number | no | Window end in milliseconds; unbounded when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
startMs | number | no | Window start in milliseconds; unbounded when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.keyframe.reverse
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: reverse selected keyframes, reverse keyframe range, mirror selected keyframes, mirror keyframe range, flip keyframe timing, reverse opacity keyframes
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
target | string · keyframeTarget | yes | Animated property path the keyframes belong to. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
endMs | number | no | Window end in milliseconds; unbounded when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
startMs | number | no | Window start in milliseconds; unbounded when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.keyframe.snap
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: snap selected keyframes to frames, snap keyframes to frame grid, align selected keyframes to frames, frame snap keyframes, snap opacity keyframes to frames, align keyframe timing to frame grid
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
target | string · keyframeTarget | yes | Animated property path the keyframes belong to. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
endMs | number | no | Window end in milliseconds; unbounded when omitted. |
fps | number | no | Frame rate to snap to; must be positive. Defaults to the motion document fps. |
mode | string · keyframeSnapMode | no | Rounding direction; nearest when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
startMs | number | no | Window start in milliseconds; unbounded when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: keyframeSnapMode, keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.spatial.position.upsert
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
atMs | number | yes | Position time in milliseconds. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
x | number | yes | Horizontal position in pixels. |
y | number | yes | Vertical position in pixels. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
easing | string · easing | no | Easing applied to the keyframe. Also accepts cubic-bezier(...)/steps(...) strings and a spring object. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
spatial | object | no | Optional tangent control { mode, in: { x, y }, out: { x, y } }. mode must be one of the spatialTangentMode values and all four handle numbers must be finite. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: easing. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.spatial.position.move
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
fromMs | number | yes | Current time of the spatial position, in milliseconds. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
toMs | number | yes | New time for the spatial position, in milliseconds. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.spatial.position.delete
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
atMs | number | yes | Time of the spatial position to remove, in milliseconds. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.revision.transaction.plan
Tier read_motion. Read-only. Discoverable as an action on the timeline surface.
Discovery phrases: plan atomic revision, preview atomic timeline revision, validate several timeline edits, plan transactional timeline revision
| Name | Type | Required | Description |
|---|---|---|---|
base | object | yes | Exact identity and authored-document hashes observed on the source revision. |
packageRoot | string | yes | Existing Motion package root, at most 4096 UTF-8 bytes with no NUL byte, inside host-configured authoring input roots. |
steps | array | yes | Ordered, closed, data-only mutation steps replayed only in memory to predict the final document. Planning writes no package or receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.revision.transaction
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts surfaces.
Discovery phrases: apply atomic revision, apply multiple timeline edits atomically, one revision for several edits, transactional timeline revision
| Name | Type | Required | Description |
|---|---|---|---|
base | object | yes | Exact identity and authored-document hashes observed on the source revision. |
outDir | string | yes | One absent or empty output directory outside packageRoot, at most 4096 UTF-8 bytes with no NUL byte. The completed revision is atomically published here. |
packageRoot | string | yes | Source Motion package root, at most 4096 UTF-8 bytes with no NUL byte. It is never changed in place. |
steps | array | yes | Ordered, closed, data-only mutation steps. They run against one copied base package and publish once only when every step succeeds. |
createdBy | string | no | Optional attribution recorded in the one aggregate package receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.keyframes.panel
Tier read_motion. Read-only. Discoverable as an action on the timeline, prompt surfaces.
Discovery phrases: show keyframe panel, keyframe panel, show keyframes panel, timeline keyframes panel, inspect keyframe panel, show animated keyframes, inspect timeline keyframes, show easing keyframes
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root to inspect for timeline keyframes. |
includeEmpty | boolean | no | Include layers that have no matching keyframes. |
layerId | string | no | Optional layer id filter. |
target | string · keyframeTarget | no | Optional keyframe target filter. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: keyframeTarget. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.transitions.panel
Tier read_motion. Read-only. Discoverable as an action on the timeline, prompt surfaces.
Discovery phrases: show timeline transition panel, timeline transition panel, show transition panel, transition panel, show transitions panel, timeline transitions panel, inspect transition panel, show enter exit transitions, inspect timeline transitions, show transition easing
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root to inspect for layer transitions. |
edge | string · in|out | no | Optional transition edge filter. |
includeEmpty | boolean | no | Include layers that have no matching transitions. |
layerId | string | no | Optional layer id filter. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.easing.panel
Tier read_motion. Read-only. Discoverable as an action on the timeline, prompt surfaces.
Discovery phrases: show easing panel, show timeline easing panel, show timeline easing curves, inspect easing curves, inspect animation curves, show keyframe easing usage, show transition easing usage, review easing usage
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root to inspect for easing curve usage. |
sampleCount | number | no | Number of normalized t/value samples to include per easing curve. Capped because the panel samples every easing row, so the cost is rowCount * sampleCount. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.easing.presets
Tier read_motion. Read-only. Discoverable as an action on the timeline, prompt surfaces.
Discovery phrases: show easing presets, list easing presets, easing preset discovery, show animation easing presets, what easing presets are available, list spring easing presets, show spring presets
Takes no arguments.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.animation.presets
Tier read_motion. Read-only. Discoverable as an action on the timeline, prompt surfaces.
Discovery phrases: show animation presets, list animation presets, animation preset discovery, show motion animation presets, what animation presets are available, list entrance and exit animations
Takes no arguments.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.animation.preset.apply
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: apply lower third entrance animation, apply lower third animation, apply animation preset, add entrance animation, add exit animation, animate layer in, animate layer out, animate title entrance, apply fade in preset, apply fade out preset, apply slide up entrance, apply lower third in, make the title slide in, make title slide in, slide the title in, slide title in, title entrance animation, give the title an entrance, give title an entrance, stagger title and subtitle entrance animation, staggered layer entrance animation, animate multiple layers in sequence, apply animation preset to multiple layers
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
preset | string · animationPreset | yes | Animation preset to apply. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
distancePx | number | no | Travel distance for slide-style presets, in pixels. |
durationMs | number | no | Preset duration in milliseconds; the preset default when omitted. |
easing | string · easing | no | Easing applied to the keyframe. Also accepts cubic-bezier(...)/steps(...) strings and a spring object. |
layerId | string | no | Single target layer. Supply this or layerIds. |
layerIds | array | no | Target layer ids as a string array; enables staggering across the group. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
staggerMs | number | no | Delay added per layer when layerIds is used. |
startMs | number | no | Preset start time in milliseconds; the layer start when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: animationPreset, easing. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.transition.presets
Tier read_motion. Read-only. Discoverable as an action on the timeline, prompt surfaces.
Discovery phrases: show transition presets, list transition presets, transition library, reveal and card transition presets, what transitions are available
Takes no arguments.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.transition.preset.apply
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: apply transition preset, apply card stack transition, apply push zoom, apply scan sweep, apply split reveal, add polished transition
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
preset | string · transitionPreset | yes | Named transition preset to apply. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
direction | string · transitionDirection | no | Optional direction override for directional presets. |
distance | number | no | Optional non-negative travel distance override in pixels. |
durationMs | number | no | Preset duration in milliseconds; must be positive when supplied. |
easing | string · easing | no | Optional easing override for the preset. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: easing, transitionDirection, transitionPreset. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.layer.create
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: add a text layer to the timeline, add text layer, create text layer, add shape layer, create shape layer, add environment layer, create environment layer, add points layer, create points layer, create a bounded point cloud, add a drone swarm layer, add a particle trail, add a point trail, add a spark trail, add a drone trail, add rain environment layer, create rain environment, add water environment layer, create water environment, add snow environment layer, create snow environment, add a cinematic snow environment, insert timeline layer, create timeline layer, new timeline layer, add layer
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
assetId | string | no | Package asset id to bind the layer to. |
assetRef | string | no | Package asset reference to bind the layer to. |
color | string | no | Text color; folded into layer.style.color. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
durationMs | number | no | Layer duration in milliseconds; must be positive. Required unless layer.durationMs is set. |
fill | string | no | Fill color for shape layers. |
fontSize | number | no | Text size in pixels; folded into layer.style.fontSize. Must be positive. |
height | number | no | Layer height in pixels. Must be positive. |
index | number | no | Insertion index in the layer stack; appended when omitted. |
layer | object | no | Full layer object (id, type, startMs, durationMs, plus optional name/opacity/transform/keyframes/transitions/mask/effects/environment/emitter/pointCloud/blendMode/crop/ducking/style). A points layer carries bounded declarative data, never code; particles and points may declare static effects.trail lookback strokes (durationMs 1..2000, samples 2..8), not physics, history, formulas, or GPU work. A particles emitter may carry one to three bounded analytic radial/vortex field sources. Supply this, or the shorthand fields below. |
11 further optional arguments: layerId, receiptsRoot, shape, source, src, startMs, text, trackId, trackIndex, type, width. The complete contract, including descriptions and allowed values, is schemas/debug.json.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.trim
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: trim selected layer duration, trim layer, move layer timing, retime layer, set layer start and duration, change clip trim, adjust layer timing
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
durationMs | number | no | New timeline duration in milliseconds; must be positive. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
startMs | number | no | New timeline start in milliseconds. |
trimDurationMs | number | no | New length of the used source span; must be positive. |
trimStartMs | number | no | New in-point inside the source media, in milliseconds. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.split
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: split clip at playhead, split selected layer at playhead, split timeline layer, split layer, cut layer at playhead, cut clip at playhead, razor clip, razor layer
| Name | Type | Required | Description |
|---|---|---|---|
atMs | number | yes | Absolute timeline position of the cut, in milliseconds. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
newLayerId | string | no | Id for the layer created after the cut; derived when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.text.set
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: change title text, update title text, edit title text, set layer text, change layer text, edit text layer, update text layer, set timeline layer text
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
text | string | yes | New text content. An empty string is accepted. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.style.set
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: make title blue, make the title blue, make the title blue and preview it, change title color, set title color, set layer color, change layer style, set layer style, set title font size, change font size, set layer font size
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
property | string | yes | Style property name such as color, fontSize, backgroundColor, or letterSpacing. |
value | string | yes | New value. Strings, numbers, and booleans are all accepted; the type is validated against the target property. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.transform.set
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: move layer, move title layer, set layer position, set layer x, set layer y, resize layer, set layer width, set layer height, scale layer, rotate layer, set layer opacity
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
property | string | yes | Transform property name: x, y, width, height, opacity, scale, rotation, originX, or originY. |
value | string | yes | New value. Strings, numbers, and booleans are all accepted; the type is validated against the target property. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.effect.set
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: blur layer, blur title layer, soften layer, set layer blur, change layer effect, set layer effect, set layer brightness, adjust layer brightness, set layer contrast, adjust layer contrast, set layer saturate, desaturate layer, set layer grayscale
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
property | string | yes | Effect property name: blur, brightness, contrast, saturate, or grayscale. |
value | string | yes | New value. Strings, numbers, and booleans are all accepted; the type is validated against the target property. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.rich.set
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: set rich motion control, change rich motion control, set rich layer parameter, set environment intensity, change environment intensity, set rain intensity, change rain intensity, set snow intensity, change snow intensity, set water wave amplitude, change water wave amplitude, set snow turbulence, set rain wetness, set water caustics, set shader uniform, change shader uniform, set particle emitter parameter, change 3d scene parameter, set camera depth control, set motion blur shutter, set film grain control, draw path, reveal line, set laser trail, set particle trail duration, set point trail duration, set spark trail samples, set drone trail samples, engrave path, grow path
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
property | string | yes | Dotted path into the layer's rich controls, for example pathReveal.start, pathReveal.end, effects.trail.durationMs, effects.trail.samples, environment.intensity, or emitter.field.sources.0.strength. Trails are static particles/points fields, not keyframe targets. |
value | string | yes | New value. Strings, numbers, and booleans are all accepted; the type is validated against the target property. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.blend.set
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: set layer blend mode, change layer blend mode, set blend mode, change blend mode, set layer multiply, set layer screen, make layer multiply, make layer screen, set compositor blend mode, change compositor blend
| Name | Type | Required | Description |
|---|---|---|---|
blendMode | string · blendMode | yes | New compositing blend mode. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: blendMode. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.layer.crop.set
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: crop image layer, crop video layer, crop media layer, crop layer, set layer crop, set image crop, set video crop, set source crop, change source crop, adjust media crop
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
crop | object | no | Crop rectangle { x, y, width, height }. All four fields are required when this object is used. |
height | number | no | Crop height; used when crop is not supplied. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
width | number | no | Crop width; used when crop is not supplied. |
x | number | no | Crop left edge; used when crop is not supplied. Required with y, width, and height. |
y | number | no | Crop top edge; used when crop is not supplied. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.mask.set
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: mask layer, set layer mask, set rectangular mask, set rounded mask, round layer mask, clip layer mask, set mask inset, change layer mask, adjust layer mask, mask visual layer
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
bottom | number | no | Mask inset from the bottom; used when mask is not supplied. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
left | number | no | Mask inset from the left; used when mask is not supplied. |
mask | object | no | Mask object { type, inset?: { top, right, bottom, left }, radius? }. type is required. |
radius | number | no | Corner radius; used when mask is not supplied. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
right | number | no | Mask inset from the right; used when mask is not supplied. |
top | number | no | Mask inset from the top; used when mask is not supplied. |
type | string | no | Mask type; used when mask is not supplied. Required in that form. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.fit.set
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: fit image layer, fit video layer, set media fit, set image fit, set video fit, set object fit, change media fit, set layer fit, contain image layer, cover image layer
| Name | Type | Required | Description |
|---|---|---|---|
fit | string · mediaFit | yes | How the media fills the layer box. Image and video layers only. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: mediaFit. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.layer.media.set
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: set layer media source, set image media source, set video media source, set audio media source, change layer media source, set layer source, change layer source, replace layer media, swap layer media, replace timeline layer source
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
source | string | yes | New media source path or asset reference. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.name.set
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: rename selected layer, rename layer, rename timeline layer, set layer name, set selected layer name, change layer name, change selected layer name, edit layer name, label selected layer, set layer display name
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
name | string | yes | New display name; must not be blank. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.visibility.set
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: hide layer, show layer, hide timeline layer, show timeline layer, set layer visibility, toggle layer visibility, hide selected layer, show selected layer, hide product layer, show product layer
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
visible | boolean | yes | Whether the layer renders. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.lock
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: lock layer, unlock layer, lock selected layer, unlock selected layer, lock timeline layer, unlock timeline layer, set layer lock, set layer locked, protect layer, unprotect layer
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
locked | boolean | yes | Whether further edits to this layer are refused. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.delete
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: delete selected layer from timeline, delete timeline layer, remove timeline layer, delete selected layer, remove selected layer, delete layer, remove layer, clear layer
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.duplicate
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: duplicate selected layer on timeline, duplicate selected layer, duplicate timeline layer, clone selected layer, copy selected layer, duplicate layer, clone layer, copy layer
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
newLayerId | string | no | Id for the duplicate; derived when omitted. |
offsetMs | number | no | Milliseconds to shift the duplicate later on the timeline. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.reorder
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: bring selected layer forward, send selected layer backward, move selected layer forward, move selected layer backward, move layer forward, move layer backward, move layer to front, send layer to back, reorder layer, change layer stack order, layer z order, move selected layer in stack
| Name | Type | Required | Description |
|---|---|---|---|
index | number | yes | New position in the layer stack. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.create
Tier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
descriptor | object | yes | Closed C6C record profile union through retained-trace B7 plus the C6D trace and choreography data-recipe lowerers. A lineage cannot switch profile on revision. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.inspect
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
identity | object | yes | Closed exact host-sealed checkpoint storyboard record identity; loose ids and names are refused. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.revise
Tier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
descriptor | object | yes | Closed C6C record profile union through retained-trace B7 plus the C6D trace and choreography data-recipe lowerers. A lineage cannot switch profile on revision. |
parent | object | yes | Exact active host-sealed parent identity to reopen; the host injects it into the new sealed revision. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.remove
Tier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
identity | object | yes | Closed exact host-sealed checkpoint storyboard record identity; loose ids and names are refused. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.archive
Tier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
identity | object | yes | Closed exact host-sealed checkpoint storyboard record identity; loose ids and names are refused. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.materialize
Tier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
identity | object | yes | Exact host-sealed storyboard identity. The host alone selects source, workspace, output, and private C6B bindings. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.detach
Tier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
identity | object | yes | Exact host-sealed storyboard identity. Detach only retires a verified durable binding; it never deletes its package. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.behavior.resolve
Tier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
identity | object | yes | Exact sealed C6B2 behavior-record identity. This Debug/MCP-only command accepts no package, workspace, output, receipt, approval, renderer, object, layer, or authority field. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.behavior.detach
Tier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
identity | object | yes | Exact sealed C6B2 behavior-record identity. Detach retires only the durable behavior-resolution link; it never deletes the installed output and accepts no host authority data. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.relation.resolve
Tier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
identity | object | yes | Exact sealed C6B3 relation-record identity. This Debug/MCP-only command accepts no package, workspace, output, receipt, approval, renderer, object, layer, or authority field. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.relation.detach
Tier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
identity | object | yes | Exact sealed C6B3 relation-record identity. Detach retires only the durable relation-resolution link; it never deletes the installed output and accepts no host authority data. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.relation-action.resolve
Tier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
identity | object | yes | Exact sealed C6B4 relation-action record identity. This Debug/MCP-only command accepts no package, workspace, output, receipt, approval, renderer, object, layer, action, or authority field. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.relation-action.detach
Tier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
identity | object | yes | Exact sealed C6B4 relation-action record identity. Detach retires only the durable relation-action-resolution link; it never deletes the installed output and accepts no host authority data. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.lifecycle.resolve
Tier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
identity | object | yes | Exact sealed C6B5 lifecycle-record identity. This Debug/MCP-only command accepts no package, workspace, output, receipt, approval, renderer, object, layer, or authority field. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.lifecycle.detach
Tier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
identity | object | yes | Exact sealed C6B5 lifecycle-record identity. Detach retires only the durable lifecycle-resolution link; it never deletes the installed output and accepts no host authority data. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.geometry-morph.resolve
Tier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
identity | object | yes | Exact sealed C6B6 geometry-morph record identity. This Debug/MCP-only command accepts no package, workspace, output, receipt, approval, renderer, object, layer, geometry, or authority field. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.geometry-morph.detach
Tier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
identity | object | yes | Exact sealed C6B6 geometry-morph record identity. Detach retires only the durable geometry-morph-resolution link; it never deletes the installed output and accepts no host authority data. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.retained-trace.resolve
Tier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
identity | object | yes | Exact sealed C6B7 retained-trace record identity. This Debug/MCP-only command accepts no package, workspace, output, sidecar, receipt, approval, renderer, GPU, trace, or authority field. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.retained-trace.detach
Tier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
identity | object | yes | Exact sealed C6B7 retained-trace record identity. Debug/MCP-only: detach retires only the durable retained-trace-resolution link; it never deletes the installed output and accepts no host authority data. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.retained-trace.preview
Tier render_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
atUs | number | yes | Exact integer microsecond in the sealed retained-trace schedule, including the final document sample. This Debug/MCP-only command accepts no path, package, output, sidecar, receipt, plan, trace, lane, renderer, GPU, session, or authority field. |
identity | object | yes | Exact sealed C6B7 retained-trace record identity with one active host-resolved output binding. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.retained-trace.review.bind
Tier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
identity | object | yes | Exact active nonarchived C6B7 record identity. |
preview | object | yes | Exact paired opaque handles for one complete arbitrary-time B7 preview. |
reviewHandle | string | yes | Host-minted opaque decision handle. The command accepts no reviewer, decision, storyboard, recipe, package, frame, receipt, path, renderer, or authority data. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.preview
Tier render_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
identity | object | yes | Exact active host-sealed storyboard identity bound through B1a to the C6B output. |
target | object | yes | Closed target union. Checkpoint times must seal to whole milliseconds. B1d accepts whole-millisecond checkpoint and time targets in [0, duration]. The exact terminal duration D is a background-only terminal-boundary sample: all layers remain excluded with no hold or final-state claim. This command accepts no package, output, workflow, network, lane, or playhead fields. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.creative-review.bind
Tier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
creativeReviewHandle | string | yes | Exact opaque host-minted creative-review handle. It selects no caller-supplied brief, plan, ledger, run, approval, reviewer, shot, or authentication data. |
identity | object | yes | Exact active nonarchived host-sealed storyboard identity. |
preview | object | yes | Exact paired opaque handles for one complete B1b receipt-first PNG preview. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.checkpoint-storyboard.preview-quality.review
Tier write_local. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
identity | object | yes | Exact active nonarchived host-sealed storyboard identity. |
preview | object | yes | Exact paired opaque handles for one complete B1b v2 receipt-first PNG preview. |
review | object | yes | Closed quality-association union. `interior` reopens one durable end-exclusive B1c association. `terminal-endpoint` requires a separate host-only witness at exact D and carries no visible-final-state, held-content, human pixel review, final-media, or final-acceptance claim. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.relations.inspect
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
atUs | number | no | Optional exact inspection playhead. This authoring bridge currently accepts whole-millisecond-representable microseconds only. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.relations.upsert
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
binding | object | yes | One exact attach/follow/similarity or aim binding. Core owns target authority, DAG, lock, time, and budget validation. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. Receipt mirroring is selected only by the trusted Debug host. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.relations.enabled.set
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
enabled | boolean | yes | New persisted enable state; the mask remains reserved either way. |
id | string | yes | Stable relation id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. Receipt mirroring is selected only by the trusted Debug host. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.relations.remove
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
id | string | yes | Stable relation id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. Receipt mirroring is selected only by the trusted Debug host. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.relations.detach
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
id | string | yes | Stable relation id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. Receipt mirroring is selected only by the trusted Debug host. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.relations.bake
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
id | string | yes | Stable relation id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. Receipt mirroring is selected only by the trusted Debug host. |
sampleEveryUs | number | yes | Positive safe-integer interval in microseconds. Core requires a whole-millisecond multiple and an inclusive grid of at most 3,600 samples. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.relation-actions.inspect
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.relation-actions.upsert
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
definition | object | yes | One closed persisted relation-actions@2 definition; Core validates all exact branch and aggregate caps. |
outDir | string | yes | Empty or absent copy-on-write destination outside packageRoot. |
packageRoot | string | yes | Source package root. The source is never edited in place. |
createdBy | string | no | Optional attribution for the one mutation receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.relation-actions.remove
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
id | string | yes | Safe stable identifier. |
outDir | string | yes | Empty or absent copy-on-write destination outside packageRoot. |
packageRoot | string | yes | Source package root. The source is never edited in place. |
createdBy | string | no | Optional attribution for the one mutation receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.relation-actions.apply
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
expectedPackageId | string | yes | Safe stable identifier. |
expectedPackageManifestSha256 | string | yes | Lowercase SHA-256 identity. |
outDir | string | yes | Empty or absent copy-on-write destination outside packageRoot. |
packageRoot | string | yes | Source package root. The source is never edited in place. |
request | object | yes | Ephemeral exact-base Core materialization request; never persisted as instance data. |
createdBy | string | no | Optional attribution for the one mutation receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.scene3d-animation.inspect
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.scene3d-animation.track.upsert
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. Host receipt mirrors are configured by the trusted Debug host, never by a caller field. |
track | object | yes | One complete closed scene3d track. Its id can replace only the same immutable locator; a second track for that locator is refused. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.scene3d-animation.track.remove
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. Host receipt mirrors are configured by the trusted Debug host, never by a caller field. |
trackId | string | yes | Safe stable identifier; Core requires `[A-Za-z0-9][A-Za-z0-9._-]{0,63}`. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.scene3d-animation.keyframe.upsert
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
keyframe | object | yes | One complete exact-time typed keyframe. Core resolves value kind/bounds from the stored track locator. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. Host receipt mirrors are configured by the trusted Debug host, never by a caller field. |
trackId | string | yes | Safe stable identifier; Core requires `[A-Za-z0-9][A-Za-z0-9._-]{0,63}`. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.scene3d-animation.keyframe.delete
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
atUs | number | yes | Exact safe-integer physical microsecond timestamp; milliseconds and floating-point time are refused. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. Host receipt mirrors are configured by the trusted Debug host, never by a caller field. |
trackId | string | yes | Safe stable identifier; Core requires `[A-Za-z0-9][A-Za-z0-9._-]{0,63}`. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.scene3d-animation.keyframe.move
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
fromAtUs | number | yes | Exact safe-integer physical microsecond timestamp; milliseconds and floating-point time are refused. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. Host receipt mirrors are configured by the trusted Debug host, never by a caller field. |
toAtUs | number | yes | Exact safe-integer physical microsecond timestamp; milliseconds and floating-point time are refused. |
trackId | string | yes | Safe stable identifier; Core requires `[A-Za-z0-9][A-Za-z0-9._-]{0,63}`. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layout-gap-animation.inspect
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layout-gap-animation.track.upsert
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; host-owned layout continuation authority and receipt mirrors are configured by the trusted Debug host. |
track | object | yes | One application-bound row/column gap track. Generic paths and transform/timing targets are not accepted. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layout-gap-animation.track.remove
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; host-owned layout continuation authority and receipt mirrors are configured by the trusted Debug host. |
trackId | string | yes | Safe stable identifier; Core requires `[A-Za-z0-9][A-Za-z0-9._-]{0,63}`. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layout-gap-animation.keyframe.upsert
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
keyframe | object | yes | One exact gap keyframe; terminal state holds and it never becomes a generic keyframe target. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; host-owned layout continuation authority and receipt mirrors are configured by the trusted Debug host. |
trackId | string | yes | Safe stable identifier; Core requires `[A-Za-z0-9][A-Za-z0-9._-]{0,63}`. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layout-gap-animation.keyframe.delete
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
atUs | number | yes | Exact safe-integer microsecond timestamp; milliseconds and floating point are refused. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; host-owned layout continuation authority and receipt mirrors are configured by the trusted Debug host. |
trackId | string | yes | Safe stable identifier; Core requires `[A-Za-z0-9][A-Za-z0-9._-]{0,63}`. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layout-gap-animation.keyframe.move
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
fromAtUs | number | yes | Exact safe-integer microsecond timestamp; milliseconds and floating point are refused. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; host-owned layout continuation authority and receipt mirrors are configured by the trusted Debug host. |
toAtUs | number | yes | Exact safe-integer microsecond timestamp; milliseconds and floating point are refused. |
trackId | string | yes | Safe stable identifier; Core requires `[A-Za-z0-9][A-Za-z0-9._-]{0,63}`. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.behaviors.inspect
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.behaviors.upsert
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
binding | object | yes | One exact behavior binding. Core validates target ownership, transform conflicts, timing, path topology, work, and store budgets. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. Any behavior receipt mirror is configured by the trusted Debug host; callers must not supply receiptsRoot. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.behaviors.remove
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. Any behavior receipt mirror is configured by the trusted Debug host; callers must not supply receiptsRoot. |
targetLayerId | string | yes | Existing behavior target layer id to remove. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.text-runs.inspect
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target text or caption layer identifier. |
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.text-runs.replace
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target text or caption layer identifier. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
textRuns | object | yes | Closed text-runs@1 record. The run fontAssetId is the sole family, weight, and style authority. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.text-runs.remove
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
expectedPlainText | string | yes | Must exactly equal the concatenated run text. Removal derives that same plain text and cannot change content. |
layerId | string | yes | Target text or caption layer identifier. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.group.create
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
group | object | yes | Group layer data. Create requires a complete group with type group, startMs, durationMs, and childLayerIds; wrap derives those fields and accepts only id plus neutral metadata. Core validates all structure and bounds. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
childIndex | number | no | Insertion index in the parent group; appended when omitted. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
layerIndex | number | no | Flat layer-store insertion index; appended when omitted. |
parentGroupId | string | no | Optional parent group id; omit for a root group. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
trackIndex | number | no | Insertion index in the selected group track. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.group.child.add
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
childLayerId | string | yes | Direct child layer id. |
groupId | string | yes | Target group layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
index | number | no | Child insertion index; appended when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.group.child.remove
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
childLayerId | string | yes | Direct child layer id. |
groupId | string | yes | Target group layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.group.child.move
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
childLayerId | string | yes | Direct child layer id. |
destinationGroupId | string | yes | Destination direct parent group id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
sourceGroupId | ['string', 'null'] | yes | Current direct parent id, or null when the child is a root layer. This must be explicit. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
index | number | no | Destination child insertion index; appended when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.group.child.reorder
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
childLayerId | string | yes | Direct child layer id. |
groupId | string | yes | Target group layer id. |
index | number | yes | Zero-based insertion or reorder index. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.group.wrap
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
childLayerIds | array | yes | One contiguous range of direct sibling ids. Input order is normalized to owner order. |
group | object | yes | Group layer data. Create requires a complete group with type group, startMs, durationMs, and childLayerIds; wrap derives those fields and accepts only id plus neutral metadata. Core validates all structure and bounds. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.group.unwrap
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
groupId | string | yes | Target group layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.group.delete
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
disposition | string · cascade|unwrap | yes | Required child disposition: cascade deletes the full subtree; unwrap only succeeds for an exactly neutral group. |
groupId | string | yes | Target group layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.group.duplicate
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
groupId | string | yes | Target group layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
newGroupId | string | no | Optional deterministic id for the cloned root group. |
offsetMs | number | no | Non-negative timeline offset for the cloned root group. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.group.trim
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
groupId | string | yes | Target group layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
durationMs | number | no | Optional new positive group duration; every direct child must still fit. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
startMs | number | no | Optional new group start in its direct owner's local timeline. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.group.root.reorder
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
groupId | string | yes | Target group layer id. |
index | number | yes | Zero-based insertion or reorder index. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.group.split
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
atMs | number | yes | Split point in the direct owner's timeline; it must be strictly inside the group. |
groupId | string | yes | Target group layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
newGroupId | string | no | Optional explicit id for the new tail group. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layout.inspect
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
groupId | string | yes | Bounded Motion layer identifier. |
layout | object | yes | Inspect deterministic layout ownership, slots, budgets, overflow facts, and fingerprint without a receipt. |
packageRoot | string | yes | Motion package root directory to read. |
repeaters | array | yes | Sorted unique source repeaters; Core checks source ownership, derived bounds, and compile budget. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layout.compile
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
groupId | string | yes | Bounded Motion layer identifier. |
layout | object | yes | Compile deterministic layout slots, repeaters, budgets, overflow facts, and fingerprint without a receipt. |
packageRoot | string | yes | Motion package root directory to read. |
repeaters | array | yes | Sorted unique source repeaters; Core checks source ownership, derived bounds, and compile budget. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layout.apply
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
groupId | string | yes | Bounded Motion layer identifier. |
layout | object | yes | One exact shellx-motion/layout@1 variant; no expression, custom solver, or code is accepted. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. Layout apply/remove require an immutable receipt-authority root configured by the trusted Debug host; callers must not supply receiptsRoot. |
repeaters | array | yes | Sorted unique source repeaters; Core checks source ownership, derived bounds, and compile budget. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layout.remove
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. Layout apply/remove require an immutable receipt-authority root configured by the trusted Debug host; callers must not supply receiptsRoot. |
removal | object | yes | Exact stable marker for a document-resident layout application. The trusted Debug host verifies immutable apply authority before Core permits removal. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.adjustment.fixed.inspect
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.adjustment.fixed.set
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
adjustment | object | yes | Complete closed adjustment record. Set replaces an existing exact id or appends a new root stack entry; it accepts no index, track, transform, module, or extension fields. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. Any host receipt mirror is configured by the trusted Debug host; callers must not supply receiptsRoot. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.adjustment.fixed.remove
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. Any host receipt mirror is configured by the trusted Debug host; callers must not supply receiptsRoot. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.gradient.color-keyframes.inspect
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.gradient.color-keyframes.upsert
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
snapshot | object | yes | Exact color snapshot for shellx-motion/gradient-color-keyframes@1; each gradient holds 1..32 ordered snapshots. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.gradient.color-keyframes.delete
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
atUs | number | yes | Exact non-negative safe-integer microsecond timestamp; Core rejects fractional values. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.gradient.color-keyframes.move
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
fromAtUs | number | yes | Exact non-negative safe-integer microsecond timestamp; Core rejects fractional values. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
toAtUs | number | yes | Exact non-negative safe-integer microsecond timestamp; Core rejects fractional values. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.points.range.inspect
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
endIndexExclusive | number | yes | Exclusive point range endpoint; Core returns at most 256 points. |
layerId | string | yes | Target points-layer identifier; this surface uses layerId only. |
packageRoot | string | yes | Motion package root directory to read. |
startIndex | number | yes | Inclusive stable point index starting the half-open range. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.points.trajectory.inspect
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
index | number | yes | Stable zero-based point index; Core checks it against the current authored cloud. |
layerId | string | yes | Target points-layer identifier; this surface uses layerId only. |
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.points.point.upsert
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
index | number | yes | Stable zero-based point index; Core checks it against the current authored cloud. |
layerId | string | yes | Target points-layer identifier; this surface uses layerId only. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
point | object | yes | Exact base-point record. Point identity is its stable ordered index, not an invented id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
insert | boolean | no | Explicitly true to insert at index; omit or false to replace the existing stable identity. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
samplePositions | array | no | One position for every existing authored sample in source order. Required for sampled insertion; Core refuses any partial or misaligned vector. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.points.point.move
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
fromIndex | number | yes | Existing stable point index to move. |
layerId | string | yes | Target points-layer identifier; this surface uses layerId only. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
toIndex | number | yes | Destination index after removing fromIndex; every sample position moves in lockstep. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.points.point.delete
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
index | number | yes | Stable zero-based point index; Core checks it against the current authored cloud. |
layerId | string | yes | Target points-layer identifier; this surface uses layerId only. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.points.point.range.delete
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
endIndexExclusive | number | yes | Exclusive stable point index ending the half-open [startIndex, endIndexExclusive) range. |
layerId | string | yes | Target points-layer identifier; this surface uses layerId only. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
startIndex | number | yes | Inclusive stable point index starting the half-open range. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.particles.structural.inspect
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.particles.field.source.insert
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
index | number | yes | Zero-based bounded record index; Core checks the current list length. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
source | object | yes | Complete exact source record. v1 admits radial/vortex only and at most 3; v2 admits all listed kinds and at most 4. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.particles.field.source.replace
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
index | number | yes | Zero-based bounded record index; Core checks the current list length. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
source | object | yes | Complete exact source record. v1 admits radial/vortex only and at most 3; v2 admits all listed kinds and at most 4. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.particles.field.source.move
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
fromIndex | number | yes | Zero-based bounded record index; Core checks the current list length. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
toIndex | number | yes | Zero-based bounded record index; Core checks the current list length. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.particles.field.source.delete
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
index | number | yes | Zero-based bounded record index; Core checks the current list length. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.particles.emitter.origin.insert
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
index | number | yes | Insertion position in the bounded v2 origin order. |
layerId | string | yes | Target layer id. |
origin | object | yes | Exact plain-data record; optional fields: directionOffsetDeg, speedScale. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.particles.emitter.origin.replace
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
index | number | yes | Existing bounded v2 origin index. |
layerId | string | yes | Target layer id. |
origin | object | yes | Exact plain-data record; optional fields: directionOffsetDeg, speedScale. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.particles.emitter.origin.move
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
fromIndex | number | yes | Existing v2 origin index. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
toIndex | number | yes | Final v2 origin position after removal/reinsertion. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.particles.emitter.origin.delete
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
index | number | yes | Existing bounded v2 origin index. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.particles.field.collision.axis.update
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
axis | string · x|y | yes | Replacement axis on an existing v2 collision source. |
index | number | yes | Zero-based bounded record index; Core checks the current list length. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.particles.emitter.trail.add
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
trail | object | yes | Exact plain-data record; optional fields: opacity. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.particles.emitter.trail.replace
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
trail | object | yes | Exact plain-data record; optional fields: opacity. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.particles.emitter.trail.remove
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.particles.emitter.shading.add
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
shading | object | yes | Exact plain-data record; optional fields: sizeJitter, opacityJitter, glow. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.particles.emitter.shading.replace
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
shading | object | yes | Exact plain-data record; optional fields: sizeJitter, opacityJitter, glow. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.particles.emitter.shading.remove
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.shape.geometry.inspect
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.shape.geometry.replace
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
geometry | object | yes | Complete exact shellx-motion/shape-geometry@1 record; partial merge is not supported. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.shape.geometry.point.update
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
index | number | yes | Zero-based geometry point index. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
point | object | yes | Exact finite geometry-space point. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.shape.geometry.point.insert
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
index | number | yes | Zero-based geometry point index. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
point | object | yes | Exact finite geometry-space point. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.shape.geometry.point.move
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
fromIndex | number | yes | Existing zero-based point index. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
toIndex | number | yes | Destination zero-based point index after removal. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.shape.geometry.point.range.delete
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
endIndexExclusive | number | yes | Exclusive zero-based end of the half-open point range. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
startIndex | number | yes | Inclusive zero-based start of the point range. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.shape.geometry.arc.update
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
center | object | no | Optional exact finite arc or sector center. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
innerRadius | number | no | Optional finite sector inner radius. |
radius | number | no | Optional finite outer radius. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
startAngleDeg | number | no | Optional finite start angle in degrees. |
sweepAngleDeg | number | no | Optional finite signed sweep angle in degrees. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.shape.geometry.path.replace
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
data | string | yes | Complete bounded path data for a v1 path geometry. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.shape.geometry.legacy.migrate
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.shape.geometry.dash.set
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
strokeDasharray | array | yes | Positive rendered-length dash runs; odd arrays repeat once under SVG semantics. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
strokeDashoffset | number | no | Optional rendered-length phase offset. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.shape.geometry.dash.remove
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.shape.geometry-keyframes.inspect
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.shape.geometry-keyframes.upsert
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. Any host receipt mirror is configured by the trusted Debug host; callers must not supply receiptsRoot. |
snapshot | object | yes | One complete fixed-topology shape geometry snapshot. It replaces only an equal exact atUs; partial geometry patches and generic keyframe targets are refused. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.shape.geometry-keyframes.delete
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
atUs | number | yes | Exact safe-integer physical microsecond timestamp; no milliseconds or floating-point bridge is accepted. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. Any host receipt mirror is configured by the trusted Debug host; callers must not supply receiptsRoot. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.shape.geometry-keyframes.move
Tier edit_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
fromAtUs | number | yes | Exact safe-integer physical microsecond timestamp; no milliseconds or floating-point bridge is accepted. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. Any host receipt mirror is configured by the trusted Debug host; callers must not supply receiptsRoot. |
toAtUs | number | yes | Exact safe-integer physical microsecond timestamp; no milliseconds or floating-point bridge is accepted. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.cleanup
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: clean up stale timeline refs, cleanup stale timeline refs, clean timeline refs, cleanup timeline refs, fix stale timeline refs, repair timeline refs, clean up timeline, timeline cleanup, remove duplicate timeline refs
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.track.create
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: create an overlay track, create timeline track, add timeline track, add track, new timeline track, create overlay track, add overlay track, create audio track, add audio track, create caption track, add caption track
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
fadeInMs | number | no | Initial fade-in length in milliseconds. |
fadeOutMs | number | no | Initial fade-out length in milliseconds. |
index | number | no | Insertion index in the track list; appended when omitted. |
layerIds | array | no | Layer ids to attach, as a string array. |
locked | boolean | no | Whether the track starts locked. |
muted | boolean | no | Whether the track starts muted. |
name | string | no | Optional display name. |
order | number | no | Explicit sort order value; must be finite. |
pan | number | no | Initial stereo pan between -1 and 1. |
6 further optional arguments: receiptsRoot, solo, track, trackId, type, volume. The complete contract, including descriptions and allowed values, is schemas/debug.json.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.track.reorder
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: move music track to top, reorder timeline track, move timeline track, move selected timeline track, move track to top, move track up, move track down, change track order, change timeline track order, track stack order
| Name | Type | Required | Description |
|---|---|---|---|
index | number | yes | New position in the track list. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
trackId | string | yes | Target track id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.track.delete
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: delete timeline track, remove timeline track, delete selected timeline track, remove selected timeline track, delete track, remove track, remove empty track, delete empty track
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
trackId | string | yes | Target track id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
detachLayers | boolean | no | Detach the track's layers instead of leaving them referenced. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.track.rename
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: rename timeline track, rename selected timeline track, rename track, change timeline track name, change track name, edit timeline track name, edit track name
| Name | Type | Required | Description |
|---|---|---|---|
name | string | yes | New track name; must not be blank. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
trackId | string | yes | Target track id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.track.lock
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: lock selected timeline track, unlock selected timeline track, lock timeline track, unlock timeline track, lock overlay track, unlock overlay track, prevent edits on track, allow edits on track, toggle track lock
| Name | Type | Required | Description |
|---|---|---|---|
locked | boolean | yes | Whether edits to layers on this track are refused. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
trackId | string | yes | Target track id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.track.mute
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: mute selected timeline track, unmute selected timeline track, mute timeline track, unmute timeline track, mute music track, unmute music track, mute audio track, unmute audio track, silence track, restore track audio, toggle track mute
| Name | Type | Required | Description |
|---|---|---|---|
muted | boolean | yes | Whether the track is silenced. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
trackId | string | yes | Target track id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.track.solo
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: solo selected timeline track, unsolo selected timeline track, solo timeline track, unsolo timeline track, solo music track, unsolo music track, solo audio track, unsolo audio track, isolate track audio, toggle track solo
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
solo | boolean | yes | Whether only soloed tracks are audible. |
trackId | string | yes | Target track id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.track.volume
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: set music track volume, change music track volume, adjust music track volume, set audio track volume, change audio track volume, adjust audio track volume, lower music track volume, raise music track volume, set track gain, adjust track gain, track volume
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
trackId | string | yes | Target track id. |
volume | number | yes | Track volume; must be a non-negative finite number. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.track.fade
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: set music track fade in and fade out, set track fade in, set track fade out, change track fades, adjust track fade, fade audio track, track fade, music track fade
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
trackId | string | yes | Target track id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
fadeInMs | number | no | Fade-in length in milliseconds. At least one of fadeInMs or fadeOutMs is required. |
fadeOutMs | number | no | Fade-out length in milliseconds. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.track.pan
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: pan music track left, pan music track right, center music track pan, set music track pan, set audio track pan, change audio track pan, adjust audio track pan, balance music track, pan audio track, track pan, track balance
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
pan | number | yes | Stereo pan; must be a finite number between -1 and 1. |
trackId | string | yes | Target track id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.layer.ducking.set
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: duck music under voice, duck music when voice plays, set audio ducking, set layer ducking, sidechain music under dialogue, sidechain audio layer, lower music during narration, duck background music
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
triggerLayerIds | array | yes | Layer ids whose audio ducks this layer. Must be a non-empty array of strings. |
attackMs | number | no | Milliseconds to reach the ducked volume. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
duckToVolume | number | no | Volume held while ducking. |
mode | string · duckingMode | no | Ducking mode; timed when omitted. |
ratio | number | no | Sidechain compressor ratio. Only meaningful with mode sidechain. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
releaseMs | number | no | Milliseconds to return to full volume. |
threshold | number | no | Sidechain compressor threshold. Only meaningful with mode sidechain. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: duckingMode. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.layer.track.assign
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: move selected layer to captions track, move layer to track, assign layer to track, send layer to track, reorder layer on track, move layer between tracks, set layer track, change layer track, put title on overlay track, put captions on caption track
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
trackId | string | yes | Target track id. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
index | number | no | Position inside the destination track's layer list; appended when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.caption.import
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: import captions from srt, import subtitle file, import captions, add captions from transcript, add srt captions, add vtt captions
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
captionsPath | string | no | Caption file inside a host-approved authoring input root. Required unless captionsText is given. |
captionsText | string | no | Inline caption text, in place of captionsPath. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
format | string · captionFormat | no | Caption source format; inferred from the file extension when omitted. |
layerPrefix | string | no | Prefix for generated caption layer ids. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
style | object | no | Style applied to every caption layer, for example { fontSize: 42, color: "#fff" }. |
trackId | string | no | Existing track to place caption layers on. |
trackName | string | no | Name for a caption track created when trackId is omitted. |
transform | object | no | Transform applied to every caption layer, for example { y: 900 }. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: captionFormat. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.caption.upsert
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: edit caption at playhead, add caption at playhead, update caption text, set caption timing, change caption text, create caption layer
| Name | Type | Required | Description |
|---|---|---|---|
durationMs | number | yes | Caption duration in milliseconds; must be positive. |
id | string | yes | Caption layer id; an existing caption with this id is replaced. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
startMs | number | yes | Caption start in milliseconds. |
text | string | yes | Caption text; must not be empty. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
style | object | no | Style applied to every caption layer, for example { fontSize: 42, color: "#fff" }. |
trackId | string | no | Existing track to place caption layers on. |
trackName | string | no | Name for a caption track created when trackId is omitted. |
transform | object | no | Transform applied to every caption layer, for example { y: 900 }. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.transition.upsert
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: add slide transition with ease out, add timeline transition, set transition, update transition, add fade in transition, add wipe transition, change transition easing, set enter transition, set exit transition
| Name | Type | Required | Description |
|---|---|---|---|
durationMs | number | yes | Transition length in milliseconds; must be positive. |
edge | string · transitionEdge | yes | Which end of the layer the transition applies to. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
type | string · transitionType | yes | Transition kind. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
direction | string · transitionDirection | no | Optional direction for slide and wipe transitions. |
distance | number | no | Optional travel distance in pixels for slide transitions. |
easing | string · easing | no | Optional easing for the transition. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: easing, transitionDirection, transitionEdge, transitionType. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.timeline.transition.delete
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, receipts, prompt surfaces.
Discovery phrases: delete transition at playhead, delete transition, remove transition, clear transition, remove enter transition, remove exit transition, delete fade transition, delete slide transition, delete wipe transition
| Name | Type | Required | Description |
|---|---|---|---|
edge | string · transitionEdge | yes | Which end of the layer to clear. |
layerId | string | yes | Target layer id. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: transitionEdge. Every allowed-value list is enforced on the wire, not merely advertised.
authoring domain
motion.command.motion.script.compile
Tier write_local. Mutates. Discoverable as an action on the prompt, preview, receipts surfaces.
Discovery phrases: generate scripted video, scripted video from description frames, cut generate video, storyboard to motion, description frames in cut
| Name | Type | Required | Description |
|---|---|---|---|
packageDir | string | yes | Linux-only empty or absent host-approved output directory. Motion commits the complete compiled package and its final receipt once through descriptor-relative exact closed-tree publication; macOS and Windows refuse before creating output state. |
createdAt | string | no | Deterministic ISO timestamp for the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror. It runs only after the complete package commits; a mirror failure is returned as a warning. |
script | object | no | Inline scripted-video document, in place of scriptPath. |
scriptPath | string | no | Scripted-video JSON path. Required unless script is given inline. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.package.script.author
Tier write_local. Mutates. Discoverable as an action on the packages surface.
Discovery phrases: author approved local script, create agent html animation, add trusted local canvas script, author browser animation entry, create local web animation
| Name | Type | Required | Description |
|---|---|---|---|
html | string | yes | Inline local HTML entry bytes. Only classic inline scripts are admitted; dynamic code construction, src/module/inert scripts, workers, frames, event handlers, javascript: URLs, and secondary composition are refused before authority minting. Motion injects a hash-based CSP that blocks eval and unlisted executable code. |
layer | object | yes | The command owns source and allowedOrigins: callers cannot provide paths, URLs, external origins, or package claims. |
outDir | string | yes | Empty or absent output directory inside a host-approved authoring output root, outside packageRoot. |
packageRoot | string | yes | Data-only source Motion package inside a host-approved authoring input root. It is never modified in place. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.analysis.tracking.request
Tier write_local. Mutates. Discoverable as an action on the tracking, prompt, preview, receipts surfaces.
Discovery phrases: track this video, run point tracking, run planar tracking, analyze camera motion, track footage for stabilization, create tracking analysis
| Name | Type | Required | Description |
|---|---|---|---|
analysisId | string | yes | Stable safe identifier used for retries and the lifecycle artifact path. |
assetId | string | yes | Motion video asset id to track. |
mode | string · point|planar | yes | Tracker kind: point follows a single feature, planar solves a surface. |
model | string · translation|similarity|homography | yes | Motion model the solve fits; homography is required for planar corner-pin applies. |
outDir | string | yes | Trusted empty output directory for the package copy and persisted lifecycle. |
packageRoot | string | yes | Source Motion package containing a manifest-declared video asset. |
reference | object | yes | Reference time, bounds, and point coordinates in source pixels. |
settings | object | yes | Bounded time range, direction, step, search, confidence, and deterministic solver settings. |
createdAt | string | no | Optional deterministic timestamp for tests and reproducible fixtures. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.analysis.tracking.inspect
Tier read_motion. Read-only. Discoverable as an action on the tracking, prompt, preview, receipts surfaces.
Discovery phrases: inspect tracking analysis, show tracking confidence, show lost tracking spans, check tracking source, tracking status
| Name | Type | Required | Description |
|---|---|---|---|
analysisId | string | yes | Tracking lifecycle id to inspect. |
packageRoot | string | yes | Motion package containing the persisted tracking lifecycle. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.analysis.tracking.apply
Tier edit_motion. Mutates. Discoverable as an action on the tracking, timeline, prompt, preview, receipts surfaces.
Discovery phrases: apply tracking stabilization, stabilize this footage, attach track to layer, use planar track for stabilization, apply tracked camera correction
| Name | Type | Required | Description |
|---|---|---|---|
analysisId | string | yes | Last-good tracking analysis to compile into ordinary transform keyframes. |
layerId | string | yes | Target footage layer id. |
outDir | string | yes | Trusted empty output directory for the stabilized package copy. |
packageRoot | string | yes | Source Motion package containing a current persisted tracking lifecycle. |
includeLowConfidence | boolean | no | Explicitly include low-confidence samples while preserving lost gaps. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
segmentIndex | number | no | Required explicit confidence-qualified segment for a partial track. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.analysis.tracking.detach
Tier edit_motion. Mutates. Discoverable as an action on the tracking, timeline, prompt, preview, receipts surfaces.
Discovery phrases: detach tracking stabilization, remove stabilization, restore transform before tracking, unlink tracked motion, undo attached track
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Layer whose exact prior transform keyframes must be restored. |
outDir | string | yes | Trusted empty output directory for the detached package copy. |
packageRoot | string | yes | Source Motion package with attached tracking stabilization. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.analysis.tracking.verify
Tier read_motion. Read-only. Discoverable as an action on the tracking, timeline, prompt, preview, receipts surfaces.
Discovery phrases: verify tracking stabilization, check tracking attachment, check stabilized keyframes, verify track before cut handoff, is tracking current
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Stabilized layer id. |
packageRoot | string | yes | Motion package whose attachment, generated keyframes, and source identity are verified. |
analysisId | string | no | Optional expected tracking analysis id. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.keying.inspect
Tier read_motion. Read-only. Discoverable as an action on the keying, roto, prompt, preview surfaces.
Discovery phrases: inspect chroma key, show green screen controls, inspect layer keying, check roto mask, show key and roto state
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Image or video layer id. |
packageRoot | string | yes | Source Motion package. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.keying.apply
Tier edit_motion. Mutates. Discoverable as an action on the keying, prompt, preview, receipts surfaces.
Discovery phrases: key out green screen, apply chroma key, remove green background, key this footage, apply spill suppression, clean green screen matte
| Name | Type | Required | Description |
|---|---|---|---|
keying | object | yes | Bounded chroma-key and matte-cleanup controls. |
layerId | string | yes | Image or video layer id. |
outDir | string | yes | Empty or absent output directory for the copy-on-write package. |
packageRoot | string | yes | Source Motion package. |
mask | object | no | Roto mask. Applied by motion.roto.upsert; on the other operations it is only recorded in the receipt input hash. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.keying.remove
Tier edit_motion. Mutates. Discoverable as an action on the keying, prompt, preview, receipts surfaces.
Discovery phrases: remove chroma key, disable green screen key, restore unkeyed footage, clear layer keying
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Image or video layer id. |
outDir | string | yes | Empty or absent output directory for the copy-on-write package. |
packageRoot | string | yes | Source Motion package. |
keying | object | no | Chroma-key controls. Applied by motion.keying.apply; on the other operations it is only recorded in the receipt input hash. |
mask | object | no | Roto mask. Applied by motion.roto.upsert; on the other operations it is only recorded in the receipt input hash. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.roto.upsert
Tier edit_motion. Mutates. Discoverable as an action on the roto, tracking, timeline, prompt, preview, receipts surfaces.
Discovery phrases: create roto mask, animate roto mask, update rotoscope path, attach tracking to roto, isolate subject with roto
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Image or video layer id. |
mask | object | yes | Bounded animated roto mask with optional tracking attachment. |
outDir | string | yes | Empty or absent output directory for the copy-on-write package. |
packageRoot | string | yes | Source Motion package. |
keying | object | no | Chroma-key controls. Applied by motion.keying.apply; on the other operations it is only recorded in the receipt input hash. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.roto.tracking.detach
Tier edit_motion. Mutates. Discoverable as an action on the roto, tracking, timeline, prompt, preview, receipts surfaces.
Discovery phrases: detach roto tracking, unlink tracking from roto, keep roto frames remove tracking, remove tracked roto attachment
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Image or video layer id. |
outDir | string | yes | Empty or absent output directory for the copy-on-write package. |
packageRoot | string | yes | Source Motion package. |
keying | object | no | Chroma-key controls. Applied by motion.keying.apply; on the other operations it is only recorded in the receipt input hash. |
mask | object | no | Roto mask. Applied by motion.roto.upsert; on the other operations it is only recorded in the receipt input hash. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.roto.remove
Tier edit_motion. Mutates. Discoverable as an action on the roto, prompt, preview, receipts surfaces.
Discovery phrases: remove roto mask, delete rotoscope mask, clear subject mask, restore unmasked footage
| Name | Type | Required | Description |
|---|---|---|---|
layerId | string | yes | Image or video layer id. |
outDir | string | yes | Empty or absent output directory for the copy-on-write package. |
packageRoot | string | yes | Source Motion package. |
keying | object | no | Chroma-key controls. Applied by motion.keying.apply; on the other operations it is only recorded in the receipt input hash. |
mask | object | no | Roto mask. Applied by motion.roto.upsert; on the other operations it is only recorded in the receipt input hash. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.compositing.graph.inspect
Tier read_motion. Read-only. Discoverable as an action on the compositing, prompt, preview, receipts surfaces.
Discovery phrases: inspect compositing graph, show node graph, check compositing graph, show graph compile diagnostics, inspect graph resource budget
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Source Motion package. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.compositing.graph.set
Tier edit_motion. Mutates. Discoverable as an action on the compositing, prompt, preview, receipts surfaces.
Discovery phrases: set compositing graph, compile node graph, create blend graph, add matte graph, apply graph effects, connect compositing nodes
| Name | Type | Required | Description |
|---|---|---|---|
graph | object | yes | Versioned, acyclic, data-only compositing graph. |
outDir | string | yes | Empty or absent copy-on-write output directory. |
packageRoot | string | yes | Source Motion package. |
createdBy | string | no | Optional author identity recorded in output facts. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.compositing.graph.remove
Tier edit_motion. Mutates. Discoverable as an action on the compositing, prompt, preview, receipts surfaces.
Discovery phrases: remove compositing graph, detach node graph, restore graph source layers, clear compiled graph
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent copy-on-write output directory. |
packageRoot | string | yes | Source Motion package. |
createdBy | string | no | Optional author identity recorded in output facts. |
graph | object | no | Ignored by remove; recorded in the receipt input hash when supplied. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.procedural.inspect
Tier read_motion. Read-only. Discoverable as an action on the procedural, timeline, prompt, receipts surfaces.
Discovery phrases: inspect procedural relationships, show linked properties, show relationship drivers, explain driven animation, inspect expressions without code
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Source Motion package. |
atMs | number | no | Optional timeline time to evaluate readable relationship outputs. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.procedural.audio-envelope.produce
Tier edit_motion. Mutates. Discoverable as an action on the timeline, receipts, prompt surfaces.
Discovery phrases: produce audio envelope, analyze audio amplitude for procedural animation, generate RMS envelope from audio layer, audio reactive procedural samples
| Name | Type | Required | Description |
|---|---|---|---|
envelopeId | string | yes | Stable id for the data-only procedural envelope. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
sourceLayerId | string | yes | Self-contained local audio layer to decode (WAV, FLAC, MP3, Ogg, or Opus). The v0.2 producer refuses video containers, trims, loops, and playback-rate changes it cannot read back exactly. |
channel | string · mix | no | v0.2 decodes one bounded mixed-channel RMS envelope; separate left/right channels remain a future extension. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
sampleEveryMs | number | no | Decoded RMS sampling window in milliseconds. The command refuses output over the existing 4096-sample graph budget. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.procedural.relationship.set
Tier edit_motion. Mutates. Discoverable as an action on the procedural, timeline, prompt, preview, receipts surfaces.
Discovery phrases: link animation properties, create driven property, set procedural relationship, drive animation from audio, add deterministic wiggle, link layer values
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent copy-on-write output directory. |
packageRoot | string | yes | Source Motion package. |
relationship | object | yes | Data-only typed scalar relationship; executable expressions are rejected. Required by motion.procedural.relationship.set. |
createdBy | string | no | Optional author identity recorded in output facts. |
enabled | boolean | no | Whether the relationship participates in evaluation. Required by motion.procedural.relationship.enabled.set. |
endMs | number | no | Last baked sample time in milliseconds; the layer end when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
relationshipId | string | no | Stable relationship id. Required by enabled.set and detach. |
relationshipIds | array | no | Optional relationship ids; bake defaults to all enabled relationships. |
sampleEveryFrames | number | no | Bake one keyframe every N frames; must be a positive integer. |
startMs | number | no | First baked sample time in milliseconds; the layer start when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.procedural.relationship.enabled.set
Tier edit_motion. Mutates. Discoverable as an action on the procedural, timeline, prompt, preview, receipts surfaces.
Discovery phrases: enable procedural relationship, disable procedural relationship, toggle driven property, mute animation link
| Name | Type | Required | Description |
|---|---|---|---|
enabled | boolean | yes | Whether the relationship participates in evaluation. Required by motion.procedural.relationship.enabled.set. |
outDir | string | yes | Empty or absent copy-on-write output directory. |
packageRoot | string | yes | Source Motion package. |
relationshipId | string | yes | Stable relationship id. Required by enabled.set and detach. |
createdBy | string | no | Optional author identity recorded in output facts. |
endMs | number | no | Last baked sample time in milliseconds; the layer end when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
relationship | object | no | Data-only typed scalar relationship; executable expressions are rejected. Required by motion.procedural.relationship.set. |
relationshipIds | array | no | Optional relationship ids; bake defaults to all enabled relationships. |
sampleEveryFrames | number | no | Bake one keyframe every N frames; must be a positive integer. |
startMs | number | no | First baked sample time in milliseconds; the layer start when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.procedural.relationship.bake
Tier edit_motion. Mutates. Discoverable as an action on the procedural, timeline, prompt, preview, receipts surfaces.
Discovery phrases: bake procedural animation, convert relationship to keyframes, freeze driven animation, bake expressions to keyframes, make procedural motion editable
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent copy-on-write output directory. |
packageRoot | string | yes | Source Motion package. |
createdBy | string | no | Optional author identity recorded in output facts. |
enabled | boolean | no | Whether the relationship participates in evaluation. Required by motion.procedural.relationship.enabled.set. |
endMs | number | no | Last baked sample time in milliseconds; the layer end when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
relationship | object | no | Data-only typed scalar relationship; executable expressions are rejected. Required by motion.procedural.relationship.set. |
relationshipId | string | no | Stable relationship id. Required by enabled.set and detach. |
relationshipIds | array | no | Optional relationship ids; bake defaults to all enabled relationships. |
sampleEveryFrames | number | no | Bake one keyframe every N frames; must be a positive integer. |
startMs | number | no | First baked sample time in milliseconds; the layer start when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.procedural.relationship.detach
Tier edit_motion. Mutates. Discoverable as an action on the procedural, timeline, prompt, preview, receipts surfaces.
Discovery phrases: detach procedural relationship, remove animation link, unlink driven property, delete relationship without baking
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent copy-on-write output directory. |
packageRoot | string | yes | Source Motion package. |
relationshipId | string | yes | Stable relationship id. Required by enabled.set and detach. |
createdBy | string | no | Optional author identity recorded in output facts. |
enabled | boolean | no | Whether the relationship participates in evaluation. Required by motion.procedural.relationship.enabled.set. |
endMs | number | no | Last baked sample time in milliseconds; the layer end when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
relationship | object | no | Data-only typed scalar relationship; executable expressions are rejected. Required by motion.procedural.relationship.set. |
relationshipIds | array | no | Optional relationship ids; bake defaults to all enabled relationships. |
sampleEveryFrames | number | no | Bake one keyframe every N frames; must be a positive integer. |
startMs | number | no | First baked sample time in milliseconds; the layer start when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.timeline.cutout.rig.bake
Tier edit_motion. Mutates. Discoverable as an action on the timeline, preview, prompt, receipts surfaces.
Discovery phrases: bake cutout rig, split illustration into animated parts, animate character cutouts, rig static image parts, bake parent child cutout animation
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Absent or empty copy-on-write output package directory. |
packageRoot | string | yes | Source Motion package containing the static PNG image layer. |
rig | object | yes | Strict shellx-motion/cutout-rig@1 JSON: 1..16 nodes, each with one output layerId, optional parentId, explicit stackIndex, PNG-pixel crop/origin, 1..32 bounded poses, and sampleEveryFrames 1..16. |
sourceLayerId | string | yes | Visible, unlocked static image layer to replace with flat cutout layers. |
createdBy | string | no | Optional author identity recorded in output facts. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.scene3d.gltf.import
Tier write_local. Mutates. Discoverable as an action on the scene3d, prompt, preview, receipts, canvas, cut surfaces.
Discovery phrases: import gltf model, import glb model, create motion package from 3d model, add static 3d mesh, render gltf in canvas, send gltf render to cut
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Host-approved empty or absent package output directory. |
sourcePath | string | yes | Host-approved local .gltf or .glb source path. |
createdAt | string | no | Optional deterministic ISO timestamp for receipts. |
createdBy | string | no | Optional author identity recorded in package provenance. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.lottie.import
Tier write_local. Mutates. Discoverable as an action on the packages, receipts, prompt surfaces.
Discovery phrases: import lottie, import lottie json, load lottie animation, convert lottie to motion, create motion package from lottie
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Host-approved empty or absent package output directory. |
sourcePath | string | yes | Host-approved local Lottie JSON source path. |
createdAt | string | no | Optional deterministic ISO timestamp for receipts. |
createdBy | string | no | Optional author identity recorded in package provenance. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.dotlottie.import
Tier write_local. Mutates. Discoverable as an action on the packages, receipts, prompt surfaces.
Discovery phrases: import dotlottie, load dotlottie animation, convert dotlottie to motion, create motion package from dotlottie
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Host-approved empty or absent package output directory. |
sourcePath | string | yes | Host-approved local .lottie container path. |
animationId | string | no | Animation to select from the container. Defaults to the container's declared default. |
createdAt | string | no | Optional deterministic ISO timestamp for receipts. |
createdBy | string | no | Optional author identity recorded in package provenance. |
themeId | string | no | Theme to apply from the container. Defaults to no theme override. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.source.import
Tier write_local. Mutates. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: source import, import source link, import article link, import repo link, import article link for storyboard, import source for storyboard, fetch article for video, fetch repo for video, prepare link for scripted video, turn link into storyboard source
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Trusted empty output directory for the imported Markdown source. |
url | string | yes | Public http(s) source URL to preserve as source identity. |
createdBy | string | no | Optional actor recorded in receipt output. |
kind | string | no | Optional source kind: article, repo, or text. |
markdown | string | no | Optional pre-fetched Markdown content. When omitted, the debug API fetches the URL. |
maxChars | number | no | Maximum Markdown body characters kept before truncation. |
receiptsRoot | string | no | Optional host receipts root for source-import receipt copies. |
title | string | no | Optional source title. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.source.to_scripted_video
Tier write_local. Mutates. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: source to scripted video, source to storyboard, turn imported source into scripted video, turn imported source into storyboard, lower source into scripted-video json, make scripted video from imported source, prepare source storyboard for cut, source storyboard for script to cut
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Trusted empty output directory for scripted-video JSON and receipt evidence. |
sourcePath | string | yes | Imported source.md path inside a host-approved authoring input root. |
createdBy | string | no | Optional actor recorded in receipt output. |
fps | number | no | Scripted-video frame rate. |
frameDurationMs | number | no | Duration for each generated storyboard frame. |
height | number | no | Scripted-video output height. |
maxFrames | number | no | Maximum storyboard frames to emit. |
receiptsRoot | string | no | Optional host receipts root for source-storyboard receipt copies. |
width | number | no | Scripted-video output width. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.html.snippet.export
Tier write_local. Mutates. Discoverable as an action on the receipts, preview, prompt surfaces.
Discovery phrases: html snippet export, export html snippet, export html css snippet, export standalone html composition, export hyperframes html snippet, hyperframes html export, browser lane html export
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Trusted empty output directory for the standalone HTML snippet. |
packageRoot | string | yes | Motion package root to export. |
createdAt | string | no | Optional deterministic receipt timestamp. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.html.snippet.import
Tier write_local. Mutates. Discoverable as an action on the receipts, preview, prompt surfaces.
Discovery phrases: html snippet import, import html snippet, import html css snippet, import standalone html composition, import hyperframes html snippet, hyperframes html import, browser lane html import
| Name | Type | Required | Description |
|---|---|---|---|
htmlPath | string | yes | Trusted ShellX/HyperFrames-style HTML snippet path to import. |
packageDir | string | yes | Trusted empty output package directory. |
createdAt | string | no | Optional deterministic receipt timestamp. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.otio.export
Tier write_local. Mutates. Discoverable as an action on the receipts, preview, prompt surfaces.
Discovery phrases: otio export, export otio, export timeline as otio, export this timeline as otio, export this timeline as otio for premiere, opentimelineio export, editorial interchange export
| Name | Type | Required | Description |
|---|---|---|---|
outPath | string | yes | Trusted output .otio timeline path. |
packageRoot | string | yes | Motion package root to export. |
createdAt | string | no | Optional deterministic receipt timestamp. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.otio.import
Tier write_local. Mutates. Discoverable as an action on the receipts, preview, prompt surfaces.
Discovery phrases: otio import, import otio, import opentimelineio, import opentimelineio edit into motion, import editorial timeline, open otio timeline, convert otio to motion
| Name | Type | Required | Description |
|---|---|---|---|
otioPath | string | yes | OpenTimelineIO .otio timeline path to import. |
packageDir | string | yes | Trusted output Motion package directory. |
createdAt | string | no | Optional deterministic receipt timestamp. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.template.catalog
Tier read_motion. Read-only. Discoverable as an action on the templateInspector, prompt surfaces.
Discovery phrases: list motion templates in generate, list motion templates, show template catalog, template catalog, browse motion templates
| Name | Type | Required | Description |
|---|---|---|---|
aspectRatio | string | no | Optional output aspect ratio such as 16:9 or 9:16; derived from width and height when omitted. |
designFamily | string | no | Keep only templates in this design family. |
durationMs | number | no | Optional target duration in milliseconds for template bounds scoring. |
height | number | no | Optional target output height for template bounds scoring. |
outputType | string | no | Keep only templates that produce this output type. |
packageRoot | string | no | Single Motion package root to inspect. |
packageRoots | array | no | Explicit Motion package roots to inspect. |
renderCost | string · low|medium|high | no | Keep only templates in this render-cost band. |
requiresAudio | boolean | no | Keep only templates that do (true) or do not (false) require caller-supplied audio. |
requiresMedia | boolean | no | Keep only templates that do (true) or do not (false) require caller-supplied media. |
targetCommercialUse | boolean | no | Keep only templates whose licence permits commercial use. |
targetHost | string | no | Optional host target such as shellx-cut or shellx-canvas for compatibility scoring. |
3 further optional arguments: targetLane, templateRoot, width. The complete contract, including descriptions and allowed values, is schemas/debug.json.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.template.plan
Tier read_motion. Read-only. Discoverable as an action on the templateInspector, prompt surfaces.
Discovery phrases: prompt to template plan for cut generate, prompt to template plan, plan template from prompt, choose template for prompt, plan lower third template, template plan
| Name | Type | Required | Description |
|---|---|---|---|
request | string | yes | Prompt or user intent to match against available templates. |
aspectRatio | string | no | Optional output aspect ratio such as 16:9 or 9:16; derived from width and height when omitted. |
designFamily | string | no | Keep only templates in this design family. |
durationMs | number | no | Optional target duration in milliseconds for template bounds scoring. |
height | number | no | Optional target output height for template bounds scoring. |
outputType | string | no | Keep only templates that produce this output type. |
packageRoot | string | no | Single Motion package root to inspect. |
packageRoots | array | no | Explicit Motion package roots to inspect. |
prompt | string | no | Alias for request. |
renderCost | string · low|medium|high | no | Keep only templates in this render-cost band. |
requiresAudio | boolean | no | Keep only templates that do (true) or do not (false) require caller-supplied audio. |
requiresMedia | boolean | no | Keep only templates that do (true) or do not (false) require caller-supplied media. |
6 further optional arguments: targetCommercialUse, targetHost, targetLane, templateRoot, values, width. The complete contract, including descriptions and allowed values, is schemas/debug.json.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.template.panel
Tier read_motion. Read-only. Discoverable as an action on the templateInspector, prompt surfaces.
Discovery phrases: show template inspector panel, template inspector panel, open template inspector, show template panel, inspect template controls panel, show grouped template controls
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.template.controls
Tier read_motion. Read-only. Discoverable as an action on the templateInspector, prompt surfaces.
Discovery phrases: show editable template controls, list template controls, template control discovery, inspect template params, what fields can I edit
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.template.apply
Tier edit_motion. Mutates. Discoverable as an action on the templateInspector, preview, receipts, prompt surfaces.
Discovery phrases: apply template control title, set template control, change template parameter, update editable template field, apply template controls
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Output package directory for applied template values. |
packageRoot | string | yes | Template Motion package root. |
values | object | yes | Template param values keyed by param id. |
createdBy | string | no | Agent or host actor label for receipt provenance. |
receiptsRoot | string | no | Optional host receipts root for a copied receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.template.media.replace
Tier edit_motion. Mutates. Discoverable as an action on the templateInspector, preview, receipts, prompt surfaces.
Discovery phrases: replace template media slot, replace media slot, swap template image, change template asset, replace template asset, set template media
| Name | Type | Required | Description |
|---|---|---|---|
assetPath | string | yes | Host-approved regular file inside a configured authoring input root; copied with retained identity and a 64 MiB ceiling. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
paramId | string | yes | Template media parameter to rebind. |
assetRef | string | no | Package-relative asset reference to write; assets/<basename> when omitted. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
render domain
motion.command.motion.preview.frame
Tier render_motion. Mutates. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: preview, show frame, render still, preview it, strict hardware gpu preview
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root to preview. |
atMs | number | no | Frame timestamp in milliseconds. |
createdAt | string | no | Deterministic ISO timestamp for emitted preview receipts. |
lane | string · browser|gpu | no | Preview raster lane. gpu is the strict general hardware WebGPU PNG lane with no CPU/browser fallback. For admitted CFR video, its host-owned provider consumes Core exact-microsecond requests, binds immutable-source and decoded-RGBA evidence, and replaces stable dynamic textures under fixed cache limits. This is visual-only preview: no audio, final-video staging, encoding, or mux claim; provider controls are never command arguments. |
outDir | string | no | Directory for generated preview artifacts. |
outputPath | string | no | Explicit preview frame output path. When omitted, the host allocates a unique no-clobber PNG inside outDir. |
workflow | object | no | Optional inline deterministic browser workflow, used instead of workflowPath. |
workflowPath | string | no | Optional deterministic browser workflow JSON path. |
motion.command.motion.preview.panel
Tier read_motion. Read-only. Discoverable as an action on the preview, prompt surfaces.
Discovery phrases: show preview player panel, preview player panel, preview player, show preview panel, open preview panel, preview panel
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.preview.playhead
Tier render_motion. Mutates. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: preview current playhead, preview playhead, render playhead, show playhead frame, preview timeline playhead
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
createdAt | string | no | Deterministic ISO timestamp for the emitted receipt. |
outDir | string | no | Directory for the rendered frame; a scratch directory when omitted. |
outputPath | string | no | Explicit output file path for the rendered frame. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.preview.strip
Tier render_motion. Mutates. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: preview strip, show preview strip, thumbnail strip, show timeline thumbnail strip, storyboard strip, show timeline thumbnails
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
createdAt | string | no | Deterministic ISO timestamp for the emitted receipt. |
endMs | number | no | Last sampled time in milliseconds; must be at or after startMs and within the motion duration. |
frameCount | number | no | Number of frames to sample; must be a positive integer of 60 or less. |
outDir | string | no | Directory for the rendered strip frames; a scratch directory when omitted. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
startMs | number | no | First sampled time in milliseconds; must be within the motion duration. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.render.final
Tier render_motion. Mutates. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: render mp4, export video, final render, render this lower third as mp4, export png sequence frames, render image sequence, export frame sequence, png sequence export, export current frame as png still, export still frame, render png frame, jpeg frame export, export jpg frame, render final mp4 with a quality manifest, render with quality manifest, quality manifest render
| Name | Type | Required | Description |
|---|---|---|---|
outputPath | string | yes | Final media, still-frame, or image-sequence output path. |
packageRoot | string | yes | Motion package root to render. |
atMs | number | no | Timestamp in milliseconds for still-frame presets. |
dryRun | boolean | no | Plan the render without writing media. |
frameLane | string · browser|native|gpu | no | Frame rasterizer lane. native uses the bounded native capability and refuses unsupported layers or non-deliverable text instead of falling back. gpu uses the strict WebGPU raw-RGBA producer for direct or durable-segmented FFmpeg final-video delivery; unsupported content or an unavailable GPU refuses without browser/native fallback. Browser is the production typography authority only for generated MotionIR text backed by manifest-declared font bytes; HTML/web/canvas typography is unverified and a maxFontFallbacks attestation refuses it. The CLI's separate --lane flag selects the delivery lane (native | ffmpeg). |
framesDir | string | no | Optional trusted scratch directory used only for materialized final-video frames; it does not request retention. |
jobId | string | no | Name this job so a host can query it with motion.job.get while the render runs. Omitted, Motion mints one and returns it as jobId on the result. 1..128 chars of letters, digits, dot, underscore, colon or hyphen. |
keepFrames | boolean | no | Explicitly retain materialized final-video FFmpeg frame PNGs. File-video exports stream directly to FFmpeg by default; a framesDir alone does not request retention. |
manifestPath | string | no | Alias for qualityManifestPath. |
minUniqueFrameHashes | number | no | Minimum unique rendered frame hashes for motion-quality gating. |
preset | string · exportPreset | no | Export preset for the rendered output. |
qualityManifestPath | string | no | Optional shellx-motion/quality-manifest@1 path to gate final output quality. |
5 further optional arguments: receiptsRoot, reuseAttested, segmented, workflow, workflowPath. The complete contract, including descriptions and allowed values, is schemas/debug.json.
Named value sets used here: exportPreset. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.render.cache.plan
Tier render_motion. Read-only. Discoverable as an action on the preview, prompt surfaces.
Discovery phrases: plan attested render reuse, check render cache reuse, will this render reuse, check exact render cache hit, inspect render reuse before rendering, attested render cache plan
| Name | Type | Required | Description |
|---|---|---|---|
outputPath | string | yes | Requested file output path used only to derive v2 root-relative identity. No output, descriptor, or path is returned. |
packageRoot | string | yes | Motion package root whose bounded current bytes contribute to the v2 reuse identity. The value is never echoed. |
atMs | number | no | Timestamp in milliseconds for a still-frame identity. |
frameLane | string · browser|native | no | Frame rasterizer lane included in the exact v2 render identity. GPU post-render identity is completed-render evidence only; it does not authorize cache planning or attested reuse. |
minUniqueFrameHashes | number | no | Optional final-video quality identity threshold. |
preset | string · exportPreset | no | File-producing export preset to inspect for exact v2 attested reuse. |
qualityManifestPath | string | no | Optional trusted shellx-motion/quality-manifest@1 file and its bounded baseline closure. |
workflowPath | string | no | Optional trusted shellx-motion/browser-workflow@1 file. Inline workflow is intentionally outside this compact plan surface. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: exportPreset. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.render.batch
Tier render_motion. Mutates. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: render csv rows with webm export preset, batch render data rows, render batch rows, data driven render, spreadsheet render, render json rows, batch export preset
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Directory for expanded row packages, render outputs, and batch receipts. |
packageRoot | string | yes | Motion package root containing manifest, motion, assets, and optional data rows. |
dryRun | boolean | no | Plan expanded row packages and receipts without rendering media. |
frameLane | string · browser|native|gpu | no | Frame rasterizer for every row. GPU rows are fresh-only strict streamed FFmpeg video: absent host capability, GIF/still/sequence output, resume/cache, retained frames, or browser workflows refuse before queueing. |
jobId | string | no | Name this job so a host can query it with motion.job.get while the render runs. Omitted, Motion mints one and returns it as jobId on the result. 1..128 chars of letters, digits, dot, underscore, colon or hyphen. |
keepFrames | boolean | no | Pass explicit final-video FFmpeg frame retention to every batch row; batch plans containing a non-video preset are refused. File-video rows stream directly to FFmpeg by default. |
manifestPath | string | no | Alias for qualityManifestPath. |
minUniqueFrameHashes | number | no | Minimum unique rendered frame hashes for motion-quality gating. |
preset | string · exportPreset | no | Export preset for the rendered output. |
qualityManifestPath | string | no | Optional shellx-motion/quality-manifest@1 path to gate each row output. |
resume | boolean | no | Reuse completed row outputs only when idempotency and retained authenticated caller ownership match; resume without a host caller principal fails before output writes. |
rowId | string | no | Single data row ID to render; normalized the same way as Motion data rows. |
4 further optional arguments: rowIds, rowsPath, workflow, workflowPath. The complete contract, including descriptions and allowed values, is schemas/debug.json.
Named value sets used here: exportPreset. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.render.cancel
Tier render_motion. Mutates. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: cancel render job, stop render job, cancel export, stop export, cancel queued render
| Name | Type | Required | Description |
|---|---|---|---|
receiptId | string | yes | Receipt id of the job to act on. |
receiptsRoot | string | yes | Trusted host receipt root. Identity-stable receipt reads and receipt-derived controls currently require Linux; macOS and Windows return capability_unavailable before reading or writing receipt state. |
reason | string | no | Optional human-readable reason recorded in the control receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.render.retry
Tier render_motion. Mutates. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: retry failed render, retry render job, rerun failed export, retry export, rerun render
| Name | Type | Required | Description |
|---|---|---|---|
receiptId | string | yes | Receipt id of the job to act on. |
receiptsRoot | string | yes | Trusted host receipt root. Identity-stable receipt reads and receipt-derived controls currently require Linux; macOS and Windows return capability_unavailable before reading or writing receipt state. |
reason | string | no | Optional human-readable reason recorded in the control receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.render.status
Tier read_motion. Read-only. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: render status, check render, job status, export progress
| Name | Type | Required | Description |
|---|---|---|---|
receiptsRoot | string | no | Trusted host receipt root. Identity-stable receipt reads and receipt-derived controls currently require Linux; macOS and Windows return capability_unavailable before reading or writing receipt state. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.render.queue
Tier read_motion. Read-only. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: show render queue, render queue panel, render queue, queue panel, export queue, show export queue
| Name | Type | Required | Description |
|---|---|---|---|
receiptsRoot | string | no | Trusted host receipt root. Identity-stable receipt reads and receipt-derived controls currently require Linux; macOS and Windows return capability_unavailable before reading or writing receipt state. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.job.get
Tier read_motion. Read-only. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: check job status, is my render done, job status, get job, check render progress, poll job, what is my job doing, render still running, job by id, track render
| Name | Type | Required | Description |
|---|---|---|---|
jobId | string | yes | The job to read. Either the id returned by the render, or the id you supplied when starting it. |
scope | string · own|all | no | Whose jobs to read. "all" needs a host that granted cross-caller visibility and is refused otherwise. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.job.list
Tier read_motion. Read-only. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: list my jobs, list jobs, what is running, show running renders, active jobs, job list, recent jobs, show my renders, in flight work
| Name | Type | Required | Description |
|---|---|---|---|
limit | number | no | Maximum jobs to return. Live work is listed first, then finished work newest first. |
scope | string · own|all | no | Whose jobs to list. "all" needs a host that granted cross-caller visibility and is refused otherwise. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.job.events
Tier read_motion. Read-only. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: render job events, watch render progress, job progress events
| Name | Type | Required | Description |
|---|---|---|---|
jobId | string | yes | Job whose durable coordinator events to read. |
after | number | no | Return events strictly after this sequence number; omit for the retained event log. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.job.submit
Tier render_motion. Mutates. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: submit render job, start render in background, render asynchronously, start persistent render job
| Name | Type | Required | Description |
|---|---|---|---|
outputPath | string | yes | Final local output path, subject to the host's normal render policy. |
packageRoot | string | yes | Existing Motion package to render. |
frameLane | string · browser|native|gpu | no | Rasterizer for the coordinator-cancellable final render. GPU is strict raw-RGBA FFmpeg final video, direct or durably segmented: no materialization, workflow, exact-source quality, reuse, or cache path. |
jobId | string | no | Optional stable 1..128-character job handle. Motion mints one when omitted. |
preset | string | no | Final-video FFmpeg export preset; defaults to mp4-h264. Still and image-sequence presets use motion.render.final instead. |
receiptsRoot | string | no | Optional host-governed receipt root. |
segmented | object | no | Optional closed durable segmented-final selector. It cannot be combined with streaming workflow or quality-manifest selectors. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.job.cancel
Tier render_motion. Mutates. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: cancel render job, stop render job, abort running render, cancel export
| Name | Type | Required | Description |
|---|---|---|---|
jobId | string | yes | Active job to stop. |
reason | string | no | Optional operator explanation recorded with the terminal cancellation. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.job.retry
Tier render_motion. Mutates. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: retry render job, retry failed render, rerun retryable job
| Name | Type | Required | Description |
|---|---|---|---|
jobId | string | yes | Retryable failed source job. |
newJobId | string | no | Optional distinct handle for the new linked run. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.quality.panel
Tier read_motion. Read-only. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: show quality manifest panel, show quality panel, inspect visual regression manifest, review quality gates, quality manifest panel, quality gate summary
| Name | Type | Required | Description |
|---|---|---|---|
qualityManifestPath | string | yes | Quality manifest JSON path to inspect. |
inputPath | string | no | Optional final media path used to seed quality-check follow-up commands. |
manifestPath | string | no | Alias for qualityManifestPath. |
packageRoot | string | no | Optional Motion package root for package and render follow-up metadata. |
preset | string · exportPreset | no | Optional export preset used for render/export follow-up commands. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: exportPreset. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.quality.check
Tier render_motion. Mutates. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: run quality check on rendered video, run quality check, quality check, check rendered video quality, inspect video quality, verify output quality, visual quality check
| Name | Type | Required | Description |
|---|---|---|---|
inputPath | string | yes | Rendered media file to check. |
atMs | number | no | Time to sample the frame from, in milliseconds. |
baselinePath | string | no | Optional baseline image for the pixel-difference checks. |
expectAudio | boolean | no | Fail when the media carries no audio stream. |
expectHeight | number | no | Required output height in pixels. |
expectWidth | number | no | Required output width in pixels. |
framePath | string | no | Optional pre-extracted frame to analyse instead of sampling inputPath. |
manifestPath | string | no | Optional quality manifest supplying the thresholds. |
maxAudioLoudnessLufs | number | no | Maximum integrated loudness in LUFS; must be at or above minAudioLoudnessLufs. |
maxAudioLoudnessRangeLu | number | no | Maximum loudness range in LU. |
maxAudioPeakDb | number | no | Maximum sample peak in dBFS. |
maxAudioTruePeakDbtp | number | no | Maximum true peak in dBTP. |
12 further optional arguments: maxChangedPixels, maxMeanDiff, minAudioLoudnessLufs, minBrightPixels, minEdgePixels, minNonTransparentPixels, minPsnrDb, minSsim, minTransparentPixels, outDir, packageId, receiptsRoot. The complete contract, including descriptions and allowed values, is schemas/debug.json.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
surface domain
motion.command.motion.state
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | no | Optional Motion package root to summarize. |
receiptsRoot | string | no | Optional trusted host receipt root. identity-stable receipt reads and receipt-derived controls currently require linux; macos and windows return capability_unavailable before reading or writing receipt state. Package-only state remains portable when it is omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.open
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
panel | string | no | Surface panel to focus, such as preview, timeline, assets, or receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.select
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
durationMs | number | no | How long the highlight stays visible, in milliseconds. |
layerId | string | no | Layer to select. One selection target is required. |
markerId | string | no | Marker to select. |
motionId | string | no | Optional motion id recorded in the visible state. |
packageId | string | no | Optional package id recorded in the visible state. |
sceneId | string | no | Scene to select. |
targetId | string | no | Generic surface target to select. |
trackId | string | no | Track to select. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.highlight
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
durationMs | number | no | How long the highlight stays visible, in milliseconds. |
layerId | string | no | Layer to select. One selection target is required. |
markerId | string | no | Marker to select. |
motionId | string | no | Optional motion id recorded in the visible state. |
packageId | string | no | Optional package id recorded in the visible state. |
sceneId | string | no | Scene to select. |
targetId | string | no | Generic surface target to select. |
trackId | string | no | Track to select. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.platform.verification.panel
Tier read_motion. Read-only. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: platform verification panel, show platform verification, show host verification, show linux windows macos host verification, linux windows macos verification, host matrix verification, platform receipts panel
| Name | Type | Required | Description |
|---|---|---|---|
receiptsRoot | string | no | Trusted host receipt root. Identity-stable receipt reads and receipt-derived controls currently require Linux; macOS and Windows return capability_unavailable before reading or writing receipt state. |
requiredHosts | array | no | Optional required host ids to compare against collected receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.platform.requirements
Tier read_motion. Read-only. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: check requirements, is ffmpeg installed, why does rendering fail, environment check, missing dependencies, install ffmpeg, prerequisites, doctor, check my setup
| Name | Type | Required | Description |
|---|---|---|---|
operation | string · preview.frame|render.final|quality.check | no | Scope the answer to the operation you are about to attempt, so a tool you do not need cannot report you as unready. The response also reports source-only GPU launch policy; it never opens Chromium or WebGPU. Omit to ask about the whole machine. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.platform.gpu.probe
Tier render_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
confirm | boolean | yes | Required explicit acknowledgement. Set true only to open one pre-contained Chromium WebGPU session and perform its bounded 4-by-4 frame/readback hardware proof. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.assets.panel
Tier read_motion. Read-only. Discoverable as an action on the assets, prompt surfaces.
Discovery phrases: show asset panel, asset panel, show package assets, list package assets, show motion assets, show layer asset usage
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.brand.panel
Tier read_motion. Read-only. Discoverable as an action on the brand, prompt surfaces.
Discovery phrases: show brand pack panel, brand pack panel, show brand panel, show design tokens, show brand tokens, inspect brand kit
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root directory to read. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.audio.panel
Tier read_motion. Read-only. Discoverable as an action on the timeline, prompt surfaces.
Discovery phrases: show audio mix panel, audio mix panel, audio panel, show audio panel, inspect audio mix, show resolved audio inputs, show music narration mix, audio export compatibility, check audio export warnings
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root to inspect for resolved audio mix inputs. |
exportPreset | string | no | Alias for preset. |
preset | string · exportPreset | no | Optional export preset used to report audio compatibility warnings. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: exportPreset. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.media.panel
Tier read_motion. Read-only. Discoverable as an action on the assets, timeline, preview, prompt surfaces.
Discovery phrases: show media panel, media panel, show media readiness panel, media readiness panel, inspect media layers, review package media, check media sources, media layer readiness, show image video audio web layers
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root to inspect for image, video, audio, and web media layer readiness. |
exportPreset | string | no | Alias for preset. |
preset | string · exportPreset | no | Optional export preset used to report media/audio compatibility warnings. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: exportPreset. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.storyboard.panel
Tier read_motion. Read-only. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: review scripted storyboard before cut handoff, review scripted storyboard, storyboard review panel, show storyboard panel, inspect scripted video storyboard, inspect scripted-video json, review cut generate storyboard, source storyboard review, check storyboard source refs, show storyboard frames
| Name | Type | Required | Description |
|---|---|---|---|
path | string | no | Alias for scriptPath. |
script | object | no | Inline shellx-motion scripted-video document. |
scriptPath | string | no | Path to a shellx-motion scripted-video JSON document. |
storyboard | object | no | Alias for script when called from Cut Generate or prompt storyboard workflows. |
storyboardPath | string | no | Alias for scriptPath when called from storyboard workflows. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.storyboard.graph
Tier read_motion. Read-only. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: show storyboard source graph, storyboard source graph, show source graph for storyboard, inspect storyboard provenance graph, content graph for scripted video, show storyboard graph, inspect scripted video graph, show scripted video sources assets templates and engines
| Name | Type | Required | Description |
|---|---|---|---|
path | string | no | Alias for scriptPath. |
script | object | no | Inline shellx-motion scripted-video document. |
scriptPath | string | no | Path to a shellx-motion scripted-video JSON document. |
storyboard | object | no | Alias for script when called from Cut Generate or prompt storyboard workflows. |
storyboardPath | string | no | Alias for scriptPath when called from storyboard workflows. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.capabilities.match
Tier read_motion. Read-only. Discoverable as an action on the prompt, preview surfaces.
Discovery phrases: capabilities match, renderer capability match, choose renderer lane, select renderer lane, pick renderer lane, choose renderer lane for mp4 with audio, which renderer lane should I use, explain renderer lane support, check lane capability cards, match motion package to render lane
| Name | Type | Required | Description |
|---|---|---|---|
needsAlpha | boolean | no | Whether the selected lane must preserve alpha. |
needsAudio | boolean | no | Whether the selected lane must handle audio. |
needsSubtitles | boolean | no | Whether the selected lane must handle subtitles or captions. |
output | string | no | Requested output such as png-frame, mp4-h264, mp4-hevc, webm-av1, webm-vp9, gif, cut-plan, or motion-package. |
packageRoot | string | no | Optional Motion package root to match against renderer capability cards. |
preferLane | string | no | Optional preferred lane used as a tie breaker. |
target | string | no | Requested workflow target such as preview, final, batch, cut, canvas, or handoff. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.capabilities.panel
Tier read_motion. Read-only. Discoverable as an action on the prompt, preview surfaces.
Discovery phrases: show renderer capability panel, renderer capability panel, show lane capability cards, show render lane cards, show capabilities panel, inspect renderer lanes, inspect lane support, renderer lane panel
| Name | Type | Required | Description |
|---|---|---|---|
needsAlpha | boolean | no | Whether the selected lane must preserve alpha. |
needsAudio | boolean | no | Whether the selected lane must handle audio. |
needsSubtitles | boolean | no | Whether the selected lane must handle subtitles or captions. |
output | string | no | Requested output such as png-frame, mp4-h264, mp4-hevc, webm-av1, webm-vp9, gif, cut-plan, or motion-package. |
packageRoot | string | no | Optional Motion package root to summarize against renderer capability cards. |
preferLane | string | no | Optional preferred lane used as a tie breaker. |
target | string | no | Requested workflow target such as preview, final, batch, cut, canvas, or handoff. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.export.presets
Tier read_motion. Read-only. Discoverable as an action on the preview, prompt surfaces.
Discovery phrases: show export presets and formats, list export presets, what video formats can motion export, show render presets, export preset metadata, which exports support audio alpha
Takes no arguments.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.export.panel
Tier read_motion. Read-only. Discoverable as an action on the preview, prompt surfaces.
Discovery phrases: show export panel, export panel, open export panel, show export cards, choose export format
| Name | Type | Required | Description |
|---|---|---|---|
receiptsRoot | string | no | Optional trusted host receipt root. identity-stable receipt reads and receipt-derived controls currently require linux; macos and windows return capability_unavailable before reading or writing receipt state. Export presets remain portable when receipt coverage is omitted. |
requiredHosts | array | no | Host ids that must be verified, as a string array. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.export.plan
Tier read_motion. Read-only. Discoverable as an action on the preview, prompt, receipts surfaces.
Discovery phrases: plan transparent overlay export with quality gates, plan export, export plan, plan export preset, choose export preset before render, plan transparent export, plan canvas mp4 export, plan cut timeline export, check export preflight, check export audio alpha impact
| Name | Type | Required | Description |
|---|---|---|---|
needsAlpha | boolean | no | Whether the export must preserve transparency. |
needsAudio | boolean | no | Whether the export must preserve audio. |
outputPath | string | no | Optional final output path to include in follow-up render arguments. |
packageRoot | string | no | Optional Motion package root to inspect before choosing an export preset. |
preset | string · exportPreset | no | Optional explicit export preset. If omitted Motion chooses a preset from target and feature needs. |
qualityManifestPath | string | no | Optional quality manifest path to include in render and quality-check follow-ups. |
receiptsRoot | string | no | Optional receipts root containing platform verification evidence. |
requiredHosts | array | no | Required host ids for platform verification status. |
target | string | no | Requested delivery target such as Cut, Canvas MP4, transparent overlay, thumbnail, or batch frames. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: exportPreset. Every allowed-value list is enforced on the wire, not merely advertised.
agent domain
motion.command.motion.prompt.queue
Tier read_motion. Read-only. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: show prompt queue, prompt queue panel, prompt queue, agent job queue, show agent queue, local agent queue
| Name | Type | Required | Description |
|---|---|---|---|
receiptsRoot | string | no | Trusted host receipt root. Identity-stable receipt reads and receipt-derived controls currently require Linux; macOS and Windows return capability_unavailable before reading or writing receipt state. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.prompt.cancel
Tier draft_motion. Mutates. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: cancel prompt job, stop prompt job, cancel queued prompt, stop local agent prompt, cancel agent job
| Name | Type | Required | Description |
|---|---|---|---|
receiptId | string | yes | Queued or running prompt job receipt id to cancel. |
receiptsRoot | string | yes | Trusted host receipt root. Identity-stable receipt reads and receipt-derived controls currently require Linux; macOS and Windows return capability_unavailable before reading or writing receipt state. |
reason | string | no | Optional cancellation reason for receipt evidence. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.prompt.retry
Tier draft_motion. Mutates. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: retry failed prompt, retry prompt job, rerun failed prompt, retry local agent prompt, retry agent job
| Name | Type | Required | Description |
|---|---|---|---|
receiptId | string | yes | Failed or cancelled prompt job receipt id to retry. |
receiptsRoot | string | yes | Trusted host receipt root. Identity-stable receipt reads and receipt-derived controls currently require Linux; macOS and Windows return capability_unavailable before reading or writing receipt state. |
reason | string | no | Optional retry reason for receipt evidence. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.actions.find
Tier read_motion. Read-only. Discoverable as an action on the prompt surface.
Discovery phrases: find action, what can motion do, discover action
| Name | Type | Required | Description |
|---|---|---|---|
request | string | yes | Action id or natural-language request to match against the action catalog. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.actions.guide
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
request | string | yes | Action id or natural-language request. The plan returns each step's call with its argument contract. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.actions.plan
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
request | string | yes | Action id or natural-language request to plan a command sequence for. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.actions.panel
Tier read_motion. Read-only. Discoverable as an action on the prompt surface.
Discovery phrases: show prompt action panel, prompt action panel, action panel, show action panel, open action panel, show action catalog, show prompt tools
Takes no arguments.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.agent.panel
Tier read_motion. Read-only. Discoverable as an action on the prompt surface.
Discovery phrases: show local cli agent readiness panel, show agent readiness panel, agent readiness panel, local cli agent panel, show cli subscription agent policy, show prompt agent policy, inspect local agent adapters
Takes no arguments.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.agent.health
Tier read_motion. Read-only. Discoverable as an action on the prompt surface.
Discovery phrases: check local cli agent health, agent health, check agent health, local agent readiness, supported local agent supported local agent supported local agent readiness, show cli subscription agent status
Takes no arguments.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.agent.snapshot
Tier read_motion. Read-only. Discoverable as an action on the prompt surface.
Discovery phrases: compact motion context, motion agent snapshot, summarize motion for agent, show compact package receipts jobs, agent context snapshot, what should motion agent know
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | no | Optional Motion package root. Caller paths must be inside host-approved snapshot package roots and contain no symlink traversal. |
receiptsRoot | string | no | Optional receipt root. Caller paths must be inside a trusted host receipts root. |
request | string | no | Optional compact action find/guide/plan selector, at most 256 Unicode scalars. It is not echoed in the snapshot. Job facts are complete only when the host supplies an authenticated owner principal; otherwise jobs are empty and inexact with a warning. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.agent.transcript
Tier read_motion. Read-only. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: show agent transcript, agent transcript, prompt transcript, transcript panel, show prompt run transcript, inspect agent messages
| Name | Type | Required | Description |
|---|---|---|---|
receiptsRoot | string | yes | Trusted host receipt root. Identity-stable receipt reads and receipt-derived controls currently require Linux; macOS and Windows return capability_unavailable before reading or writing receipt state. |
limit | number | no | Maximum transcript entries to return; must be a non-negative integer. |
receiptId | string | no | Prompt receipt id whose transcript should be read. |
receiptPath | string | no | Prompt receipt path; must resolve inside receiptsRoot. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.agent.revision.plan
Tier write_local. Mutates. Discoverable as an action on the receipts, prompt, review surfaces.
Discovery phrases: create agent revision plan, critique render and revise, make revision plan from quality receipt, review contact sheet and quality receipt, plan prompt revision, agent critique revise loop
| Name | Type | Required | Description |
|---|---|---|---|
packageId | string | yes | Motion package id the revision plan applies to. |
contactSheet | object | no | Inline contact-sheet critique evidence with status and notes. |
contactSheetPath | string | no | Path to a contact-sheet critique JSON file. |
createdAt | string | no | Optional deterministic ISO timestamp for the revision plan. |
outputPath | string | no | Alias for planPath. |
planId | string | no | Optional deterministic revision plan id. |
planPath | string | no | Optional output path for the written revision plan JSON. |
qualityReceipt | object | no | Inline shellx-motion receipt@1 quality-check receipt. |
qualityReceiptId | string | no | Quality receipt id to include as critique evidence. |
qualityReceiptIds | array | no | Quality receipt ids to include as critique evidence. |
qualityReceiptPath | string | no | Path to a quality receipt JSON file. |
qualityReceiptPaths | array | no | Paths to quality receipt JSON files. |
4 further optional arguments: qualityReceipts, receiptsRoot, sourceJobId, templateId. The complete contract, including descriptions and allowed values, is schemas/debug.json.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.prompt.run
Tier draft_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
request | string | yes | Natural-language instruction handed to the host-injected local agent runtime. The command returns capability_unavailable when the host has not injected one. |
agentId | string | no | Agent adapter to run; the default adapter when omitted. |
cwd | string | no | Working directory for the agent; must be inside a trusted prompt working root. |
executeAgentCommands | boolean | no | Execute the debug commands the agent proposes. Without this the run only records proposals and changes nothing. |
packageId | string | no | Package id recorded in the prompt receipt. |
rawRequestDeleteAfter | string | no | ISO timestamp after which Linux stable receipt reads redact the raw prompt and rewrite the stored receipt without it. Copies made before the deadline are not reached. |
rawRequestPurpose | string · user_requested_replay|debugging | no | Declared purpose for retaining the raw prompt. |
receiptsRoot | string | no | Optional trusted host receipt mirror for the prompt receipt. |
retainRawRequest | boolean | no | Keep the raw prompt text in the receipt; requires rawRequestDeleteAfter, rawRequestPurpose, and Linux's stable receipt purge capability. Unsupported hosts refuse before writing a prompt receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
integration domain
motion.command.motion.connector.catalog
Tier read_motion. Read-only. Discoverable as an action on the prompt surface.
Discovery phrases: connector catalog, discover connector catalog, inspect generic connector descriptors, list immutable connector capabilities, prepare generic connector submit
Takes no arguments.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.connector.submit
Tier render_motion. Mutates. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
capabilityId | string | yes | Exact capability id selected from the current Motion capability catalog. |
descriptorFingerprint | string | yes | Exact descriptor fingerprint observed during discovery. |
descriptorRevision | number | yes | Exact descriptor revision observed during discovery. |
request | object | yes | Closed descriptor-defined request. Filesystem paths and URLs are refused; reference fields contain only host-issued opaque handles, resolved only with the authenticated caller identity. |
requestSchemaId | string | yes | Exact request schema id advertised by the selected descriptor. |
jobId | string | no | Optional stable job handle. Motion mints one when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.connector.panel
Tier read_motion. Read-only. Discoverable as an action on the prompt, preview, receipts surfaces.
Discovery phrases: show connector readiness panel for cut and canvas, show connector panel, connector panel, connector readiness panel, show cut canvas connectors, inspect connector workflows, review connector handoffs, list motion connectors, show canvas cut connector capabilities
Takes no arguments.
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.canvas.package
Tier write_local. Mutates. Discoverable as an action on the prompt, preview, receipts surfaces.
Discovery phrases: package this canvas frame for motion, package canvas frame, canvas package, create motion package from canvas, convert canvas frame to motion package
| Name | Type | Required | Description |
|---|---|---|---|
packageDir | string | yes | Linux-only empty or absent output directory for the generated Motion package. Exact closed-tree publication is unavailable on macOS and Windows, which refuse before creating output state. |
canvasSelectionPath | string | no | Canvas frame-selection JSON path. Required unless selection is given inline. |
createdAt | string | no | Deterministic ISO timestamp for the emitted receipt. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror. |
selectedFrameId | string | no | Frame to package when the selection carries several. |
selection | object | no | Inline Canvas frame-selection document, in place of canvasSelectionPath. Accepted schema ids: shellx-motion/canvas-frame-selection@1, shellx-canvas/frame-selection@1 (the canonical shellx-motion id additionally requires integration and identity blocks). Required fields — fixture: schema, selectedFrameId, project, brand, frames, imageEditorOutputs; project: id, name; brand: tokens; each frame: id, name, durationMs, fps, width, height, layers; each layer: id, kind, startMs, durationMs. Accepted layer kinds: adjustment, audio, camera, canvas, caption, environment, group, html, image, particles, points, scene3d, shader, shape, text, video, web. Rectangles, ellipses and stars are kind "shape" with a shape field: {"kind":"shape","shape":"rect"}. There is no "rect", "ellipse" or "circle" layer kind. Minimal working example: {"schema":"shellx-canvas/frame-selection@1","selectedFrameId":"frame_intro","project":{"id":"demo","name":"Demo"},"brand":{"tokens":{}},"frames":[{"id":"frame_intro","name":"Intro","durationMs":1000,"fps":30,"width":1920,"height":1080,"background":"#f8fafc","layers":[{"id":"panel","kind":"shape","shape":"rect","startMs":0,"durationMs":1000,"transform":{"x":100,"y":100,"width":600,"height":300,"opacity":1},"style":{"fill":"#2563eb"}}]}],"imageEditorOutputs":[]}. A rejected document returns every problem at once in result.problems, and this same contract in result.contract. |
sourceRoot | string | no | Host-approved root used to resolve declared assets. Required for inline selections that declare assets; file-backed selections derive their selection parent when omitted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.canvas.bridge_export
Tier write_local. Mutates. Discoverable as an action on the prompt, receipts surfaces.
Discovery phrases: export canvas bridge frame selection, canvas bridge export, bridge canvas frame to motion, make canvas frame selection json, export canvas checkout frame
| Name | Type | Required | Description |
|---|---|---|---|
canvasRoot | string | yes | Trusted shellx-canvas checkout root containing app/server/motion-package.mjs. |
outPath | string | yes | Frame-selection JSON path to write. Debug refuses an existing selection or fixed sibling Canvas bridge receipt; use CLI --force to replace both. |
durationMs | number | no | Default duration for the generated frame selection. |
fps | number | no | Default frame rate for the generated frame selection. |
frameName | string | no | Frame name to request from the Canvas bridge. |
generatedAt | string | no | Deterministic ISO timestamp for the bridge selection and receipt. |
path | string | no | Alias for outPath. |
projectName | string | no | Project name to request from the Canvas bridge. |
selectedIds | array | no | Optional selected Canvas node ids to export. |
target | string | no | Bridge export target label for Canvas provenance. |
motion.command.motion.browser.workflow.capture
Tier render_motion. Mutates. Discoverable as an action on the preview, receipts, prompt surfaces.
Discovery phrases: capture browser workflow with replay trace, browser workflow replay, deterministic browser capture, record browser workflow trace, capture website video frame with workflow
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root to capture through the deterministic browser lane. |
atMs | number | no | Frame timestamp in milliseconds. |
catalogPath | string | no | Optional browser workflow catalog path for drift evidence. |
failOnDrift | boolean | no | Return an error when catalog drift is detected. |
outDir | string | no | Directory for captured frame, trace, catalog, and receipt artifacts. |
outputPath | string | no | Explicit browser-captured frame output path. |
recordingFramesDir | string | no | Optional directory for sampled browser recording frames, strictly below outDir and distinct from recordingManifestPath and other capture leaves. |
recordingManifestPath | string | no | Optional path for a sampled deterministic browser recording manifest, strictly below outDir and distinct from recordingFramesDir and other capture leaves. |
recordingSampleCount | number | no | Number of deterministic frame samples to include in the recording manifest. Capped because each sample is a browser render written to disk. |
workflow | object | no | Inline shellx-motion/browser-workflow@1 replay plan. |
workflowCatalogPath | string | no | Alias for catalogPath. |
workflowPath | string | no | Path to a shellx-motion/browser-workflow@1 replay plan. |
motion.command.motion.connector.canvas_to_mp4
Tier write_local. Mutates. Discoverable as an action on the prompt, preview, receipts surfaces.
Discovery phrases: export this canvas frame to mp4 without cut, canvas frame to mp4, canvas mp4 export, export canvas as video, canvas independent mp4, canvas export without cut
| Name | Type | Required | Description |
|---|---|---|---|
canvasSelectionPath | string | yes | Canvas frame-selection JSON exported by Canvas or motion.canvas.bridge_export. |
outDir | string | yes | Linux-only trusted output directory for the Motion package, render artifacts, and connector receipt. Exact closed-tree package publication is unavailable on macOS and Windows, which refuse before creating connector output state. |
dryRunRender | boolean | no | Plan the render without encoding media. |
preset | string · exportPreset | no | Export preset for the rendered output. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
Named value sets used here: exportPreset. Every allowed-value list is enforced on the wire, not merely advertised.
motion.command.motion.connector.canvas_to_cut
Tier write_local. Mutates. Discoverable as an action on the prompt, receipts surfaces.
Discovery phrases: send this canvas frame to cut timeline, canvas to cut, send canvas to cut, canvas frame into cut, apply canvas export to cut, canvas cut connector
| Name | Type | Required | Description |
|---|---|---|---|
canvasSelectionPath | string | yes | Host-approved Canvas frame-selection input evidence. |
outDir | string | yes | Linux-only absent or empty delivery directory for one committed P2B package, Browser preview, H.264 media, artifact handle, Cut plan, and receipts. |
cutImportMode | string · rendered_media | no | Optional P2B mode. Only rendered_media is accepted. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.connector.script_to_cut
Tier write_local. Mutates. Discoverable as an action on the prompt, receipts surfaces.
Discovery phrases: send scripted video json to cut without canvas, script to cut, scripted video to cut, scripted video json to cut, send scripted video to cut, render scripted video to cut timeline, scripted storyboard to cut timeline
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Linux-only absent or empty delivery directory for one committed P2B package, Browser preview, H.264 media, artifact handle, Cut plan, and receipts. |
cutImportMode | string · rendered_media | no | Optional P2B mode. Only rendered_media is accepted. |
durationMs | number | no | Optional positive Cut placement duration in milliseconds. |
script | object | no | Inline scripted-video input. Inline success emits no scripted_video file. |
scriptPath | string | no | Host-approved scripted-video JSON input evidence; the external input is not a delivery artifact. |
startMs | number | no | Optional non-negative Cut placement start in milliseconds. |
storyboard | object | no | Alias for one inline scripted-video input. It cannot be combined with script or scriptPath. |
track | string | no | Optional non-empty Cut placement track. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.connector.source_to_cut
Tier write_local. Mutates. Discoverable as an action on the prompt, receipts surfaces.
Discovery phrases: source markdown to cut timeline without canvas, source to cut, source to cut timeline, import source to cut, send source storyboard to cut, turn imported source into cut video
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Linux-only absent or empty delivery directory for one committed P2B storyboard, package, Browser preview, H.264 media, artifact handle, Cut plan, and receipts. |
sourcePath | string | yes | Host-approved imported Markdown input evidence; source bytes and import receipt are not delivery artifacts. |
cutImportMode | string · rendered_media | no | Optional P2B mode. Only rendered_media is accepted. |
fps | number | no | Storyboard and Motion package frame rate. |
frameDurationMs | number | no | Duration for each generated storyboard frame. |
height | number | no | Storyboard and Motion package height. |
maxFrames | number | no | Maximum review-required storyboard frames to derive from the source. |
width | number | no | Storyboard and Motion package width. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.connector.cut_generate_to_cut
Tier write_local. Mutates. Discoverable as an action on the prompt, receipts surfaces.
Discovery phrases: apply cut generate scripted video to cut timeline, cut generate to cut, cut generate apply, apply generated scripted video to cut, cut generate rendered video to timeline
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Linux-only trusted output directory for exact closed-tree package, preview, render, Cut import plan, and connector receipt artifacts; macOS and Windows refuse before creating output state. |
createdAt | string | no | Deterministic ISO timestamp for connector receipts and package provenance. |
cutImportMode | string | no | Cut import mode, such as rendered_media or editable_lowering. |
dryRunRender | boolean | no | Plan required renders without encoding media. |
script | object | no | Inline scripted-video document emitted by Cut Generate. |
scriptPath | string | no | Path to a Cut Generate scripted-video JSON document. |
storyboard | object | no | Alias for script when called from storyboard prompts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.connector.template_to_cut
Tier write_local. Mutates. Discoverable as an action on the prompt, templateInspector, receipts surfaces.
Discovery phrases: template to cut, send template to cut, apply template controls to cut, template rendered video to cut timeline, rendered template media to cut, linux template rendered media to cut
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Linux-only absent or empty output directory for one no-clobber P2A package, Browser preview/final, handle, Cut plan, and connector receipt delivery. |
packageRoot | string | yes | Template Motion package root admitted as input evidence before one P2A rendered-media delivery. |
values | object | yes | Template param values keyed by param id. |
cutImportMode | string · rendered_media | no | Optional P2A mode. Only rendered_media is accepted; it is the default. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
workspace domain
motion.command.motion.packages.browse
Tier read_motion. Read-only. Discoverable as an action on the packages, prompt surfaces.
Discovery phrases: browse motion packages, package browser, show package browser, list motion packages, show motion packages, open package browser
| Name | Type | Required | Description |
|---|---|---|---|
packageBrowserRoot | string | no | Alternate name for root. |
packageRoot | string | no | Single Motion package root to include. |
packageRoots | array | no | Motion package roots to include, as a string array. |
packagesRoot | string | no | Alternate name for root. |
root | string | no | Directory to scan for Motion packages. One of root, packageRoot, or packageRoots is required. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.package.create
Tier write_local. Mutates. Discoverable as an action on the packages, preview surfaces.
Discovery phrases: create package, create new package, create new empty motion package, new motion package, create empty package, start a new package, init package, initialise package, make a new package, scaffold package, blank package, start from scratch, create a motion project, new project, bootstrap package, first step
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Empty or non-existent directory to create the package in. |
background | string | no | Document background. Must be a colour Motion renders: hex (#rgb, #rgba, #rrggbb, #rrggbbaa), rgb()/rgba()/hsl()/hsla(), transparent, currentColor, or one of these names: black, white, red, green, blue, navy, yellow, cyan, aqua, magenta, fuchsia, gray, grey, silver, maroon, purple, olive, lime, teal, orange, pink, brown. |
durationMs | number | no | Total duration in milliseconds. Bounded with fps by the render budget: at most 36000 frames and 80000000000 pixel-frames, so at 30 fps the longest package is 1200000ms. |
empty | boolean | no | Start with no layers. Off by default because a blank frame is indistinguishable from a failed render. |
fps | number | no | Frames per second, 1 to 120. |
height | number | no | Frame height in pixels, 1 to 7680. Width x height may not exceed 33177600 pixels (7680x4320). |
name | string | no | Human-readable name, at most 128 characters; also seeds the readable half of the package and motion ids. |
width | number | no | Frame width in pixels, 1 to 7680. Width x height may not exceed 33177600 pixels (7680x4320). |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.package.asset.import
Tier edit_motion. Mutates. Discoverable as an action on the packages, assets, prompt surfaces.
Discovery phrases: import package asset, add asset to package, copy image into package, copy video into package, copy external file into package, add local asset, package asset import
| Name | Type | Required | Description |
|---|---|---|---|
assetPath | string | yes | Host-approved external regular file to copy into the new package revision. The engine refuses sources over 64 MiB before allocating file bytes; request arguments cannot widen that ceiling. |
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
assetRef | string | no | Optional portable target under assets/. Defaults to assets/ plus the source filename; an existing file is never replaced. |
createdAt | string | no | Optional deterministic ISO timestamp for the package-local import receipt. |
createdBy | string | no | Optional author identity recorded in the package-local import receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.package.validate
Tier read_motion. Read-only. Discoverable as an action on the packages, receipts surfaces.
Discovery phrases: validate package, check package, is my package valid, verify package, package validation, check motion.json, lint package, structural check
| Name | Type | Required | Description |
|---|---|---|---|
packageRoot | string | yes | Motion package root to check for structural validity. |
receiptsRoot | string | no | Optional governed host receipt destination, outside packageRoot. Caller paths are fenced to host-approved roots. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.receipts.list
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
receiptsRoot | string | yes | Trusted host receipt root. Identity-stable receipt reads and receipt-derived controls currently require Linux; macOS and Windows return capability_unavailable before reading or writing receipt state. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.receipts.read
Tier read_motion. Read-only. No action entry — call it directly.
| Name | Type | Required | Description |
|---|---|---|---|
receiptId | string | no | Receipt id to look up inside receiptsRoot. |
receiptPath | string | no | Receipt file path; must resolve inside receiptsRoot. |
receiptsRoot | string | no | Trusted host receipt root. Identity-stable receipt reads and receipt-derived controls currently require Linux; macOS and Windows return capability_unavailable before reading or writing receipt state. Required with receiptId, and required to bound receiptPath. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.receipts.panel
Tier read_motion. Read-only. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: show receipt panel, receipt panel, receipts panel, receipt summary, show receipt summary, summarize receipts
| Name | Type | Required | Description |
|---|---|---|---|
receiptsRoot | string | yes | Trusted host receipt root. Identity-stable receipt reads and receipt-derived controls currently require Linux; macOS and Windows return capability_unavailable before reading or writing receipt state. |
limit | number | no | Maximum receipts to return; must be a non-negative integer. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.package.archive
Tier write_local. Mutates. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: package archive, motion package archive, portable package archive, export package archive, export portable package archive, make shellxmotion package, create shellxmotion archive
| Name | Type | Required | Description |
|---|---|---|---|
archivePath | string | yes | Destination path for the portable .shellxmotion archive. |
packageRoot | string | yes | Motion package root directory to read. |
receiptPath | string | no | Optional explicit path for the emitted archive receipt. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.package.extract
Tier write_local. Mutates. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: package extract, extract package archive, extract shellxmotion package archive, import shellxmotion package, restore portable package archive, unpack motion package archive
| Name | Type | Required | Description |
|---|---|---|---|
archivePath | string | yes | Portable .shellxmotion archive to extract. |
packageRoot | string | yes | Trusted output Motion package directory. |
receiptPath | string | no | Optional package archive extraction receipt path. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.review.html.bundle
Tier write_local. Mutates. Discoverable as an action on the receipts, preview, prompt surfaces.
Discovery phrases: review html bundle, html review bundle, export review html, export review html bundle, make review bundle, client review bundle, share review html
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Trusted empty output directory for the portable review HTML bundle. |
packageRoot | string | no | Optional Motion package root for package summary metadata. |
receiptsRoot | string | no | Host receipts root to collect render, batch, quality, and connector evidence. |
title | string | no | Optional review title shown in the generated HTML. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.support.bundle
Tier write_local. Mutates. Discoverable as an action on the receipts, prompt surfaces.
Discovery phrases: support bundle, debug bundle, collect diagnostics, export support data
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Linux-only trusted absent output directory for the support bundle. Exact closed-tree publication is unavailable on macOS and Windows, which refuse before creating output state. |
packageRoot | string | no | Optional Motion package root to include in diagnostics. |
receiptsRoot | string | no | Optional host receipts root to summarize. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
motion.command.motion.package.patch
Tier edit_motion. Mutates. Discoverable as an action on the timeline, templateInspector, prompt surfaces.
Discovery phrases: edit package, patch package, apply json patch, apply json patch to package, bulk edit package, bulk package edit, change template, update motion
| Name | Type | Required | Description |
|---|---|---|---|
outDir | string | yes | Empty or absent output directory, outside packageRoot, that receives the edited package copy. |
packageRoot | string | yes | Source Motion package root; never modified in place. |
patch | array | yes | JSON-Patch style operations applied to the Motion document, each { op, path, value? } with a leading-slash pointer path. |
createdBy | string | no | Optional attribution recorded in the emitted receipt. |
receiptsRoot | string | no | Optional trusted host receipt mirror; the receipt is also written into outDir/receipts. |
Any other argument is rejected: the call fails with invalid_args and the command does not run.
value sets
motion.enum.animationPreset
6 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
fade-in, fade-out, slide-up-in, slide-down-out, lower-third-in, lower-third-out
motion.enum.blendMode
17 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
normal, multiply, screen, overlay, darken, lighten, color-dodge, color-burn, hard-light, soft-light, difference, exclusion, hue, saturation, color, luminosity, plus-lighter
motion.enum.captionFormat
3 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
srt, vtt, plain
motion.enum.deliveryLane
2 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
native, ffmpeg
motion.enum.duckingMode
2 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
timed, sidechain
motion.enum.durationResizeMode
3 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
stretch-middle, ripple, fixed
motion.enum.easing
9 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
linear, hold, ease-in, ease-out, ease-in-out, back-out, bounce-out, step-start, step-end
motion.enum.easingPreset
15 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
linear, hold, ease-in, ease-out, ease-in-out, back-out, bounce-out, smooth, snappy, step-start, step-end, steps-4-end, spring-gentle, spring-snappy, spring-bouncy
motion.enum.exportPreset
10 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
mp4-h264, mp4-hevc, webm-av1, webm-vp9, webm-vp9-alpha, gif, mov-prores, png-sequence, png-frame, jpeg-frame
motion.enum.keyframeSnapMode
3 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
nearest, floor, ceil
motion.enum.keyframeTarget
115 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
transform.x, transform.y, transform.width, transform.height, transform.originX, transform.originY, transform.scale, transform.rotation, opacity, volume, pan, blendMode, playbackRate, fill, style.fill, style.color, style.stroke, style.borderColor, style.backgroundColor, style.background, style.strokeWidth, style.borderWidth, style.fontSize, style.fontWeight, style.letterSpacing, style.textAlign, style.verticalAlign, style.alignY, style.lineHeight, style.width, style.height, style.radius, style.borderRadius, style.padding, style.paddingX, style.paddingY, style.paddingTop, style.paddingRight, style.paddingBottom, style.paddingLeft, mask.inset.top, mask.inset.right, mask.inset.bottom, mask.inset.left, crop.x, crop.y, crop.width, crop.height, style.shadow.x, style.shadow.y, style.shadow.offsetX, style.shadow.offsetY, style.shadow.blur, style.shadow.spread, style.shadow.blurRadius, style.shadow.spreadRadius, style.shadow.color, style.textShadow.x, style.textShadow.y, style.textShadow.offsetX, style.textShadow.offsetY, style.textShadow.blur, style.textShadow.blurRadius, style.textShadow.color, effects.blur, effects.brightness, effects.contrast, effects.saturate, effects.grayscale, effects.glow.radius, effects.glow.color, pathReveal.start, pathReveal.end, gradient.angle, environment.intensity, environment.wind, environment.dropSpeed, environment.dropLength, environment.ground.horizon, environment.ground.wetness, environment.ground.roughness, environment.ground.rippleAmount, environment.ground.splashAmount, environment.ground.reflectionStrength, environment.atmosphere.mist, environment.atmosphere.lensDroplets, environment.surface.horizon, environment.surface.waveScale, environment.surface.waveHeight, environment.surface.waveSpeed, environment.surface.direction, environment.surface.choppiness, environment.optics.reflectionStrength, environment.optics.refractionStrength, environment.optics.fresnel, environment.optics.caustics, environment.optics.clarity, environment.optics.foam, environment.fall.intensity, environment.fall.speed, environment.fall.wind, environment.fall.turbulence, environment.fall.flakeSize, environment.fall.focusFalloff, environment.ground.accumulation, environment.ground.drift, environment.ground.contactAmount, environment.atmosphere.haze, environment.atmosphere.depthFade, environment.fog.density, environment.fog.speed, environment.fog.scale, environment.fog.turbulence, environment.fog.height, environment.fog.lightStrength
motion.enum.mediaFit
5 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
fill, contain, cover, none, scale-down
motion.enum.permissionTier
6 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
read_motion, draft_motion, render_motion, edit_motion, write_local, push_remote
motion.enum.spatialTangentMode
4 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
linear, smooth, broken, auto
motion.enum.transitionDirection
4 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
left, right, up, down
motion.enum.transitionEdge
2 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
in, out
motion.enum.transitionPreset
7 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
soft-fade, slide-cover, wipe-accent, card-stack, push-zoom, scan-sweep, split-reveal
motion.enum.transitionType
3 allowed values. A value outside this set is refused by the argument contract, not merely discouraged.
fade, slide, wipe
troubleshooting
motion.trouble.no_ffmpeg
Run doctor. Install both FFmpeg and FFprobe, or point SHELLX_MOTION_FFMPEG and SHELLX_MOTION_FFPROBE at explicit executables, then restart Motion.
NoteEncoding needs FFmpeg; reading the result back for quality-check needs FFprobe. They are separate answers in doctor.
motion.trouble.no_chromium
Install a Chrome or Chromium build, or set SHELLX_MOTION_BROWSER to one. npx playwright-core install chromium installs a browser that playwright-core itself does not ship.
Noterender --frame-lane native still works for text-free packages. Native still previews work with no browser at all.
motion.trouble.locked_workbench
Paste the local access key into the Connect dialog. pnpm start opens an already-unlocked tab; a second tab, or a tab opened by hand, has to connect.
NoteThe key lives in that tab's sessionStorage only.
motion.trouble.browse_nothing
Native pickers require a desktop session. On Linux, install zenity or kdialog; on Windows and macOS the operating-system picker is used.
motion.trouble.package_create_refused
The server was started at a grant below write_local. edit_motion cannot create a package, because write_local is the HIGHER tier.
--tier write_local --trusted-local-tier.NoteCreating into a non-empty directory is refused, not merged.
motion.trouble.unsupported_lane
--lane means different things in preview and render. preview --lane takes native|browser|gpu. render --lane takes native|ffmpeg to select the output stage; render --frame-lane takes browser|native|gpu to select FFmpeg's frame renderer.
render --lane native writes one PNG still, not video.motion.render.final accepts frameLane "browser", "native", or strict "gpu". Native and GPU refuse unsupported content rather than falling back; browser workflows require frameLane "browser".motion.trouble.no_screenshot
It was removed because Motion is an engine with no panel of its own: the command could only relay a request to a host and report ok for something it could not verify.
debug preview-frame / motion.preview.frame for a real PNG plus receipt.motion.trouble.render_status_not_live
On Linux they are read-only views derived from receipt files on disk, so they report finished and batch-partial work, not live processes. macOS and Windows refuse receipt-state access with capability_unavailable.
--job-id, or jobId on the Debug API).motion.job.get / motion.job.list from any process for live state.--caller-id must match between the render and the query; visibility is per-owner.Notemotion.render.cancel writes a cancel receipt and touches no process. motion.render.retry writes a not_run record that nothing consumes. Never say either stopped or restarted anything.
motion.trouble.job_states
Switch on job.state: pending, running, succeeded, failed, cancelled or skipped. Stop polling when pollAfterMs disappears.
pending means waiting for a machine slot — say "waiting", not "rendering".outcome, never on whether an artifact path is present: a failed encode can leave a truncated file.NoteA query error (job_unknown, job_expired, job_not_visible) describes the lookup, not the job. It is not a failed render.
motion.trouble.rss_limit
A long browser render exceeded the governor's resolved per-job resident-memory ceiling and was aborted. 6 GiB is only the fallback when host facts are unavailable; doctor reports this host's current value. The CLI writes a structured JSON failure envelope to stdout (ok: false, error.code: job_rss_limit_exceeded) and exits non-zero.
doctor to read the current resolved ceiling before changing the composition.motion.trouble.depth_blend
Giving one layer depth makes it mandatory on every generated visual layer, requires a camera, bounds it to -0.9…3, and refuses any blendMode but normal. Mattes are refused too.
motion.trouble.render_warning
Open History, inspect the quality and encoder details, and resolve the warning before treating the artifact as approved.
NoteNever lower a failed quality gate to make a render pass.
No record matches that search. Try a tool name (ffmpeg), a tier (write_local), or a command id (motion.render.final).