@model StoryIntelligenceProgressViewModel @{ ViewData["Title"] = "Review locations"; } Review Story Intelligence Review Locations Approve the places PlotDirector should create or link from your imported scenes. Nothing is created unless you approve it. @if (TempData["OnboardingStoryIntelligenceError"] is string error) { @error } @if (TempData["OnboardingStoryIntelligenceMessage"] is string message) { @message } @if (Model.LocationReview.Candidates.Count == 0) { No location decisions are waiting. Locations are already up to date, or there were no location suggestions ready to import. Review AssetsNext @FutureStage("Review Relationships") @FutureStage("Review Knowledge") @FutureStage("Review Continuity") Back to characters Continue } else { Approve all Approve selected Ignore selected Expand all Collapse all @for (var i = 0; i < Model.LocationReview.Candidates.Count; i++) { var candidate = Model.LocationReview.Candidates[i]; @candidate.LocationName @candidate.Category ยท @candidate.AppearsInScenes.ToString("N0") scene@(candidate.AppearsInScenes == 1 ? string.Empty : "s") @candidate.Confidence First appearance@Display(candidate.ExampleFirstAppearance) Parent hint@Display(candidate.ParentLocationHint) Existing match@(candidate.ExistingLocationName ?? "None") @if (!string.IsNullOrWhiteSpace(candidate.ExampleContext)) { Scene context @candidate.ExampleContext } @if (candidate.IsExistingMatch) { Possible existing location @candidate.LocationName may already be @candidate.ExistingLocationName. Choose whether to link them or create a separate location. } Decision @(candidate.IsExistingMatch ? "Link to existing" : "Create new location") @if (candidate.IsExistingMatch) { Create separate location } Alias/variant of another location Ignore Import name Alias/variant target Choose location... @foreach (var target in Model.LocationReview.Candidates.Where(target => !string.Equals(target.Key, candidate.Key, StringComparison.OrdinalIgnoreCase))) { @target.LocationName@(target.IsExistingMatch ? $" -> {target.ExistingLocationName}" : string.Empty) } } Back to characters Create locations } @section Scripts { } @functions { private static string Display(string? value) => string.IsNullOrWhiteSpace(value) ? "Not detected" : value; private static Microsoft.AspNetCore.Html.IHtmlContent FutureStage(string label) => new Microsoft.AspNetCore.Html.HtmlString($"{System.Net.WebUtility.HtmlEncode(label)}Coming Soon"); }
Review Story Intelligence
Approve the places PlotDirector should create or link from your imported scenes. Nothing is created unless you approve it.
Locations are already up to date, or there were no location suggestions ready to import.
@candidate.ExampleContext
@candidate.LocationName may already be @candidate.ExistingLocationName. Choose whether to link them or create a separate location.