Phase 3L Help System Plots and Threads

This commit is contained in:
Nick Beckley 2026-06-06 13:08:53 +01:00
parent b76811a3d4
commit bc4da6dc84
19 changed files with 325 additions and 16 deletions

View File

@ -0,0 +1,39 @@
---
title: Create or Edit a Plot Line
category: Plot Lines
tags: plot lines, editing, mysteries, promises, continuity
contextKey: plotLines.edit
micro: Define a larger story question, promise, mystery or arc.
quickTitle: What belongs in a Plot Line?
quickSummary: Use a Plot Line for a larger unresolved story concern that needs tracking across scenes, chapters, books or a series.
screenshot:
---
# Overview
Create a Plot Line when the story has a larger question, promise, arc or unresolved concern that you want to follow over time. Good Plot Lines are usually bigger than one scene note. They shape reader expectation, connect multiple scenes or support long-form continuity.
Use the form to name the line clearly, choose its type and scope, decide whether it is a main plot, and control whether it appears in timeline planning views.
# When To Track Something
Track a Plot Line when forgetting it would weaken the story: a mystery that needs fair clues, a promise that needs payoff, an emotional arc that needs visible movement, or foreshadowing that should not vanish after setup.
If the concern is a smaller strand inside a larger arc, create a Plot Thread under the Plot Line instead.
# Understanding the Fields
| Field | What it means | Example |
| --- | --- | --- |
| Type | The kind of larger story lane this is. | Mystery, emotional arc, relationship arc or object trail. |
| Book / scope | Whether the line belongs to one book or the whole project. | Project-wide for a series mystery; one book for a local subplot. |
| Parent plot line | A larger Plot Line this one sits beneath. | A relationship arc inside a wider family mystery. |
| Main plot | Marks this as central to the project's main story drive. | The central mystery or protagonist arc. |
| Visible on timeline | Controls whether this line appears in planning/timeline displays. | Hide a background theme; show a mystery lane you actively track. |
# Related Guides
- [Plot Lines](/Help/Article/plotLines.index)
- [Edit Plot Thread](/Help/Article/plotThreads.edit)
- [Scenes](/Help/Article/scenes.overview)
- [Story Assets](/Help/Article/storyAssets.overview)

View File

@ -0,0 +1,16 @@
---
title: Main Plot
category: Plot Lines
tags: plot lines, fields, main plot
contextKey: plotLines.fields.mainPlot
micro: Mark whether this Plot Line is central to the story's main drive.
quickTitle: Main plot
quickSummary: Main Plot identifies the story lane that most strongly drives reader expectation and major progression.
screenshot:
---
# Main Plot
Turn this on when the Plot Line is central to the story's main drive. This might be the central mystery, the protagonist's primary arc or the promise readers most expect the book to answer.
Leave it off for side plots, supporting arcs and background concerns.

View File

@ -0,0 +1,16 @@
---
title: Parent Plot Line
category: Plot Lines
tags: plot lines, fields, hierarchy
contextKey: plotLines.fields.parentPlotLine
micro: Link this Plot Line under a larger story lane.
quickTitle: Parent plot line
quickSummary: Parent Plot Line lets one larger story concern sit underneath another.
screenshot:
---
# Parent Plot Line
Use Parent Plot Line when this Plot Line belongs under a larger one. This is useful when a story has a broad mystery with several large sub-arcs.
If the item is only a small strand, clue or promise, a Plot Thread may be a better fit than a child Plot Line.

View File

@ -0,0 +1,16 @@
---
title: Plot Line Book / Scope
category: Plot Lines
tags: plot lines, fields, book, scope
contextKey: plotLines.fields.scope
micro: Choose whether this Plot Line belongs to one book or the whole project.
quickTitle: Book / scope
quickSummary: Book / scope controls whether a Plot Line is tied to a specific book or treated as project-wide.
screenshot:
---
# Book / Scope
Choose a book when the Plot Line belongs mainly to that book. Leave it project-wide when it spans multiple books, affects the whole series, or should remain visible as a long-running story concern.
For example, a local investigation may belong to Book 1, while a family secret may run across the series.

View File

@ -0,0 +1,16 @@
---
title: Plot Line Type
category: Plot Lines
tags: plot lines, fields, type
contextKey: plotLines.fields.type
micro: Choose the kind of larger story lane you are tracking.
quickTitle: Type
quickSummary: Type helps separate mysteries, emotional arcs, relationship arcs, object trails and other plot line kinds.
screenshot:
---
# Type
Choose the kind of larger story lane this Plot Line represents. Use the app's existing options, such as Main Plot, Side Plot, Mystery, Emotional Arc, Relationship Arc, Character Arc, Object Trail, Investigation, Location Plot or Theme.
This helps you scan lists and reports by the role the Plot Line plays in the story.

View File

@ -0,0 +1,16 @@
---
title: Plot Line Visibility
category: Plot Lines
tags: plot lines, fields, visibility, timeline
contextKey: plotLines.fields.visibility
micro: Choose whether this Plot Line appears in timeline planning views.
quickTitle: Visible on timeline
quickSummary: Visibility controls whether the Plot Line appears in timeline and planning displays.
screenshot:
---
# Visible On Timeline
Turn this on when you want the Plot Line visible in planning displays, especially while checking setup, development and payoff across scenes.
Turn it off for background themes or dormant lines that you want to keep in the project without crowding the timeline.

View File

@ -0,0 +1,30 @@
---
title: Plot Lines
category: Plot Lines
tags: plot lines, mysteries, promises, arcs, continuity
contextKey: plotLines.index
micro: Review the larger story questions, promises and arcs you are tracking.
quickTitle: What are Plot Lines?
quickSummary: Plot Lines are larger story questions, promises, mysteries, arcs or unresolved concerns that may run across chapters, books or a series.
screenshot:
---
# Overview
Plot Lines are the larger story questions, promises, mysteries, arcs or unresolved concerns you want to track. They can cover a main mystery, a relationship arc, a character's emotional journey, a trail of foreshadowing or a question that spans multiple books.
Use the Plot Lines list to review the big strands your story has opened. It helps you see what is visible on the timeline, what belongs to one book or the whole project, and which lines may need threads, scenes, clues, reveals or payoffs.
# Plot Lines And Plot Threads
A Plot Line is the broad lane. A Plot Thread is a smaller connected strand inside or around that lane. For example, the Plot Line might be "Who killed Annie?" while threads might track the memory tin, the wedding photo, the false suicide theory or a suspect's interference.
# Writer Tip
If readers are waiting for an answer, payoff or emotional turn, it probably deserves a Plot Line or a Plot Thread. Tracking it here helps prevent dropped promises during drafting and revision.
# Related Guides
- [Edit Plot Line](/Help/Article/plotLines.edit)
- [Plot Threads](/Help/Article/plotThreads.index)
- [Scenes](/Help/Article/scenes.overview)

View File

@ -0,0 +1,38 @@
---
title: Create or Edit a Plot Thread
category: Plot Lines
tags: plot threads, editing, clues, subplots, continuity
contextKey: plotThreads.edit
micro: Define a smaller strand that supports or complicates a larger Plot Line.
quickTitle: What belongs in a Plot Thread?
quickSummary: Use a Plot Thread for a smaller clue chain, subplot strand, question, promise or payoff path inside a larger Plot Line.
screenshot:
---
# Overview
Create a Plot Thread when a larger Plot Line needs a smaller strand you can follow through scenes. A thread might be a clue chain, a suspect theory, an emotional complication, a promise, a secret or a subplot beat that needs setup and payoff.
Threads help revision because they make smaller story material visible. You can check whether a thread starts clearly, develops enough, disappears for too long or resolves in the right scene.
# When To Use A Thread
Use a thread instead of a note when the strand needs tracking across more than one moment. If it has a beginning, development and payoff, it probably deserves a thread.
# Understanding the Fields
| Field | What it means | Example |
| --- | --- | --- |
| Plot line | The larger story lane this thread supports. | "Who killed Annie?" |
| Type | The kind of strand being tracked. | Question, clue, suspicion, promise or secret. |
| Status | The current state of the thread. | Planned, Introduced, Developing, Dormant, Ready For Payoff, Resolved or Abandoned. |
| Importance | How much the thread matters within the wider story. | 9 for a major clue; 3 for a small atmospheric promise. |
| Introduced scene | Where the reader first encounters the thread. | The scene where the key is noticed. |
| Resolution scenes | Where the thread is planned to pay off and where it actually pays off. | Planned in Chapter 20, actually resolved in Chapter 22. |
# Related Guides
- [Plot Threads](/Help/Article/plotThreads.index)
- [Edit Plot Line](/Help/Article/plotLines.edit)
- [Scenes](/Help/Article/scenes.overview)
- [Story Assets](/Help/Article/storyAssets.overview)

View File

@ -0,0 +1,16 @@
---
title: Plot Thread Importance
category: Plot Lines
tags: plot threads, fields, importance
contextKey: plotThreads.fields.importance
micro: Set how significant this thread is within the wider story.
quickTitle: Importance
quickSummary: Importance helps you spot major unresolved threads before they are dropped or underdeveloped.
screenshot:
---
# Importance
Set how significant this thread is within the wider story. High importance means the thread strongly affects reader expectation, plot progression or a major character arc. Low importance suits smaller texture, atmosphere or supporting continuity.
During revision, high-importance open threads deserve special attention.

View File

@ -0,0 +1,16 @@
---
title: Introduced Scene
category: Plot Lines
tags: plot threads, fields, scenes, setup
contextKey: plotThreads.fields.introducedScene
micro: Choose where the thread first appears for the reader.
quickTitle: Introduced scene
quickSummary: Introduced Scene marks the first scene where the thread is set up or becomes visible.
screenshot:
---
# Introduced Scene
Choose the scene where this thread first appears for the reader. This might be where a clue is found, a promise is made, a suspicion begins or an emotional issue becomes visible.
This helps you check whether the setup happens early enough for the eventual payoff to feel earned.

View File

@ -0,0 +1,16 @@
---
title: Thread Plot Line
category: Plot Lines
tags: plot threads, fields, plot lines
contextKey: plotThreads.fields.parentPlotLine
micro: Link this thread to the larger Plot Line it supports.
quickTitle: Plot line
quickSummary: The Plot Line field links a thread to the larger story question, promise or arc it belongs to.
screenshot:
---
# Plot Line
Choose the larger Plot Line this thread supports. This keeps smaller strands connected to the bigger story promise.
For example, a "wedding photo" thread might belong under a larger "Who killed Annie?" Plot Line.

View File

@ -0,0 +1,16 @@
---
title: Thread Resolution
category: Plot Lines
tags: plot threads, fields, resolution, payoff
contextKey: plotThreads.fields.resolution
micro: Choose where the thread is planned to pay off or actually resolves.
quickTitle: Resolution scene
quickSummary: Resolution fields track where a thread is intended to be answered and where it actually pays off.
screenshot:
---
# Resolution Scene
Use the planned resolution scene for your intended payoff, reveal or answer. Use the actual resolution scene when the thread is truly resolved in the manuscript.
These fields help you compare plan against draft reality and catch threads that were set up but never paid off.

View File

@ -0,0 +1,16 @@
---
title: Plot Thread Status
category: Plot Lines
tags: plot threads, fields, status
contextKey: plotThreads.fields.status
micro: Set the current state of this thread.
quickTitle: Status
quickSummary: Status shows whether a thread is planned, introduced, developing, dormant, ready for payoff, resolved or abandoned.
screenshot:
---
# Status
Choose the current state of the thread using the app's existing statuses: Planned, Introduced, Developing, Dormant, Ready For Payoff, Resolved or Abandoned.
Use status to separate threads still creating reader expectation from threads that have already paid off or been deliberately dropped.

View File

@ -0,0 +1,16 @@
---
title: Plot Thread Type
category: Plot Lines
tags: plot threads, fields, type
contextKey: plotThreads.fields.type
micro: Choose the kind of strand this thread tracks.
quickTitle: Type
quickSummary: Type helps separate questions, clues, suspicions, promises, secrets and other thread kinds.
screenshot:
---
# Type
Choose the kind of strand this thread tracks. Use the app's existing options, such as Question, Clue, Mystery, Suspicion, Promise, Threat, Emotional Issue, Relationship Issue, Secret, Continuity Item or Payoff Setup.
This helps you scan the thread list by the role each strand plays.

View File

@ -0,0 +1,26 @@
---
title: Plot Threads
category: Plot Lines
tags: plot threads, plot lines, clues, payoffs, continuity
contextKey: plotThreads.index
micro: Review the smaller story strands that sit within larger Plot Lines.
quickTitle: What are Plot Threads?
quickSummary: Plot Threads are smaller connected strands that support, complicate or track part of a larger Plot Line.
screenshot:
---
# Overview
Plot Threads are smaller connected story strands. They sit within, support or complicate a larger Plot Line. If the Plot Line is the broad lane, the thread is a specific clue, promise, suspicion, reveal path or subplot strand inside it.
Use the Plot Threads list to review the strands currently open, developing, dormant or resolved. This helps you see whether clues and promises have enough setup, whether a subplot has disappeared, and whether payoffs are still waiting.
# Example
A Plot Line might be "Who killed Annie?" Plot Threads might include the memory tin, the wedding photo, the false suicide theory, Simon Jones or Sophie's interference.
# Related Guides
- [Plot Lines](/Help/Article/plotLines.index)
- [Edit Plot Thread](/Help/Article/plotThreads.edit)
- [Story Assets](/Help/Article/storyAssets.overview)

View File

@ -6,7 +6,7 @@
<div class="page-heading compact">
<div>
<p class="eyebrow">@Model.Project?.ProjectName</p>
<h1>@ViewData["Title"]</h1>
<h1>@ViewData["Title"] <help-icon key="plotLines.edit" /></h1>
</div>
<div class="button-row">
<a class="btn btn-outline-secondary" asp-action="Index" asp-route-projectId="@Model.ProjectID">Back to plot lines</a>
@ -32,17 +32,17 @@
<span asp-validation-for="PlotLineName" class="text-danger"></span>
</div>
<div class="col-md-4">
<label asp-for="PlotLineTypeID" class="form-label"></label>
<label asp-for="PlotLineTypeID" class="form-label">Type <help-icon key="plotLines.fields.type" mode="inline" /></label>
<select asp-for="PlotLineTypeID" asp-items="Model.PlotLineTypes" class="form-select"></select>
</div>
<div class="col-md-4">
<label asp-for="BookID" class="form-label"></label>
<label asp-for="BookID" class="form-label">Book / scope <help-icon key="plotLines.fields.scope" mode="inline" /></label>
<select asp-for="BookID" asp-items="Model.BookOptions" class="form-select">
<option value="">Project-wide</option>
</select>
</div>
<div class="col-md-4">
<label asp-for="ParentPlotLineID" class="form-label"></label>
<label asp-for="ParentPlotLineID" class="form-label">Parent plot line <help-icon key="plotLines.fields.parentPlotLine" mode="inline" /></label>
<select asp-for="ParentPlotLineID" asp-items="Model.ParentPlotLineOptions" class="form-select">
<option value="">None</option>
</select>
@ -62,13 +62,13 @@
<div class="col-md-4">
<label class="purpose-check">
<input asp-for="IsMainPlot" />
<span>Main plot</span>
<span>Main plot <help-icon key="plotLines.fields.mainPlot" mode="inline" /></span>
</label>
</div>
<div class="col-md-4">
<label class="purpose-check">
<input asp-for="IsVisibleOnTimeline" />
<span>Visible on timeline</span>
<span>Visible on timeline <help-icon key="plotLines.fields.visibility" mode="inline" /></span>
</label>
</div>
</div>

View File

@ -17,7 +17,7 @@
<div class="page-heading">
<div>
<p class="eyebrow"><a asp-controller="Projects" asp-action="Details" asp-route-id="@Model.Project.ProjectID">@Model.Project.ProjectName</a></p>
<h1>Plot lines <help-icon key="timeline.plotLines" /></h1>
<h1>Plot lines <help-icon key="plotLines.index" /></h1>
</div>
<div class="button-row">
<a class="btn btn-outline-primary" asp-controller="Timeline" asp-action="Index" asp-route-projectId="@Model.Project.ProjectID">Timeline</a>

View File

@ -6,7 +6,7 @@
<div class="page-heading compact">
<div>
<p class="eyebrow">@Model.Project?.ProjectName</p>
<h1>@ViewData["Title"]</h1>
<h1>@ViewData["Title"] <help-icon key="plotThreads.edit" /></h1>
</div>
<div class="button-row">
<a class="btn btn-outline-secondary" asp-action="Index" asp-route-projectId="@Model.ProjectID">Back to plot threads</a>
@ -27,7 +27,7 @@
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="row g-3">
<div class="col-md-6">
<label asp-for="PlotLineID" class="form-label"></label>
<label asp-for="PlotLineID" class="form-label">Plot line <help-icon key="plotThreads.fields.parentPlotLine" mode="inline" /></label>
<select asp-for="PlotLineID" asp-items="Model.PlotLineOptions" class="form-select"></select>
</div>
<div class="col-md-6">
@ -36,15 +36,15 @@
<span asp-validation-for="ThreadTitle" class="text-danger"></span>
</div>
<div class="col-md-4">
<label asp-for="ThreadTypeID" class="form-label"></label>
<label asp-for="ThreadTypeID" class="form-label">Type <help-icon key="plotThreads.fields.type" mode="inline" /></label>
<select asp-for="ThreadTypeID" asp-items="Model.ThreadTypeOptions" class="form-select"></select>
</div>
<div class="col-md-4">
<label asp-for="ThreadStatusID" class="form-label"></label>
<label asp-for="ThreadStatusID" class="form-label">Status <help-icon key="plotThreads.fields.status" mode="inline" /></label>
<select asp-for="ThreadStatusID" asp-items="Model.ThreadStatusOptions" class="form-select"></select>
</div>
<div class="col-md-4">
<label asp-for="Importance" class="form-label"></label>
<label asp-for="Importance" class="form-label">Importance <help-icon key="plotThreads.fields.importance" mode="inline" /></label>
<input asp-for="Importance" type="number" min="1" max="10" class="form-control" />
</div>
<div class="col-12">
@ -52,19 +52,19 @@
<textarea asp-for="Summary" class="form-control" rows="4"></textarea>
</div>
<div class="col-md-4">
<label asp-for="IntroducedSceneID" class="form-label"></label>
<label asp-for="IntroducedSceneID" class="form-label">Introduced scene <help-icon key="plotThreads.fields.introducedScene" mode="inline" /></label>
<select asp-for="IntroducedSceneID" asp-items="Model.SceneOptions" class="form-select">
<option value="">Not set</option>
</select>
</div>
<div class="col-md-4">
<label asp-for="PlannedResolutionSceneID" class="form-label"></label>
<label asp-for="PlannedResolutionSceneID" class="form-label">Planned resolution scene <help-icon key="plotThreads.fields.resolution" mode="inline" /></label>
<select asp-for="PlannedResolutionSceneID" asp-items="Model.SceneOptions" class="form-select">
<option value="">Not set</option>
</select>
</div>
<div class="col-md-4">
<label asp-for="ActualResolutionSceneID" class="form-label"></label>
<label asp-for="ActualResolutionSceneID" class="form-label">Actual resolution scene <help-icon key="plotThreads.fields.resolution" mode="inline" /></label>
<select asp-for="ActualResolutionSceneID" asp-items="Model.SceneOptions" class="form-select">
<option value="">Not set</option>
</select>

View File

@ -19,7 +19,7 @@
<div class="page-heading">
<div>
<p class="eyebrow"><a asp-controller="Projects" asp-action="Details" asp-route-id="@Model.Project.ProjectID">@Model.Project.ProjectName</a></p>
<h1>Plot threads <help-icon key="plotThreads.overview" /></h1>
<h1>Plot threads <help-icon key="plotThreads.index" /></h1>
</div>
<div class="button-row">
<a class="btn btn-outline-primary" asp-controller="Timeline" asp-action="Index" asp-route-projectId="@Model.Project.ProjectID">Timeline</a>