BeatSheet.h header

#include <ew/core/BeatSheet.h>

Namespace ew::core

BeatAssignment struct

struct ew::core::BeatAssignment

One beat of an applied beat sheet: the mapping from a named story beat (e.g. "Catalyst", "All Is Lost") to the scene/document that fulfils it. The beat is named rather than indexed so the mapping stays readable and survives if a structure template's beat order is ever revised.

Members

QString ew::core::BeatAssignment::beatName

The name of the beat, matching a beat in the applied structure template.

ContentId ew::core::BeatAssignment::documentId

The document that fulfils this beat; a null id means the beat is still unfilled (a plotting gap).

bool operator==(const BeatAssignment &, const BeatAssignment &)=default

Two assignments compare equal when the beat name and document match.

BeatSheet struct

struct ew::core::BeatSheet

A project's applied beat sheet: the structure template the writer has chosen to plot against and the scene assigned to each of its beats. The template itself (the ordered list of beats and their target positions) is built-in data in ew::app; this is only the writer's choice of template plus the per-beat scene mapping, so it lives on the project and persists. An empty templateId means no beat sheet has been applied.

Members

QString ew::core::BeatSheet::templateId

The id of the applied structure template (e.g. "save-the-cat"); empty means none applied.

std::vector<BeatAssignment> ew::core::BeatSheet::assignments

The scene assigned to each beat, by beat name. Beats with no entry (or a null document) are unfilled.

bool operator==(const BeatSheet &, const BeatSheet &)=default

Two beat sheets compare equal when the template and every assignment match.