{
  "schema": "v2.ui.questNotificationToasts.v1",
  "task": "TODOS.phase-72.72.8.2.6",
  "module": "V2UI",
  "dependsOn": [
    "V2/ue/Content/V2/Gameplay/Quests/QuestEvents_V2_Contract.json",
    "V2/ue/Content/V2/UI/Frontend/NotificationToasts_V2_Contract.json",
    "V2/ue/Content/V2/UI/Quest/QuestJournalUI_V2_Contract.json"
  ],
  "header": "V2/ue/Source/V2UI/Public/V2QuestNotificationToasts.h",
  "source": "V2/ue/Source/V2UI/Private/V2QuestNotificationToasts.cpp",
  "automationSpec": "V2/ue/Source/V2Tests/Private/UI/QuestNotificationToasts.spec.cpp",
  "sourceWidget": "UV2QuestNotificationToastWidget",
  "viewModel": "UV2QuestNotificationToastViewModel",
  "catalogId": "Quest.NotificationToasts.V2",
  "existingToastSurfaceId": "Frontend.NotificationToasts",
  "hostScreenId": "NotificationDrawer",
  "destinationScreenId": "ModeSpecific.QuestLog",
  "widgetClassPath": "/Script/V2UI.V2NotificationToastWidget",
  "runtimeEnums": ["EV2QuestNotificationToastType", "EV2UINotificationType"],
  "toastTypes": ["QuestAccepted", "ObjectiveCompleted", "QuestCompleted", "QuestFailed"],
  "notificationTypes": [
    "QuestAccepted",
    "QuestObjectiveCompleted",
    "QuestCompleted",
    "QuestFailed"
  ],
  "runtimeStructs": [
    "FV2QuestNotificationToastContext",
    "FV2QuestNotificationToastTemplate",
    "FV2QuestNotificationToastBuildResult",
    "FV2QuestNotificationToastCatalog"
  ],
  "contextFields": [
    "ToastType",
    "QuestId",
    "ObjectiveId",
    "QuestTitleTextId",
    "ObjectiveTitleTextId",
    "FailureTag",
    "Sequence",
    "bFromUIAudience"
  ],
  "templateFields": [
    "TemplateId",
    "ToastType",
    "NotificationType",
    "Title",
    "Body",
    "IconTag",
    "AccentTag",
    "DestinationScreenId",
    "ActionLabel",
    "Priority",
    "ExpireAfterSeconds",
    "CooldownSeconds",
    "bPersistentInDrawer",
    "bScreenReaderAnnouncement",
    "bControllerNonModal"
  ],
  "catalogFields": [
    "CatalogId",
    "ExistingToastSurfaceId",
    "HostScreenId",
    "WidgetClassPath",
    "Templates",
    "MaxQuestToastBurst",
    "bUseExistingToastSurface",
    "bRouteToQuestJournal",
    "bScreenReaderAnnouncements",
    "bControllerNonModal",
    "bReducedMotionSafe",
    "bNoDecorativeCards"
  ],
  "blueprintHelpers": [
    "ConfigureFromQuestNotificationToastCatalog",
    "BuildQuestNotificationToast",
    "BuildQuestNotificationToastFromEvent",
    "SupportsQuestLifecycleToasts",
    "UsesExistingNotificationToastSurface",
    "ShouldAnnounceQuestToasts",
    "SetQuestNotificationToastCatalog",
    "SetQuestNotificationQueueSnapshot",
    "BuildDefaultQuestNotificationToastCatalog",
    "ValidateQuestNotificationToastCatalog",
    "FindQuestNotificationToastTemplate",
    "QueueQuestNotificationToast",
    "QueueQuestNotificationEvent"
  ],
  "uiPolicy": {
    "questAccepted": true,
    "objectiveCompleted": true,
    "questCompleted": true,
    "questFailed": true,
    "usesExistingToastSurface": true,
    "routesToQuestJournal": true,
    "priorityCooldownQueue": true,
    "screenReaderAnnouncements": true,
    "controllerNonModal": true,
    "reducedMotionSafe": true,
    "noDecorativeCards": true
  },
  "requiredAutomationAssertions": [
    "quest notification toast catalog validates",
    "quest notification toast catalog covers required lifecycle events",
    "quest accepted toast builds notification",
    "objective completed toast builds notification",
    "quest completed toast builds notification",
    "quest failed toast builds notification",
    "quest accepted event maps from state change",
    "objective completed event maps to toast",
    "quest notification widget accepts generated catalog",
    "subsystem queues quest accepted toast",
    "quest notification viewmodel filters quest notifications"
  ],
  "ci": {
    "workflow": ".github/workflows/v2-build.yml",
    "hordeJob": "V2/ue/Build/Horde/v2-buildgraph-job.json",
    "requiredGates": [
      "quest-notification-toasts-source-present",
      "quest-notification-toasts-quest-accepted",
      "quest-notification-toasts-objective-completed",
      "quest-notification-toasts-quest-completed",
      "quest-notification-toasts-quest-failed",
      "quest-notification-toasts-subsystem",
      "quest-notification-toasts-ci-wired"
    ]
  }
}
