render
Render the same scenario file locally or with —cloudsimforge render [OPTIONS] <TARGET> [EXTRA]...
| Argument / flag | Notes | What |
|---|---|---|
<target> | required | Scenario JSON file or materialized workspace; identical input for local and cloud |
<extra> | repeatable | Runtime-specific options; forwarded without shell interpolation |
--out OUT | Output folder; local requires it, cloud waits and downloads when it is given | |
--mode MODE | one of 2d, schematic, 3d; default 2d | 2d (top-down map video on the CPU), schematic (the flat OpenDRIVE view, GPU) or 3d (photoreal camera sensors, GPU) |
--rig RIG | Sensor rig JSON (simforge rig init). Default: the basic-dash-camera rig on the ego | |
--preset PRESET | one of training, showcase, schematic | Render preset |
--camera-detector FILE | Local native render only: authored instantaneous HDR detector response JSON | |
--camera-temporal FILE | Local native render only: bounded exact-time HDR exposure request JSON | |
--camera-delivery FILE | Local bounded offline measurement delivery or controlled delivery-only resume | |
--fps FPS | Frame rate every camera records (2d: the video’s), over the render preset’s own rate; 3d takes 5 to 60 | |
--wait | Wait for a submitted cloud job to finish | |
--download | Download a succeeded cloud job into —out; implies —wait | |
--max-cost CENTS | Explicit maximum cloud cost in cents; required for billable cloud jobs | |
--revision REVISION | Immutable revision for an existing hosted scenario target | |
--stage | With —cloud: save a scenario file to the workspace as an immutable revision (free) and price the run on it; starts nothing. —dry-run saves nothing | |
--replay-of RUN_ID | Cloud 3d render: the drive a succeeded closed_loop run scored (its episode timeline), rendered on the target’s revision that run drove | |
--camera CAMERA | one of follow-ego, overview; default follow-ego | 2d engine: the camera |
--north-up | 2d engine, follow-ego: keep north up (looking ahead of the ego) instead of turning the view with it | |
--debug-signals | 2d engine: also draw signal heads the timeline has no phases for (hollow grey rings) | |
--no-hud | 2d engine: no HUD (header, legend, clock, speed); the map fills the whole frame | |
--actor-labels LABELS.JSON | 2d 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 LEGIBILITY | one of standard, high; default standard | 2d 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 PX | 2d 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 WxH | default 1280x720 | 2d engine: the frame size |
--ego ACTOR_ID | 2d engine: the ego actor. Default: the workspace’s metric subject | |
--timeline TIMELINE.JSON | Render a timeline instead of simulating the workspace, on the same map | |
--clip START:END | 2d engine: the clip, START:END seconds of the timeline. Default: the whole timeline | |
--buildings | 2d engine: draw building footprints when the map has them | |
--title TEXT | 2d 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_MODEL | one of legacy, physical; default legacy | Native LiDAR model. legacy is the byte-identical default |
--lidar-profile NAME|FILE | Physical profile name (built-in) or a JSON profile file | |
--lidar-seed LIDAR_SEED | default 0 | Physical-model deterministic noise seed |
--lidar-motion-compensated | Express physical returns in the sensor pose at sweep start | |
--passes PASSES | one of rgb, hdr, id, depth, semantic; default rgb,id,depth,semantic; repeatable | Camera passes, comma-separated |
--camera-capture-stage CAMERA_CAPTURE_STAGE | one of scene-pre-postprocess/v1 | Capture renderer-relative HDR before postprocess, with capture-owned provenance |
--set KEY=VALUE | repeatable | Render-config overrides on the preset (key=value, e.g. aa.mode=fxaa); repeatable |
--textures TEXTURES | one of uastc-full, bc7-512 | The staged texture tier (photoreal presets). Default: uastc-full |
--video VIDEO | one of auto, required, off; default auto | Encode videos with ffmpeg |
--vram-budget BYTES | A texture budget in bytes; without it the device capacity is unmeasured and admission is skipped (reported) | |
--allow-software-adapter | Render on a software (CPU) Vulkan adapter such as lavapipe, explicitly. Slow; pixels differ from a GPU’s | |
--progress | Write render.progress events to stderr (the step, and frames done of the total while drawing) | |
--map-dir DIR | Use this native map directory (.corpus/<map>) instead of the installed map found by content | |
--cache-root DIR | Map cache root to search. Default: SIMFORGE_MAPS_CACHE_ROOT, then $XDG_DATA_HOME/simforge/maps | |
--assets-root DIR | Actor-asset root. Default: SIMFORGE_ACTOR_ASSETS_ROOT, then $XDG_DATA_HOME/simforge/actor-assets | |
--actor-closure SHA256 | The actor closure to bind, instead of the workspace’s catalog.actorClosureDigest | |
--actor-layer SHA256 | The 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-drift | Render on the installed map release even where its members differ from the workspace’s map closure (recorded in the result; the default refuses) |