@model StoryIntelligenceOverviewViewModel @{ ViewData["Title"] = "Analyse manuscript"; }

Analyse manuscript

Analyse Manuscript

PlotDirector will analyse approved chapters in the background and prepare scene suggestions for review.

@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.

Nothing will be created yet. PlotDirector will prepare scene suggestions for review.

Scenes are reviewed first. Character review follows after scenes are created, with locations, assets, relationships and knowledge shown as upcoming Story Intelligence stages.

@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.

}
}
Back to chapter review
}
@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"; } }