Canvas: {    blurQuality: number;    blurStrength: number;    brightestColor: number;    chatBubblesClass: typeof ChatBubbles;    darknessAnimations: DarknessSourceAnimationConfig;    darknessColor: number;    darknessLightPenalty: number;    darknessSourceClass: typeof PointDarknessSource;    darknessSourcePaddingMultiplier: number;    darknessToDaylightAnimationMS: number;    daylightColor: number;    daylightToDarknessAnimationMS: number;    detectionModes: Record<string, DetectionMode>;    dispositionColors: {        CONTROLLED: number;        FRIENDLY: number;        HOSTILE: number;        INACTIVE: number;        NEUTRAL: number;        PARTY: number;        SECRET: number;    };    doorControlClass: typeof DoorControl;    dragSpeedModifier: number;    elevationSnappingPrecision: number;    exploredColor: number;    fogManager: typeof FogManager;    globalLightSourceClass: typeof GlobalLightSource;    gridStyles: {        dashedLines: {            label: string;            shaderClass: typeof GridShader;            shaderOptions: { style: number };        };        diamondPoints: {            label: string;            shaderClass: typeof GridShader;            shaderOptions: { style: number };        };        dottedLines: {            label: string;            shaderClass: typeof GridShader;            shaderOptions: { style: number };        };        roundPoints: {            label: string;            shaderClass: typeof GridShader;            shaderOptions: { style: number };        };        solidLines: {            label: string;            shaderClass: typeof GridShader;            shaderOptions: { style: number };        };        squarePoints: {            label: string;            shaderClass: typeof GridShader;            shaderOptions: { style: number };        };    };    groups: {        effects: { groupClass: typeof EffectsCanvasGroup; parent: string };        environment: { groupClass: typeof EnvironmentCanvasGroup; parent: string };        hidden: { groupClass: typeof HiddenCanvasGroup; parent: string };        interface: {            groupClass: typeof InterfaceCanvasGroup;            parent: string;            zIndexDrawings: number;            zIndexScrollingText: number;        };        overlay: { groupClass: typeof OverlayCanvasGroup; parent: string };        primary: { groupClass: typeof PrimaryCanvasGroup; parent: string };        rendered: { groupClass: typeof RenderedCanvasGroup; parent: string };        visibility: { groupClass: typeof CanvasVisibility; parent: string };    };    hoverFade: object;    layers: {        controls: { group: string; layerClass: typeof ControlsLayer };        drawings: { group: string; layerClass: typeof DrawingsLayer };        grid: { group: string; layerClass: typeof GridLayer };        lighting: { group: string; layerClass: typeof LightingLayer };        notes: { group: string; layerClass: typeof NotesLayer };        regions: { group: string; layerClass: typeof RegionLayer };        sounds: { group: string; layerClass: typeof SoundsLayer };        templates: { group: string; layerClass: typeof TemplateLayer };        tiles: { group: string; layerClass: typeof TilesLayer };        tokens: { group: string; layerClass: typeof TokenLayer };        walls: { group: string; layerClass: typeof WallsLayer };        weather: { group: string; layerClass: typeof WeatherEffects };    };    lightAnimations: LightSourceAnimationConfig;    lightLevels: {        bright: number;        dark: number;        dim: number;        halfdark: number;    };    lightSourceClass: typeof PointLightSource;    managedScenes: Record<string, typeof SceneManager>;    maxZoom: undefined;    minZoom: undefined;    objectBorderThickness: number;    pings: {        pullSpeed: number;        styles: {            alert: {                class: typeof AlertPing;                color: string;                duration: number;                size: number;            };            arrow: { class: typeof ArrowPing; duration: number; size: number };            chevron: { class: typeof ChevronPing; duration: number; size: number };            pulse: { class: typeof PulsePing; duration: number; size: number };        };        types: { ALERT: string; ARROW: string; PULL: string; PULSE: string };    };    polygonBackends: {        darkness: typeof ClockwiseSweepPolygon;        light: typeof ClockwiseSweepPolygon;        move: typeof ClockwiseSweepPolygon;        sight: typeof ClockwiseSweepPolygon;        sound: typeof ClockwiseSweepPolygon;    };    rulerClass: typeof Ruler;    soundSourceClass: typeof PointSoundSource;    targeting: { size: number };    unexploredColor: number;    visibilityFilter: typeof VisibilityFilter;    visionModes: Record<string, VisionMode>;    visionSourceClass: typeof PointVisionSource;    visualEffectsMaskingFilter: typeof VisualEffectsMaskingFilter;} = ... Type declaration
blurQuality: number
blurStrength: number
brightestColor: number
chatBubblesClass: typeof ChatBubbles
darknessColor: number
darknessLightPenalty: number
darknessSourcePaddingMultiplier: number
darknessToDaylightAnimationMS: number
daylightColor: number
daylightToDarknessAnimationMS: number
detectionModes: Record<string, DetectionMode>
dispositionColors: {
    CONTROLLED: number;
    FRIENDLY: number;
    HOSTILE: number;
    INACTIVE: number;
    NEUTRAL: number;
    PARTY: number;
    SECRET: number;
}
doorControlClass: typeof DoorControl
dragSpeedModifier: number
elevationSnappingPrecision: number
exploredColor: number
gridStyles: {
    dashedLines: {
        label: string;
        shaderClass: typeof GridShader;
        shaderOptions: { style: number };
    };
    diamondPoints: {
        label: string;
        shaderClass: typeof GridShader;
        shaderOptions: { style: number };
    };
    dottedLines: {
        label: string;
        shaderClass: typeof GridShader;
        shaderOptions: { style: number };
    };
    roundPoints: {
        label: string;
        shaderClass: typeof GridShader;
        shaderOptions: { style: number };
    };
    solidLines: {
        label: string;
        shaderClass: typeof GridShader;
        shaderOptions: { style: number };
    };
    squarePoints: {
        label: string;
        shaderClass: typeof GridShader;
        shaderOptions: { style: number };
    };
}
groups: {
    effects: { groupClass: typeof EffectsCanvasGroup; parent: string };
    environment: { groupClass: typeof EnvironmentCanvasGroup; parent: string };
    hidden: { groupClass: typeof HiddenCanvasGroup; parent: string };
    interface: {
        groupClass: typeof InterfaceCanvasGroup;
        parent: string;
        zIndexDrawings: number;
        zIndexScrollingText: number;
    };
    overlay: { groupClass: typeof OverlayCanvasGroup; parent: string };
    primary: { groupClass: typeof PrimaryCanvasGroup; parent: string };
    rendered: { groupClass: typeof RenderedCanvasGroup; parent: string };
    visibility: { groupClass: typeof CanvasVisibility; parent: string };
}
hoverFade: object
layers: {
    controls: { group: string; layerClass: typeof ControlsLayer };
    drawings: { group: string; layerClass: typeof DrawingsLayer };
    grid: { group: string; layerClass: typeof GridLayer };
    lighting: { group: string; layerClass: typeof LightingLayer };
    notes: { group: string; layerClass: typeof NotesLayer };
    regions: { group: string; layerClass: typeof RegionLayer };
    sounds: { group: string; layerClass: typeof SoundsLayer };
    templates: { group: string; layerClass: typeof TemplateLayer };
    tiles: { group: string; layerClass: typeof TilesLayer };
    tokens: { group: string; layerClass: typeof TokenLayer };
    walls: { group: string; layerClass: typeof WallsLayer };
    weather: { group: string; layerClass: typeof WeatherEffects };
}
lightLevels: { bright: number; dark: number; dim: number; halfdark: number }
managedScenes: Record<string, typeof SceneManager>
maxZoom: undefined
minZoom: undefined
objectBorderThickness: number
pings: {
    pullSpeed: number;
    styles: {
        alert: {
            class: typeof AlertPing;
            color: string;
            duration: number;
            size: number;
        };
        arrow: { class: typeof ArrowPing; duration: number; size: number };
        chevron: { class: typeof ChevronPing; duration: number; size: number };
        pulse: { class: typeof PulsePing; duration: number; size: number };
    };
    types: { ALERT: string; ARROW: string; PULL: string; PULSE: string };
}
rulerClass: typeof Ruler
targeting: { size: number }
unexploredColor: number
visionModes: Record<string, VisionMode>
Configuration settings for the Canvas and its contained layers and objects