@using System.Text.Json @model StoryIntelligenceExperiencePrototypeViewModel @{ Layout = null; var jsonOptions = new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase }; var statusLabel = Model.Mode switch { "simulation" => "Simulation", "real" when Model.IsTerminal => "Analysis Complete", "real" => "Live Analysis", "error" => "Import Session Error", _ => "Select Import Session" }; var sourceLabel = Model.Mode switch { "simulation" => "Simulation only", "real" => "Real snapshot", "error" => "No live snapshot", _ => "Choose a session" }; var bootModel = Model.Mode == "real" ? new StoryIntelligenceExperiencePrototypeViewModel { Mode = Model.Mode, RunId = Model.RunId, ImportSessionId = Model.ImportSessionId, BookId = Model.BookId, RunStatus = Model.RunStatus, GeneratedUtc = Model.GeneratedUtc, IsTerminal = false, ProjectName = Model.ProjectName, BookTitle = Model.BookTitle, SnapshotMessage = Model.SnapshotMessage, Diagnostics = Model.Diagnostics } : Model; } Story Intelligence Experience Prototype - PlotDirector
PlotDirector Story Intelligence
@statusLabel @Model.ProjectName @Model.BookTitle Preparing Scene 1
@if (Model.Mode == "real" && Model.BookId.HasValue) { Return to Import } else { Simulation }
@if (Model.AvailableRuns.Count > 0) { } @if (!string.IsNullOrWhiteSpace(Model.SnapshotMessage)) { }

Living story view

Reading the manuscript

Characters

Location

Assets

@if (Model.Mode == "simulation") { }
Diagnostics
Current Import ID
@Model.Diagnostics.CurrentImportId
Requested mode
@Model.Diagnostics.RequestedMode
Requested ImportSessionID
@Model.Diagnostics.RequestedImportSessionId
Resolved ImportSessionID
@Model.Diagnostics.ResolvedImportSessionId
Active chapter RunID
@Model.Diagnostics.ActiveChapterRunId
Session status
@Model.Diagnostics.SessionStatus
Overall book progress
@Model.Diagnostics.OverallBookProgress
Authoritative import progress
@Model.Diagnostics.AuthoritativeImportProgress
Calculated visualisation progress
@Model.Diagnostics.CalculatedVisualisationProgress
Total chapters
@Model.Diagnostics.TotalChapters
Completed chapters
@Model.Diagnostics.CompletedChapters
Current chapter
@Model.Diagnostics.CurrentChapter
Current scene
@Model.Diagnostics.CurrentScene
Completed scenes
@Model.Diagnostics.CompletedScenes
Total scenes
@Model.Diagnostics.TotalScenes
Parsed scenes
@Model.Diagnostics.ParsedScenes
Terminal run/session status
@Model.Diagnostics.TerminalRunSessionStatus
Displayed progress reason
@Model.Diagnostics.DisplayedProgressReason
Progress source
@Model.Diagnostics.ProgressSource
Current backend stage
@Model.Diagnostics.CurrentBackendStage
Story Memory character count
@Model.Diagnostics.StoryMemoryCharacterCount
Resolved characters
@Model.Diagnostics.ResolvedCharacterCount
Unresolved characters
@Model.Diagnostics.UnresolvedCharacterCount
Narrator confidence
@Model.Diagnostics.NarratorConfidence
Raw scene POV
@Model.Diagnostics.RawScenePov
Inherited chapter POV
@Model.Diagnostics.InheritedChapterPov
Resolved POV identity
@Model.Diagnostics.ResolvedPovIdentity
POV resolution reason
@Model.Diagnostics.PovResolutionReason
POV confidence
@Model.Diagnostics.PovConfidence
POV change detected
@Model.Diagnostics.PovChangeDetected
Illustration assignments
@Model.Diagnostics.IllustrationAssignmentCount
Illustration changes
@Model.Diagnostics.IllustrationChangeCount
Character consistency report
@Model.Diagnostics.CharacterConsistencyReport
Current polling interval
Initial
Latest snapshot age
Initial
Snapshot source
@Model.Diagnostics.SnapshotSource
Current Snapshot Version
0
Previous Snapshot Version
0
Change Token
@Model.ChangeToken
Animation Queue Length
0
Last Refresh Time
Initial
Snapshot Build Time
0ms
Operations detected
InitialRender
Run status
@Model.Diagnostics.RunStatus
Persisted completed scenes
@Model.Diagnostics.PersistedCompletedSceneCount
Total persisted scene results
@Model.Diagnostics.TotalPersistedSceneResultCount
Successfully parsed scene results
@Model.Diagnostics.SuccessfullyParsedSceneResultCount
Failed/unparseable scene results
@Model.Diagnostics.FailedSceneResultCount
Highest persisted SceneResultID
@Model.Diagnostics.HighestPersistedSceneResultId
Highest parsed SceneResultID
@Model.Diagnostics.HighestParsedSceneResultId
Selected current SceneResultID
@Model.Diagnostics.SelectedCurrentSceneResultId
Selected chapter and scene order
@Model.Diagnostics.SelectedChapterAndSceneOrder
Analysis cursor
@Model.Diagnostics.AnalysisCursor
Snapshot warning
@Model.Diagnostics.Warning
Last successful snapshot fetch
Initial
Last snapshot HTTP status
Initial
Consecutive unchanged polls
0
Consecutive failed polls
0
Polling
Initialising
Polling stopped reason
none