• Build the sohl.entity.event.SohlTriggerContext for a scene darkness change, or undefined when the updateScene payload did not touch the darkness level (the caller then does nothing). Pure: it inspects only the changed diff Foundry hands the hook.

    darknessLevel is an AlphaField (0–1), so a change to 0 is a real event, not absence — the check is !== undefined, never falsy.

    Parameters

    • sceneUuid: string

      UUID of the scene that changed.

    • changed:
          | undefined
          | {
              environment?: { darknessLevel?: number; [key: string]: unknown };
              [key: string]: unknown;
          }

      The updateScene change diff.

      • undefined
      • {
            environment?: { darknessLevel?: number; [key: string]: unknown };
            [key: string]: unknown;
        }
        • [key: string]: unknown
        • Optionalenvironment?: { darknessLevel?: number; [key: string]: unknown }

          The scene's environment sub-document diff, if changed.

          • OptionaldarknessLevel?: number

            The new darkness level (0–1), if it changed.

    Returns
        | {
            darkness: number;
            name: typeof SCENE_DARKNESS_TRIGGER;
            sceneUuid: string;
        }
        | undefined

    The darkness trigger context, or undefined if darkness is unchanged.