@model StoryIntelligenceOverviewViewModel @{ ViewData["Title"] = "Ready to analyse manuscript"; }

Step @Model.WizardCurrentStep of @Model.WizardTotalSteps

Ready to Analyse Manuscript

Review the approved manuscript scope before setting final story and portrait context.

@if (TempData["OnboardingStoryIntelligenceError"] is string error) {
@error
} @if (TempData["OnboardingStoryIntelligenceMessage"] is string message) {
@message
} @if (Model.ExistingBatchID.HasValue) {

Analysis has already started

You can continue reviewing progress for the approved chapters.

Continue pipeline
} else {
Chapters @Model.ApprovedChapterCount

Approved chapters from your manuscript review.

Words @Model.ApprovedWordCount.ToString("N0")

Chapter text ready for analysis.

Estimated time @EstimateDuration(Model.ApprovedWordCount)

The analysis runs in the background, so you can leave this page and return later.

Review You approve creation

Scenes are created only after the analysis completes and you choose Create scenes.

@if (!string.IsNullOrWhiteSpace(Model.Message)) {

@Model.Message

@if (Model.MissingChapterTextCount > 0) {

@Model.MissingChapterTextCount chapter(s) do not include scanned text. Scan the manuscript again before analysing.

}
}
1Analyse chapters
2Review scenes
3Review story entities
4Build database
}
@functions { private static string EstimateDuration(int wordCount) { if (wordCount <= 0) { return "A few minutes"; } var minutes = Math.Clamp((int)Math.Ceiling(wordCount / 3000m) * 2, 2, 30); return minutes <= 2 ? "About 2 minutes" : $"About {minutes:N0} minutes"; } }