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

@Model.SelectedBookTitle

Analyse chapters with Story Intelligence

PlotDirector can now analyse your manuscript to identify scenes and begin understanding your story.

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

Review scenes
} 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.

It will extract scene summaries, scene purpose, characters, locations, assets, relationships, timeline clues and story observations.

For this step, only scenes are created in PlotDirector. The other discoveries are prepared for later review 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.

}
}
}
@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"; } }