Docs menu

// Command reference

simforge drafts

Generated from the CLI's own help (CLI 0.2.0-rc.5). Global flags and exit codes are on the reference index.

All commands

simforge drafts apply add-actor

Place a new actor: a road vehicle on a semantic lane, or a pedestrian/free static actor at a scene point.

simforge drafts apply --expected-version <N> --expected-digest <SHA256> <DRAFT_ID> add-actor [OPTIONS] --catalog-id <CATALOG_ID> --id <ID> <--lane-rsl <LANE_RSL>|--x <N>> [-- [OPERATION]...]
Argument / flagNotesWhat
<draft_id>required
<operation>repeatableFurther operations of the same transaction, each after --.
--expected-version NrequiredThe draftVersion of the receipt this change is based on
--expected-digest SHA256requiredThe contentDigest of the receipt this change is based on
--body-color BODY_COLORPresentation body colour #rrggbb.
--catalog-id CATALOG_IDrequiredBuilt-in actor (simforge scenario actors): vehicle.sedan, pedestrian.adult, ...
--heading-rad NHeading in the scene frame; default: the lane heading or the actor class default. [rad]
--id IDrequiredNew actor id (never allocated implicitly).
--label LABELDisplay label.
--lateral-m NLateral offset in the lane, positive to the left of travel. [m]
--opposingSnap to the nearest genuinely opposing lane.
--overlap-overrideAccept overlap with another actor (free/static actors only; refused for moving road vehicles).
--speed-kph NInitial speed; default: posted limit for road vehicles. [0..160 km/h]
--staticPlace as a static actor (no motion, zero speed).
--y NExplicit height; otherwise the map ground at (x,z) is used and refused without ground. [m]
--lane-rsl LANE_RSLSemantic lane road:section:lane (with s).
--s NStation along laneRsl in storage direction. [>= 0 m]
--x NScene-frame x (east). [m]
--z NScene-frame z (minus north). [m]

simforge drafts apply add-lane-change

Add a timed lane change for a mobile lane-bound road actor.

simforge drafts apply --expected-version <N> --expected-digest <SHA256> <DRAFT_ID> add-lane-change [OPTIONS] --actor-id <ACTOR_ID> --direction <DIRECTION> --id <ID> --start-s <N> [-- [OPERATION]...]
Argument / flagNotesWhat
<draft_id>required
<operation>repeatableFurther operations of the same transaction, each after --.
--expected-version NrequiredThe draftVersion of the receipt this change is based on
--expected-digest SHA256requiredThe contentDigest of the receipt this change is based on
--actor-id ACTOR_IDrequiredActor.
--direction DIRECTIONrequired; one of left, rightTarget lane side.
--duration-s NLane-change duration. [> 0 s] (default 3)
--end-s NClip time the event ends. [>= 0 s]
--id IDrequiredNew event id.
--start-s NrequiredClip time the change starts. [>= 0 s]

simforge drafts apply add-next-junction-turn

Choose the turn an actor takes at its next junction.

simforge drafts apply --expected-version <N> --expected-digest <SHA256> <DRAFT_ID> add-next-junction-turn [OPTIONS] --actor-id <ACTOR_ID> --direction <DIRECTION> --id <ID> --start-s <N> [-- [OPERATION]...]
Argument / flagNotesWhat
<draft_id>required
<operation>repeatableFurther operations of the same transaction, each after --.
--expected-version NrequiredThe draftVersion of the receipt this change is based on
--expected-digest SHA256requiredThe contentDigest of the receipt this change is based on
--actor-id ACTOR_IDrequiredActor.
--direction DIRECTIONrequired; one of left, right, straightMovement at the next junction.
--end-s NClip time the event ends. [>= 0 s]
--id IDrequiredNew event id.
--start-s NrequiredClip time the choice applies from. [>= 0 s]

simforge drafts apply duplicate-actor

Copy an actor with its presentation and own events under a new id at a new position.

simforge drafts apply --expected-version <N> --expected-digest <SHA256> <DRAFT_ID> duplicate-actor [OPTIONS] --id <ID> --new-id <NEW_ID> <--lane-rsl <LANE_RSL>|--x <N>> [-- [OPERATION]...]
Argument / flagNotesWhat
<draft_id>required
<operation>repeatableFurther operations of the same transaction, each after --.
--expected-version NrequiredThe draftVersion of the receipt this change is based on
--expected-digest SHA256requiredThe contentDigest of the receipt this change is based on
--heading-rad NHeading in the scene frame; default: the lane heading or the actor class default. [rad]
--id IDrequiredSource actor.
--lateral-m NLateral offset in the lane, positive to the left of travel. [m]
--new-id NEW_IDrequiredNew actor id.
--overlap-overrideAccept overlap with another actor (free/static actors only; refused for moving road vehicles).
--y NExplicit height; otherwise the map ground at (x,z) is used and refused without ground. [m]
--lane-rsl LANE_RSLSemantic lane road:section:lane (with s).
--s NStation along laneRsl in storage direction. [>= 0 m]
--x NScene-frame x (east). [m]
--z NScene-frame z (minus north). [m]

simforge drafts apply move-actor

Move an actor to a lane station or scene point, keeping identity, class, static state and speed.

simforge drafts apply --expected-version <N> --expected-digest <SHA256> <DRAFT_ID> move-actor [OPTIONS] --id <ID> <--lane-rsl <LANE_RSL>|--x <N>> [-- [OPERATION]...]
Argument / flagNotesWhat
<draft_id>required
<operation>repeatableFurther operations of the same transaction, each after --.
--expected-version NrequiredThe draftVersion of the receipt this change is based on
--expected-digest SHA256requiredThe contentDigest of the receipt this change is based on
--heading-rad NHeading in the scene frame; default: the lane heading or the actor class default. [rad]
--id IDrequiredActor to move.
--lateral-m NLateral offset in the lane, positive to the left of travel. [m]
--overlap-overrideAccept overlap with another actor (free/static actors only; refused for moving road vehicles).
--y NExplicit height; otherwise the map ground at (x,z) is used and refused without ground. [m]
--lane-rsl LANE_RSLSemantic lane road:section:lane (with s).
--s NStation along laneRsl in storage direction. [>= 0 m]
--x NScene-frame x (east). [m]
--z NScene-frame z (minus north). [m]

simforge drafts apply remove-role

Delete an actor with dependent events, reasoning and ego handoff.

simforge drafts apply --expected-version <N> --expected-digest <SHA256> <DRAFT_ID> remove-role [OPTIONS] --id <ID> [-- [OPERATION]...]
Argument / flagNotesWhat
<draft_id>required
<operation>repeatableFurther operations of the same transaction, each after --.
--expected-version NrequiredThe draftVersion of the receipt this change is based on
--expected-digest SHA256requiredThe contentDigest of the receipt this change is based on
--id IDrequiredActor to delete.

simforge drafts apply set-actor-speed

Set an actor's initial speed.

simforge drafts apply --expected-version <N> --expected-digest <SHA256> <DRAFT_ID> set-actor-speed [OPTIONS] --id <ID> --speed-kph <N> [-- [OPERATION]...]
Argument / flagNotesWhat
<draft_id>required
<operation>repeatableFurther operations of the same transaction, each after --.
--expected-version NrequiredThe draftVersion of the receipt this change is based on
--expected-digest SHA256requiredThe contentDigest of the receipt this change is based on
--id IDrequiredActor.
--speed-kph NrequiredInitial speed. [0..160 km/h]

simforge drafts apply set-actor-static

Make an actor static (clears its route and motion events) or mobile again.

simforge drafts apply --expected-version <N> --expected-digest <SHA256> <DRAFT_ID> set-actor-static [OPTIONS] --id <ID> --static <BOOL> [-- [OPERATION]...]
Argument / flagNotesWhat
<draft_id>required
<operation>repeatableFurther operations of the same transaction, each after --.
--expected-version NrequiredThe draftVersion of the receipt this change is based on
--expected-digest SHA256requiredThe contentDigest of the receipt this change is based on
--id IDrequiredActor.
--static BOOLrequired; one of true, falsetrue: static; false: mobile.

simforge drafts apply set-clip

Set the clip length and/or warm-up; out-of-clip events are refused, never truncated.

simforge drafts apply --expected-version <N> --expected-digest <SHA256> <DRAFT_ID> set-clip [OPTIONS] <--clip-seconds <N>|--warmup-seconds <N>> [-- [OPERATION]...]
Argument / flagNotesWhat
<draft_id>required
<operation>repeatableFurther operations of the same transaction, each after --.
--expected-version NrequiredThe draftVersion of the receipt this change is based on
--expected-digest SHA256requiredThe contentDigest of the receipt this change is based on
--clip-seconds NClip length. [3..120 s]
--warmup-seconds NWarm-up before the clip. [0..30 s]

simforge drafts apply set-clock

Set the precise scene clock; the time of day becomes the label of the sun at the map's site on the scenario's day.

simforge drafts apply --expected-version <N> --expected-digest <SHA256> <DRAFT_ID> set-clock [OPTIONS] --minutes <N> [-- [OPERATION]...]
Argument / flagNotesWhat
<draft_id>required
<operation>repeatableFurther operations of the same transaction, each after --.
--expected-version NrequiredThe draftVersion of the receipt this change is based on
--expected-digest SHA256requiredThe contentDigest of the receipt this change is based on
--minutes NrequiredMinutes after local midnight. [0..1439 min]

simforge drafts apply set-ego

Make an actor the ego vehicle.

simforge drafts apply --expected-version <N> --expected-digest <SHA256> <DRAFT_ID> set-ego [OPTIONS] --role-id <ROLE_ID> [-- [OPERATION]...]
Argument / flagNotesWhat
<draft_id>required
<operation>repeatableFurther operations of the same transaction, each after --.
--expected-version NrequiredThe draftVersion of the receipt this change is based on
--expected-digest SHA256requiredThe contentDigest of the receipt this change is based on
--role-id ROLE_IDrequiredActor to make ego.

simforge drafts apply set-event-timing

Retime an event's start and optional end.

simforge drafts apply --expected-version <N> --expected-digest <SHA256> <DRAFT_ID> set-event-timing [OPTIONS] --id <ID> --start-s <N> [-- [OPERATION]...]
Argument / flagNotesWhat
<draft_id>required
<operation>repeatableFurther operations of the same transaction, each after --.
--expected-version NrequiredThe draftVersion of the receipt this change is based on
--expected-digest SHA256requiredThe contentDigest of the receipt this change is based on
--end-s NEnd clip time. [>= 0 s]
--id IDrequiredEvent.
--start-s NrequiredStart clip time. [>= 0 s]

simforge drafts apply set-waypoint-route

Give an actor a smooth stop-to-stop timed route through scene points (two points: a crossing).

simforge drafts apply --expected-version <N> --expected-digest <SHA256> <DRAFT_ID> set-waypoint-route [OPTIONS] --actor-id <ACTOR_ID> --duration-s <N> --id <ID> --point <X,Z> --start-s <N> [-- [OPERATION]...]
Argument / flagNotesWhat
<draft_id>required
<operation>repeatableFurther operations of the same transaction, each after --.
--expected-version NrequiredThe draftVersion of the receipt this change is based on
--expected-digest SHA256requiredThe contentDigest of the receipt this change is based on
--actor-id ACTOR_IDrequiredActor.
--duration-s NrequiredRoute duration. [> 0 s]
--end-s NClip time the event ends. [>= 0 s]
--id IDrequiredNew event id.
--point X,Zrequired; repeatableScene points, the actor's start first. Repeat once per item, at least 2.
--start-s NrequiredClip time the route starts. [>= 0 s]

simforge drafts apply set-weather

Set the scenario weather.

simforge drafts apply --expected-version <N> --expected-digest <SHA256> <DRAFT_ID> set-weather [OPTIONS] --weather <WEATHER> [-- [OPERATION]...]
Argument / flagNotesWhat
<draft_id>required
<operation>repeatableFurther operations of the same transaction, each after --.
--expected-version NrequiredThe draftVersion of the receipt this change is based on
--expected-digest SHA256requiredThe contentDigest of the receipt this change is based on
--weather WEATHERrequired; one of clear, cloudy, overcast, light_rain, heavy_rain, wet_road, fog_light, fog_dense, snow, sleetCanonical scenario weather.

simforge drafts create

Create a workspace draft on an exact map version; prints its receipt (documentId, draftVersion, contentDigest, mapPin)

simforge drafts create [OPTIONS] --map <MAP_VERSION_ID> --name <NAME>
Argument / flagNotesWhat
--map MAP_VERSION_IDrequiredThe map version id the draft is pinned to
--name NAMErequired
--dataset DATASET_IDThe writable dataset; absent, the credential's default dataset (named in the receipt)
--clip-seconds S

simforge drafts freeze

Freeze the draft as an immutable revision (revisionId, revisionContentDigest) for simulate/render

simforge drafts freeze [OPTIONS] --expected-version <N> --expected-digest <SHA256> <DRAFT_ID>
Argument / flagNotesWhat
<draft_id>required
--expected-version NrequiredThe draftVersion of the receipt this change is based on
--expected-digest SHA256requiredThe contentDigest of the receipt this change is based on
--name NAMEThe revision's name

simforge drafts save

Save the draft through the workspace store at an explicit version and digest

simforge drafts save [OPTIONS] --expected-version <N> --expected-digest <SHA256> <DRAFT_ID>
Argument / flagNotesWhat
<draft_id>required
--expected-version NrequiredThe draftVersion of the receipt this change is based on
--expected-digest SHA256requiredThe contentDigest of the receipt this change is based on

simforge drafts show

The draft's current receipt and content: version, digest, map/actor/recording pins

simforge drafts show [OPTIONS] <DRAFT_ID>
Argument / flagNotesWhat
<draft_id>required

simforge drafts validate

Validate every actor of the draft, optionally with the authoritative preview; exit 2 on findings

simforge drafts validate [OPTIONS] <DRAFT_ID>
Argument / flagNotesWhat
<draft_id>required
--strictWarnings are findings too
--previewRun the authoritative materializer/engine preview (every actor, collisions, quality issues)