@model StoryIntelligenceProgressViewModel @{ ViewData["Title"] = "Review Plot Lines & Threads"; } Phase 3 Review Story Intelligence Review Plot Lines & Threads Review recurring narrative arcs and thread candidates from the discovered hierarchy. @if (TempData["OnboardingStoryIntelligenceError"] is string error) { @error } @if (TempData["OnboardingStoryIntelligenceMessage"] is string message) { @message } @if (Model.NarrativeReview.Candidates.Count == 0) { No Plot Line or Thread candidates are waiting. PlotDirector did not find recurring narrative candidates that require approval, or this review has already been completed. Back to Review Centre Mark reviewed } else { @for (var i = 0; i < Model.NarrativeReview.Candidates.Count; i++) { var candidate = Model.NarrativeReview.Candidates[i]; @candidate.ProposedTitle @candidate.CandidateType @(!string.IsNullOrWhiteSpace(candidate.Category) ? $"- {candidate.Category}" : string.Empty) @candidate.Confidence Title Description @candidate.ProposedDescription @if (string.Equals(candidate.CandidateType, StoryIntelligenceNarrativeCandidateTypes.Thread, StringComparison.OrdinalIgnoreCase)) { @if (!string.IsNullOrWhiteSpace(candidate.ParentCandidateTitle)) { Proposed parent: @candidate.ParentCandidateTitle } Existing related Plot Line Choose Plot Line @foreach (var option in Model.NarrativeReview.PlotLineOptions) { @option.Text } Proposed parent Plot Line No proposed parent @foreach (var option in Model.NarrativeReview.CandidatePlotLineOptions) { @option.Text } } Decision Accept new Merge with existing Merge with candidate Reject Existing Plot Line for merge Choose existing Plot Line @foreach (var option in Model.NarrativeReview.PlotLineOptions) { @option.Text } Candidate for merge Choose proposed candidate @foreach (var option in Model.NarrativeReview.Candidates.Where(item => item.NarrativeCandidateID != candidate.NarrativeCandidateID && string.Equals(item.CandidateType, candidate.CandidateType, StringComparison.OrdinalIgnoreCase)).Select(item => new SelectListItem(item.ProposedTitle, item.NarrativeCandidateID.ToString()))) { @option.Text } @if (candidate.ChildThreads.Count > 0) { Suggested child Threads @foreach (var child in candidate.ChildThreads) { @child.ProposedTitle } } Supporting scenes @foreach (var evidence in candidate.Evidence) { @evidence.SceneLabel: @(string.IsNullOrWhiteSpace(evidence.Evidence) ? evidence.ContributionType : evidence.Evidence) } } Back to Review Centre Save Plot Lines & Threads } @section Scripts { }
Phase 3
Review Story Intelligence
Review recurring narrative arcs and thread candidates from the discovered hierarchy.
PlotDirector did not find recurring narrative candidates that require approval, or this review has already been completed.
Proposed parent: @candidate.ParentCandidateTitle