Docs menu

// Command reference

simforge render

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 render

Render the same scenario file locally or with --cloud

simforge render [OPTIONS] <TARGET> [EXTRA]...
Argument / flagNotesWhat
<target>requiredScenario JSON file or materialized workspace; identical input for local and cloud
<extra>repeatableRuntime-specific options; forwarded without shell interpolation
--out OUTOutput folder; local requires it, cloud waits and downloads when it is given
--mode MODEone of 2d, schematic, 3d; default 2d
--rig RIGSensor rig JSON (simforge rig init). Default: the basic-dash-camera rig on the ego
--preset PRESETone of training, showcase, schematicRender preset
--camera-detector FILELocal native render only: authored instantaneous HDR detector response JSON
--camera-temporal FILELocal native render only: bounded exact-time HDR exposure request JSON
--camera-delivery FILELocal bounded offline measurement delivery or controlled delivery-only resume
--fps FPSFrame rate every camera records (2d: the video's), over the render preset's own rate; 3d takes 5 to 60
--waitWait for a submitted cloud job to finish
--downloadDownload a succeeded cloud job into --out; implies --wait
--max-cost CENTSExplicit maximum cloud cost in cents; required for billable cloud jobs
--revision REVISIONImmutable revision for an existing hosted scenario target
--replay-of RUN_IDCloud 3d render: the drive a succeeded closed_loop run scored (its episode timeline), rendered on the target's revision that run drove
--camera CAMERAone of follow-ego, overview; default follow-ego2d engine: the camera
--north-up2d engine, follow-ego: keep north up (looking ahead of the ego) instead of turning the view with it
--debug-signals2d engine: also draw signal heads the timeline has no phases for (hollow grey rings)
--no-hud2d engine: no HUD (header, legend, clock, speed); the map fills the whole frame
--actor-labels LABELS.JSON2d engine: tags to draw next to actors, a JSON object {actorId: text} (e.g. a labelling page's candidate numbers). An id that is not an actor of the timeline fails the render
--legibility LEGIBILITYone of standard, high; default standard2d engine: icon legibility; high is for labelling clips (larger props, light people, faint untagged parked vehicles, no edge chevrons or collision marks, non-overlapping tag badges)
--px-per-m PX2d engine: a fixed map scale in pixels per metre. Default: 14 to 9 by the ego's speed (follow-ego); the scenario actors fitted, 5 to 12 (overview)
--size WxHdefault 1280x7202d engine: the frame size
--ego ACTOR_ID2d engine: the ego actor. Default: the workspace's metric subject
--timeline TIMELINE.JSONRender a timeline instead of simulating the workspace, on the same map
--clip START:END2d engine: the clip, START:END seconds of the timeline. Default: the whole timeline
--buildings2d engine: draw building footprints when the map has them
--title TEXT2d engine: the header's title. Default: the map's name (its id in words) and the scenario's title from the package (else the workspace directory); render.json keeps the ids
--lidar-model LIDAR_MODELone of legacy, physical; default legacyNative LiDAR model. legacy is the byte-identical default
--lidar-profile NAME|FILEPhysical profile name (built-in) or a JSON profile file
--lidar-seed LIDAR_SEEDdefault 0Physical-model deterministic noise seed
--lidar-motion-compensatedExpress physical returns in the sensor pose at sweep start
--passes PASSESone of rgb, hdr, id, depth, semantic; default rgb,id,depth,semantic; repeatableCamera passes, comma-separated
--camera-capture-stage CAMERA_CAPTURE_STAGEone of scene-pre-postprocess/v1Capture renderer-relative HDR before postprocess, with capture-owned provenance
--set KEY=VALUErepeatableRender-config overrides on the preset (key=value, e.g. aa.mode=fxaa); repeatable
--textures TEXTURESone of uastc-full, bc7-512The staged texture tier (photoreal presets). Default: uastc-full
--video VIDEOone of auto, required, off; default autoEncode videos with ffmpeg
--vram-budget BYTESA texture budget in bytes; without it the device capacity is unmeasured and admission is skipped (reported)
--allow-software-adapterRender on a software (CPU) Vulkan adapter such as lavapipe, explicitly. Slow; pixels differ from a GPU's
--map-dir DIRUse this native map directory (.corpus/<map>) instead of the installed map found by content
--cache-root DIRMap cache root to search. Default: SIMFORGE_MAPS_CACHE_ROOT, then $XDG_DATA_HOME/simforge/maps
--assets-root DIRActor-asset root. Default: SIMFORGE_ACTOR_ASSETS_ROOT, then $XDG_DATA_HOME/simforge/actor-assets
--actor-closure SHA256The actor closure to bind, instead of the workspace's catalog.actorClosureDigest
--actor-layer SHA256The workspace's private model layer (an actor closure in the same store) for workspace.* models, instead of the workspace's simforge.actorLayer extension
--allow-map-driftRender on the installed map release even where its members differ from the workspace's map closure (recorded in the result; the default refuses)