42 lines
1.6 KiB
Plaintext

@model StoryDynamicsViewModel
@{
ViewData["Title"] = "Story Dynamics";
}
<div class="page-heading">
<div>
<p class="eyebrow">Story Dynamics</p>
<h1>@Model.Project.ProjectName <help-icon key="storyDynamics.overview" /></h1>
<p class="lead-text">Character pairings, neglected arcs, abrupt transitions, knowledge jumps, and advisory continuity signals.</p>
</div>
<form asp-action="RunChecks" method="post">
<input type="hidden" name="projectId" value="@Model.Project.ProjectID" />
<button class="btn btn-primary" type="submit">Run dynamics checks</button>
</form>
</div>
<partial name="_DynamicsIssues" model="Model.Issues" />
<section class="story-bible-section">
<div class="story-bible-section-heading">
<div>
<p class="eyebrow">Pairing Heatmap</p>
<h2>Character Pairings</h2>
</div>
<span class="soft-count">@Model.Pairings.Count pairings</span>
</div>
<div class="story-bible-grid story-bible-grid-compact">
@foreach (var pairing in Model.Pairings)
{
<article class="story-bible-card">
<div class="story-bible-card-title">
<h3>@pairing.CharacterAName + @pairing.CharacterBName</h3>
<span>@pairing.SharedSceneCount scenes</span>
</div>
<p class="muted">First: @(pairing.FirstSceneLabel ?? "Not placed")</p>
<p class="muted">Last: @(pairing.LastSceneLabel ?? "Not placed")</p>
</article>
}
</div>
</section>