ProjectFacet.h header
#include <ew/core/ProjectFacet.h>
Namespace ew::core
Enumerations
enum class ProjectFacet { Audiences, DefaultAudiences, BeatSheet, Cast, Calendar, CodexArrangement, Reckonings, ContinuityRules, EntityTemplates, LibraryMounts, PlotThreads, PropertyBlocks, PropertyMigrationAnswer, RunConfigurations, SavedSearches, Terminology, TimelineBookmarks, TimelineEras, TimelineMarkers, TimelineViewPresets, TimelineViewSettings, Translations, Variables, WritingGoal }
A piece of project-level state that has no identity of its own.
Most edits are about an object the project contains, named by a ContentId, or about a taxonomy category, named by a CategoryId. Seventeen are about neither: they replace a collection or a setting that belongs to the project itself, and there is no id to point at because the project is the container the ids live in. This enum gives those edits a subject, so an operation journal can say what changed and a policy check can ask whether it was allowed.
Each value names the state, not the command that happens to write it today, so a second writer of the same state reuses the value rather than adding one.
Serialized as a stable kebab-case token, so a journal written by one build reads back in the next; a token may never be renamed once shipped, even if its enumerator is. Switches over this enum deliberately omit a default: label: C4062 is enabled (see EwCompilerWarnings.cmake), so adding a value here fails the build at every switch that has not handled it – which is how toToken guarantees no facet can be added without a token.
Functions
std::vector< ProjectFacet > ew::core::foundation::allProjectFacets()
Every project facet, in declaration order. Lets a test walk the whole enum rather than a hand-copied list that would silently miss a newly added value.
std::optional< ProjectFacet > ew::core::foundation::projectFacetFromToken(QStringView token)
Parses a project facet from its serialization token; std::nullopt if unrecognized or absent.
QString ew::core::foundation::toToken(ProjectFacet facet)
Returns the stable serialization token for facet (e.g. "calendar", "writing-goal").