23 Render
2 operations.
23.0.1 renderCadModel
GET /api/datasets/{slug}/render/cad
Renders the dataset’s Navisworks model from a camera pose, and can identify objects.
Draws the whole Navisworks model in the Autodesk viewer from the same camera contract as renderScene, and — unlike the Cesium tileset, which carries no batch table — can resolve a pixel to a cad_objects.id through pick. tag and isolate restrict what is drawn. This is a different renderer in a different frame, so its image cannot be composited with renderScene’s in 3D; compositing the two images has no depth interaction, and the model will not be occluded by splat geometry in front of it. Read-only: nothing is written.
Authentication: SupabaseAuth, CookieAuth
Returns — image · camera · layers · assets · settled · render_ms · camera_fit · placement_version
Field names as the handler returns them; the source states no types for them.
Effect — reads datasets · organizations · v_image_pose
Parameters
| Name | In | Required | Type | Notes |
|---|---|---|---|---|
slug |
path | yes | string | |
longitude |
query | no | number, nullable | |
latitude |
query | no | number, nullable | |
height |
query | no | number, nullable | |
heading |
query | no | number, nullable | |
pitch |
query | no | number, nullable | |
roll |
query | no | number, nullable | |
image_id |
query | no | string (uuid) | |
hfov |
query | no | number | |
lens |
query | no | string — one of calibrated |
|
width |
query | no | integer | |
height_px |
query | no | integer | |
format |
query | no | string — one of png, jpeg |
|
background |
query | no | string — one of scene, transparent |
|
timeout_ms |
query | no | integer | |
strict |
query | no | ||
response |
query | no | string — one of image, json |
|
frame |
query | no | string — one of camera, isolated |
|
show |
query | no | string — one of isolated, all |
|
db_ids |
query | no | string | |
tag |
query | no | string | |
probe |
query | no | ||
isolate |
query | no | string | |
pick |
query | no | string |
Responses
| Status | Meaning | Body |
|---|---|---|
200 |
The rendered image. Provenance travels in headers: X-Camera, X-Intrinsics, X-Layers, X-Settled, X-Render-Ms, plus an ETag over the resolved inputs. |
|
304 |
Not modified — the same camera, size and model version. | |
400 |
Invalid camera, or no field of view given and none derivable. | Error |
401 |
Not authenticated. | Error |
404 |
Dataset not found, or image_id has no pose. |
Error |
409 |
The dataset’s CAD model is not translated yet. | Error |
429 |
Too many renders; this endpoint costs seconds of viewer time per call. | Error |
500 |
Server error. | Error |
501 |
No world-to-CAD calibration for this dataset, or an accepted-but-unimplemented option (tag, isolate, transparent background) was asked for. |
Error |
504 |
The model did not finish loading within timeout_ms and strict was set. |
Error |
23.0.2 renderScene
GET /api/datasets/{slug}/render/scene
Renders the dataset’s Gaussian splat and CAD mesh from a camera pose.
Draws the layers that share a Cesium scene — the Gaussian splat and the CAD mesh tileset, each placed by its own Cesium Ion georeference — from an explicit camera or from a photograph’s pose of record, and returns the picture. One operation with a layers parameter rather than one per layer, so two images are guaranteed to come from the identical camera; that guarantee is the point. Intrinsics are never defaulted and the response echoes what was applied. Read-only: nothing is written.
Authentication: SupabaseAuth, CookieAuth
Returns — image · camera · layers · assets · settled · render_ms
Field names as the handler returns them; the source states no types for them.
Effect — reads datasets · v_image_pose
Parameters
| Name | In | Required | Type | Notes |
|---|---|---|---|---|
slug |
path | yes | string | |
longitude |
query | no | number, nullable | |
latitude |
query | no | number, nullable | |
height |
query | no | number, nullable | |
heading |
query | no | number, nullable | |
pitch |
query | no | number, nullable | |
roll |
query | no | number, nullable | |
image_id |
query | no | string (uuid) | |
hfov |
query | no | number | |
lens |
query | no | string — one of calibrated |
|
width |
query | no | integer | |
height_px |
query | no | integer | |
format |
query | no | string — one of png, jpeg |
|
background |
query | no | string — one of scene, transparent |
|
timeout_ms |
query | no | integer | |
strict |
query | no | ||
response |
query | no | string — one of image, json |
|
layers |
query | no | string | |
basemap |
query | no | string — one of google, none |
|
sky |
query | no | ||
cad_opacity |
query | no | number, nullable | |
quality |
query | no | number |
Responses
| Status | Meaning | Body |
|---|---|---|
200 |
The rendered image. Provenance travels in headers: X-Camera, X-Intrinsics, X-Layers, X-Settled, X-Render-Ms, plus an ETag over the resolved inputs. |
|
304 |
Not modified — the same camera, layers, size and asset versions. | |
400 |
Invalid camera, or no field of view given and none derivable. | Error |
401 |
Not authenticated. | Error |
404 |
Dataset not found, or image_id has no pose. |
Error |
429 |
Too many renders; this endpoint costs a GPU-second per call. | Error |
500 |
Server error. | Error |
504 |
The scene did not settle within timeout_ms and strict was set. |
Error |