HomeWeb Components API Reference - v0.17.0
    Preparing search index...

    Class LightComponentElement

    The LightComponentElement interface provides properties and methods for manipulating <pc-light> elements. The LightComponentElement interface also inherits the properties and methods of the HTMLElement interface.

    Engine component: LightComponent (light).

    Hierarchy (View Summary)

    Index
    • get closestApp(): AppElement | null

      The nearest ancestor <pc-app> element, or null if this element has no <pc-app> ancestor. The search starts at the parent, so an element never resolves to itself.

      Returns AppElement | null

      The closest app element, or null.

    • get closestEntity(): EntityBaseElement | null

      The nearest ancestor element that fronts an entity — <pc-entity>, <pc-model> or <pc-node> — or null if this element has no such ancestor. The search starts at the parent, so an element never resolves to itself.

      Returns EntityBaseElement | null

      The closest entity-fronting element, or null.

    • get enabled(): boolean

      Gets the enabled state of the component.

      Returns boolean

      The enabled state of the component.

    • set enabled(value: boolean): void

      Sets the enabled state of the component.

      Parameters

      • value: boolean

        The enabled state of the component.

      Returns void

    • get shadowBlockerSamples(): number

      Gets the number of shadow blocker samples.

      Returns number

      The number of shadow blocker samples.

    • set shadowBlockerSamples(value: number): void

      Sets the number of shadow blocker samples. Used for PCSS shadows.

      Parameters

      • value: number

        The number of shadow blocker samples.

      Returns void

    • get shadowSamples(): number

      Gets the number of shadow samples.

      Returns number

      The number of shadow samples.

    • set shadowSamples(value: number): void

      Sets the number of shadow samples. Used for PCSS shadows.

      Parameters

      • value: number

        The number of shadow samples.

      Returns void

    • get shadowType(): | "pcf1-16f"
      | "pcf1-32f"
      | "pcf3-16f"
      | "pcf3-32f"
      | "pcf5-16f"
      | "pcf5-32f"
      | "vsm-16f"
      | "vsm-32f"
      | "pcss-32f"

      Gets the shadow type of the light.

      Returns
          | "pcf1-16f"
          | "pcf1-32f"
          | "pcf3-16f"
          | "pcf3-32f"
          | "pcf5-16f"
          | "pcf5-32f"
          | "vsm-16f"
          | "vsm-32f"
          | "pcss-32f"

      The shadow type.

    • set shadowType(
          value:
              | "pcf1-16f"
              | "pcf1-32f"
              | "pcf3-16f"
              | "pcf3-32f"
              | "pcf5-16f"
              | "pcf5-32f"
              | "vsm-16f"
              | "vsm-32f"
              | "pcss-32f",
      ): void

      Sets the shadow type of the light.

      Parameters

      • value:
            | "pcf1-16f"
            | "pcf1-32f"
            | "pcf3-16f"
            | "pcf3-32f"
            | "pcf5-16f"
            | "pcf5-32f"
            | "vsm-16f"
            | "vsm-32f"
            | "pcss-32f"

        The shadow type. Can be:

        • pcf1-16f - 1-tap percentage-closer filtered shadow map with 16-bit depth.
        • pcf1-32f - 1-tap percentage-closer filtered shadow map with 32-bit depth.
        • pcf3-16f - 3-tap percentage-closer filtered shadow map with 16-bit depth.
        • pcf3-32f - 3-tap percentage-closer filtered shadow map with 32-bit depth.
        • pcf5-16f - 5-tap percentage-closer filtered shadow map with 16-bit depth.
        • pcf5-32f - 5-tap percentage-closer filtered shadow map with 32-bit depth.
        • vsm-16f - Variance shadow map with 16-bit depth.
        • vsm-32f - Variance shadow map with 32-bit depth.
        • pcss-32f - Percentage-closer soft shadow with 32-bit depth.

      Returns void

    • get type(): "directional" | "omni" | "spot"

      Gets the type of the light.

      Returns "directional" | "omni" | "spot"

      The type.

    • set type(value: "directional" | "omni" | "spot"): void

      Sets the type of the light. Can be directional, omni or spot. Defaults to directional.

      Parameters

      • value: "directional" | "omni" | "spot"

        The type.

      Returns void

    • Called when the element is fully initialized and ready. Subclasses should call this when they're ready. Resolves the ready promise and dispatches a bubbling, composed ready event. Signals at most once per readiness cycle: a repeat call before _resetReady has re-armed the promise does nothing.

      Returns void

    • Returns the ready promise to its pending state. Subclasses should call this when the resource their readiness announced is torn down (typically from disconnectedCallback), so that a later re-initialization can signal readiness again. Does nothing while the promise is still pending — an in-flight waiter carries over to the next readiness cycle rather than being stranded on a promise nothing will ever resolve.

      Returns void

    • Returns the data the component is created with. Overridden by subclasses to supply the initial values of their cached properties.

      Returns {
          castShadows: boolean;
          color: Color;
          innerConeAngle: number;
          intensity: number;
          normalOffsetBias: number;
          outerConeAngle: number;
          penumbraFalloff: number;
          penumbraSize: number;
          range: number;
          shadowBias: number;
          shadowBlockerSamples: number;
          shadowDistance: number;
          shadowIntensity: number;
          shadowResolution: number;
          shadowSamples: number;
          shadowType: number | undefined;
          type: "directional" | "omni" | "spot";
          vsmBias: number;
          vsmBlurSize: number;
      }

      The initial component data.

    • Returns a promise that resolves with this element when it's ready. This is the low-level primitive underlying whenReady, which is the recommended way to wait for elements.

      Readiness tracks the element's current lifecycle: once a ready element is torn down (for example by removing it from the document), this returns a fresh promise that resolves when the element is next ready. A promise obtained earlier stays resolved — call this again after re-inserting an element rather than reusing a promise from before its removal.

      Returns Promise<LightComponentElement>

      A promise that resolves with this element when it's ready.