OptionalcameraOptionalenvironmentWhere the scene environment that lights material="physical" meshes comes
from (MESH_PHYSICAL_MATERIALS_SPEC.md §3.3). Ignored by every other
material. Validated and narrowed by extractEnvironmentConfig.
Optionalsource?: stringroom (default), scene (exact cube capture from probe), hdri (url).
Optionalprobe?: string | [number, number, number]'auto', 'node:<path>', or an [x, y, z] world position.
Optionalresolution?: numberCube face size in pixels for a scene capture, 16–1024.
Optionalintensity?: numberscene.environmentIntensity, >= 0.
Optionalurl?: stringEquirectangular image for hdri, relative to the store or absolute.
OptionaltitleOptionalbackground_Optionaltone_OptionalexposureOptionalglobal_Optionalglobal_Optionalbloom_Optionalbloom_Optionalbloom_Optionalbloom_Optionalbloom_Optionalcontrol_Optionalauto_Optionalauto_Optionalauto_Turntable axis: a camera-frame axis or a fixed scene axis; see AutoRotateAxis.
Optionalauto_Optionalauto_Peak dolly swing as a percent of the viewing distance (15 → ±15%).
Optionalauto_Seconds per full dolly oscillation.
Optionalnatural_Optionalcinematic_Optionalplayback_Authored playback detail for every dimension: how deep additive ladders are
loaded per frame while playing or scrubbing. A positive integer pins that
many rungs, 'all' the whole ladder, 'auto' the energy rule (default),
'fast' the time-budgeted streaming. Python: ViewerConfig.playback_lod_depth.
Optionalvignette_Optionalvignette_Optionalvignette_Optionaldetector_Optionaldetector_Optionaldetector_Optionaldetector_Optionalfxaa_Optionalmsaa_Optionalmsaa_Optionalssaa_Optionalssaa_Optionalchromatic_Optionalchromatic_Optionalchromatic_Optionalchromatic_Optionalchromatic_Optionalchromatic_Optionalchromatic_Optionalchromatic_Optionalchromatic_Optionalfly_Optionalfly_Optionalfly_Optionalfly_Optionalfly_Optionaldynamic_Optionaladaptive_Optionalallow_OptionaluiOptionalthemeOptionaldimensionsOptionalanimationOptionalplaying?: booleanOptionaltarget_fps?: numberOptionalloop?: stringOptionaldirection?: stringOptionalstep_size?: numberPer-dimension step override (absent = Auto).
OptionalwaypointsOptionalaudioOptionalcontrol_
Viewer configuration from Python API (stored in zarr root .zattrs). All fields are optional — only set fields are present. Keys use snake_case to match the Python/zarr convention.
This is also the format exported by Ctrl+Shift+S in the viewer, enabling full Python → zarr → viewer → export → Python round-trips.