ScreenplayBreakdown.h header
#include <ew/app/ScreenplayBreakdown.h>
Namespace ew::app
SceneBreakdown struct
struct ew::app::SceneBreakdown
The production breakdown of one scene: its slug parsed into environment, location, and time, plus the cast that appears (speaking characters, in first-appearance order).
Members
int ew::app::SceneBreakdown::number = 0
1-based scene number, in script order.
QString ew::app::SceneBreakdown::heading
The full scene heading (slug line).
QString ew::app::SceneBreakdown::location
The location (the setting portion of the slug, between the INT./EXT. prefix and the time).
SceneEnvironment ew::app::SceneBreakdown::environment =
Interior, exterior, both, or unknown.
SceneTime ew::app::SceneBreakdown::time =
Day, night, other, or unknown.
std::vector<QString> ew::app::SceneBreakdown::cast
The characters who speak in the scene, in first-appearance order, deduplicated.
bool operator==(const SceneBreakdown &, const SceneBreakdown &)=default
Breakdowns compare equal when every field matches.
Enumerations
enum class SceneEnvironment { Interior, Exterior, Mixed, Unknown }
Where a scene takes place relative to a building – the INT./EXT. axis of a slug line. Drives a stripboard's colour and a production's day/night interior/exterior scheduling.
enum class SceneTime { Day, Night, Other, Unknown }
The time-of-day a scene plays at, taken from the tail of the slug line.
Functions
QString ew::app::sceneEnvironmentLabel(SceneEnvironment environment)
A short label for environment ("INT", "EXT", "INT/EXT", or "" for unknown).
QString ew::app::sceneTimeLabel(SceneTime time)
A short label for time ("Day", "Night", "Other", or "" for unknown).
std::vector< SceneBreakdown > ew::app::screenplayBreakdown(const std::vector< ScreenplayElement > &elements)
Builds a production breakdown for a parsed screenplay: one entry per scene, with its slug parsed into environment/location/time and its appearing cast collected from the character cues between that scene heading and the next.