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.