TRendererState: {
    ambientLight: AmbientLight;
    cameraObject: Camera;
    canvasHeight: number;
    canvasWidth: number;
    center?: Position;
    containerOffset: [number, number];
    depthRangeFor3D: [number, number];
    directionalLight: DirectionalLight;
    externalTweenGroup: TweenGroup;
    geometry2DIdsInScene: Set<Geometry2D["id"]>;
    geometry2DMap: Map<string | number, Geometry2D>;
    geometry2DsInScene: Set<Geometry2D>;
    geometry2DState: TwoDPipelineState;
    geometry3DIdsInScene: Set<All3DTypes["id"]>;
    geometry3DMap: Map<string | number, All3DTypes>;
    geometry3DsInScene: Set<All3DTypes>;
    geometryGroupIdsToLoad: Set<
        FeatureCollectionObject3D["userData"]["entityId"],
    >;
    geometryScene: GroupContainerObject3D;
    hoverColor: string;
    insetsPadding: InsetPadding;
    internalTweenGroup: TweenGroup;
    naturalBearing: number;
    outlinesOptions?: OutlinesOptions;
    pixelRatio: number;
    renderer: WebGLRenderer;
    shouldMeasureCanvas: boolean;
    text3dHoverColor: string;
    threeJSScene: Scene;
    useStandaloneCamera: boolean;
}

Snapshot of the renderer's internal state passed to ISystemPlugin instances on every frame. Exposes the Three.js scene, camera and geometry registries so plugins can inspect or augment the render pipeline.

Type declaration

  • ambientLight: AmbientLight
  • cameraObject: Camera
  • canvasHeight: number
  • canvasWidth: number
  • Optionalcenter?: Position
  • containerOffset: [number, number]
  • depthRangeFor3D: [number, number]

    The depth range for 3D rendering. This is used to ensure that depth comparisons are accurate, since Maplibre changes the depth range during rendering.

    [0, 1]
    
  • directionalLight: DirectionalLight
  • externalTweenGroup: TweenGroup

    Group for all tweens that are created externally, such as from animateState

  • Readonlygeometry2DIdsInScene: Set<Geometry2D["id"]>

    A set of all 2D geometry IDs in the scene. This is updated when objects' visiblity changes.

    Use geometry2DsInScene instead.

  • Readonlygeometry2DMap: Map<string | number, Geometry2D>

    A map of all 2D geometries in the world.

  • Readonlygeometry2DsInScene: Set<Geometry2D>

    A set of all 2D geometries in the scene. This is updated when objects' visiblity changes.

  • geometry2DState: TwoDPipelineState

    State shared with the 2D labels/markers pipeline

  • Readonlygeometry3DIdsInScene: Set<All3DTypes["id"]>

    A set of all 3D geometry IDs in the scene. This is updated when objects' visiblity changes.

    Use geometry3DsInScene instead.

  • Readonlygeometry3DMap: Map<string | number, All3DTypes>

    A map of all 3D geometries in the world.

  • Readonlygeometry3DsInScene: Set<All3DTypes>

    A set of all 3D geometries in the scene. This is updated when objects' visiblity changes.

  • ReadonlygeometryGroupIdsToLoad: Set<FeatureCollectionObject3D["userData"]["entityId"]>

    IDs of geometry groups that need to be loaded, including preloaded geometry groups that are not in the scene yet

  • ReadonlygeometryScene: GroupContainerObject3D
  • hoverColor: string
  • insetsPadding: InsetPadding
  • internalTweenGroup: TweenGroup

    Group for all tweens that are created internally by the SDK

  • naturalBearing: number
  • OptionaloutlinesOptions?: OutlinesOptions

    Options for configuring outline rendering

  • pixelRatio: number

    Current clamped pixel ratio of the renderer, based on maplibre's clamping logic (when in interleaved mode)

  • renderer: WebGLRenderer
  • shouldMeasureCanvas: boolean
  • text3dHoverColor: string
  • threeJSScene: Scene
  • useStandaloneCamera: boolean