StructureTemplates.h header
#include <ew/app/StructureTemplates.h>
Namespace ew::app
StructureBeat struct
struct ew::app::StructureBeat
One beat of a story-structure template: a named story moment with the point in the manuscript it is expected to land (as a percentage) and a one-line note on what it is. A beat sheet maps each of a template's beats to a scene (see ew::core::BeatSheet).
Members
QString ew::app::StructureBeat::name
The name of the beat (e.g. "Catalyst", "Midpoint", "All Is Lost").
double ew::app::StructureBeat::positionPercent = 0.0
The target position of the beat in the story, as a percentage in [0, 100].
QString ew::app::StructureBeat::description
A one-line description of the beat's dramatic purpose.
StructureTemplate struct
struct ew::app::StructureTemplate
A built-in story-structure template – an ordered set of beats a writer can plot against (e.g. three-act, hero's journey, Save the Cat!, the Snowflake method). Templates are read-only reference data; a project records only which template is applied and how its beats map to scenes.
Members
QString ew::app::StructureTemplate::id
The stable id of the template (kebab-case, e.g. "save-the-cat"); referenced by BeatSheet.
QString ew::app::StructureTemplate::name
The display name of the template.
QString ew::app::StructureTemplate::description
A one-line description of the template.
std::vector<StructureBeat> ew::app::StructureTemplate::beats
The template's beats, in story order.
Functions
std::vector< StructureTemplate > ew::app::builtInStructureTemplates()
The catalogue of built-in structure templates: three-act, hero's journey, Save the Cat!, and the Snowflake method. Returned in a stable order for display.
const ew::core::Document * ew::app::documentForBeat(const ew::core::Project &project, const QString &beatName)
The document assigned to the beat named beatName in project's applied beat sheet, or null if the beat is unassigned or its document no longer exists.
const StructureTemplate * ew::app::findStructureTemplate(const QString &id)
The built-in template with id, or null if none matches. The pointer is into a static catalogue and remains valid for the lifetime of the program.
std::vector< StructureBeat > ew::app::unfilledBeats(const ew::core::Project &project, const StructureTemplate &structureTemplate)
The beats of structureTemplate that the project's applied beat sheet leaves unfilled (no assigned scene, or an assignment whose document no longer exists) – the plotting-gap report. Run when the applied template matches structureTemplate; beats are returned in story order.