@model StoryIntelligenceExperiencePrototypeViewModel @{ ViewData["Title"] = "Story Intelligence Illustration Diagnostics"; var characters = Model.Scenes.SelectMany(scene => scene.Characters.Select(character => new { Scene = scene, Character = character })).ToList(); var locations = Model.Scenes.Select(scene => new { Scene = scene, Location = scene.Location }).ToList(); var assets = Model.Scenes.SelectMany(scene => scene.Assets.Select(asset => new { Scene = scene, Asset = asset })).ToList(); }

Development diagnostics

Story Intelligence Illustration Diagnostics

Import Session @Model.ImportSessionId · @Model.BookTitle · Snapshot @Model.GeneratedUtc.ToString("yyyy-MM-dd HH:mm:ss") UTC

Characters

@foreach (var row in characters) { }
Scene Identity Illustration Resolved evidence Assignment Demand Candidate diagnostics
@row.Scene.SceneNumber @row.Character.Name
@row.Character.Id
@(row.Character.ImageResolution.StableCode ?? row.Character.LibraryCode)
@row.Character.ImageResolution.Status
Age @Display(row.Character.ImageResolution.ResolvedAgeBand)
Presentation @Display(row.Character.ImageResolution.ResolvedPresentation)
@Display(row.Character.ImageResolution.ReasonChosen)
@Display(row.Character.ImageResolution.IllustrationAllocationStatus)
@Display(row.Character.ImageResolution.DemandStatus)
@Display(row.Character.ImageResolution.RejectedCandidates)

Locations

@foreach (var row in locations) { var type = StoryIntelligenceIllustrationCompatibility.LocationType($"{row.Location.Name} {row.Location.Label}"); }
Scene Location Semantic type Illustration Fallback
@row.Scene.SceneNumber @row.Location.Name
@row.Location.Id
@type @row.Location.LibraryCode
@row.Location.ImageResolution.Status
@row.Location.ImageResolution.FallbackUsed

Assets

@foreach (var row in assets) { var type = StoryIntelligenceIllustrationCompatibility.AssetType($"{row.Asset.Name} {row.Asset.Label}"); }
Scene Asset Semantic type Illustration Fallback
@row.Scene.SceneNumber @row.Asset.Name
@row.Asset.Id
@type @row.Asset.LibraryCode
@row.Asset.ImageResolution.Status
@row.Asset.ImageResolution.FallbackUsed
@functions { private static string Display(string? value) => string.IsNullOrWhiteSpace(value) ? "none" : value; }