Skip to content

Glossary

What follows is an alphabetized glossary of terms defined in this reference.

Each entry below links to the section where the term is introduced.

Action
A construct specifying something a character can do in the storyworld. See Actions.
Action body
The fields that make up an action definition. See Action body.
Action header
The portion of an action definition that declares its name, markers, and inheritance. See Action header.
Action name
The unique identifier for an action definition. See Action name.
Action search
An expression that searches over a character’s memories or the chronicle, optionally filtered by a query. See Action searches.
Action targeting
The runtime process of determining whether an action can be performed. See Action targeting.
Adapter
The interface through which the host application exposes read–write capabilities to the Viv runtime. See Introduction.
Arithmetic expression
An expression applying a binary arithmetic operator. See Arithmetic expressions.
Assignment expression
An expression that modifies a value in the host application. See Assignment expressions.
Associations
Per-character tag-like annotations attached to an action memory. See Associations.
Binding entry
A mapping from a role reference to an expression in a bindings block. See Binding entries.
Bindings
Precast role values supplied to a targeted construct. See Bindings.
Boolean literals
The values true and false. See Booleans.
Casting pool
The set of candidates from which a role is cast. See Casting pool.
Casting-pool directive
A role field specifying a custom casting pool. See Casting pool.
Chance expression
An expression that evaluates to true with a specified probability. See Chance expressions.
Child action
An action that inherits from a parent action. See Inheritance.
Chronicle
The complete record of all actions performed in a simulation. See Search domains.
Comment
Text introduced with // that is ignored by the grammar. See Comments.
Concatenated source
The result of merging all included files into a single logical source. See Concatenated source.
Conditional
An if/elif/else/end control-flow construct. See Conditionals.
Constants
Tokens with special fixed values. See Constants.
Content bundle
The compiled JSON artifact consumed by a Viv runtime. See Compiler output.
Custom function call
An invocation of a host-application function via the ~ operator. See Custom function calls.
Dehydration
The conversion of entity data to entity IDs before passing values across boundaries. See Dehydration.
Embargo
A declaration constraining the subsequent performance of an action. See Embargoes.
Entity
Anything in the storyworld with a persistent identity managed by the host application. See Entities.
Entity ID
A unique string identifier for an entity, provisioned by the host application. See Entities.
Entity view
The data object furnished by the host application for a given entity. See Entities.
Enum literal
An identifier preceded by #, representing a named value. See Enums.
Evaluation context
The set of bindings and state available during expression evaluation. See Evaluation context.
Expression
A construct that evaluates to a value. See Expressions.
Fail-safe marker
The ? token, which causes missing values to yield null rather than errors. See Fail-safe marker.
General action
An action that may be targeted anytime (not reserved). See Reserved marker.
Global condition
A condition that references no roles and is tested before role casting. See Condition grouping.
Gloss
A brief string or template string describing an action instance. See Gloss.
Group role
A role with a slots maximum greater than one. See Group roles.
Group-role decorator
The * token appended to a role reference to mark it as a group role. See Group-role decorator.
Hearer (@hearer)
A special role reference bound to the character hearing about an action after the fact, via knowledge relaying. See Evaluation context.
Host application
The project (typically a videogame) that integrates the Viv runtime. See Introduction.
Identifier
An author-defined name for a construct, role, or variable. See Identifiers.
Include
A statement that imports constructs from another Viv source file. See Includes.
Inheritance
The mechanism by which a child action incorporates material from a parent action. See Inheritance.
Inscription
An expression that records knowledge of an action onto an item. See Inscriptions.
Inspection
An expression that causes a character to learn about actions inscribed on an item. See Inspections.
Joinable
A field that may be merged (rather than overridden) during inheritance. See Field joinability.
Keywords
Tokens with special meaning in the grammar. See Keywords.
List literal
An ordered sequence of expressions in brackets. See Lists.
Local variable
A variable scoped to a single block, prefixed with _. See Local variables.
Logical expression
An expression combining tests with && and ||. See Logical expressions.
Loop
A loop/as/end iteration construct. See Loops.
Metadata
Version and validation data in the content bundle. See Metadata.
Null literal
The value null. See Null.
Number literal
A decimal integer or fraction. See Numbers.
Numeric criterion
A threshold test on a numeric value in a query. See Numeric criteria.
Object literal
Key–value pairs in a JavaScript-like notation. See Objects.
Operators
Tokens that perform computations or comparisons. See Operators.
Optional role
A role with a slots minimum of zero. See Slots range.
Optional slot
A slot beyond the minimum that may or may not be filled. See Slots range.
Orderless
The property that constructs in a source file have no meaningful order. See Source units are orderless.
Parent action
An action from which a child action inherits. See Inheritance.
Plan
A multi-phase sequence of coordinated reactions. See Plans.
Plan instruction
A building block of a plan phase. See Plan instructions.
Plan phase
A named stage in a plan, prefixed with >. See Phases.
Positional binding
A sugared binding matched to roles by position rather than name. See Positional bindings.
Query
A pattern for searching over recorded action instances. See Queries.
Reaction
A declaration that queues a construct for future execution. See Reactions.
Reaction window
A plan construct that groups instructions with a completion policy. See Reaction windows.
Reference
The primary way to name and access a role binding or variable. See References.
Reference path
A chain of property, pointer, or lookup accesses extending a reference. See Reference paths.
Relational expression
An expression comparing two operands. See Relational operators.
Report
A longer string or template string describing an action instance. See Report.
Required slot
A slot that must be filled for targeting to succeed. See Slots range.
Reserved action
An action that may only be targeted via a reaction or selector. See Reserved marker.
Reserved word
A keyword that cannot be used as an identifier. See Identifiers.
Role
A slot in the cast of a construct, filled with an entity or symbol at runtime. See Roles.
Role body
The fields that make up a role definition. See Role body.
Role label
A keyword specifying a role’s entity type and casting behavior. See Labels.
Role reference
A sigil-prefixed identifier naming a role. See Role reference.
Role-dependency forest
A tree structure governing the order in which roles are cast. See Role dependency trees.
Salience
A per-character numeric score representing how memorable an action is. See Saliences.
Scope sigil
A sigil ($ or _) indicating storage scope. See Scope sigils.
Scratch variable
A temporary variable scoped to an action definition, prefixed with $. See Scratch.
Search domain
The collection of action instances to search over. See Search domains.
Selector
A construct specifying a set of candidates and a policy for choosing among them. See Selectors.
Set predicate
A test on the relationship between an actual set and a specified set. See Set predicates.
Sifting expression
An expression that invokes a sifting pattern. See Sifting expressions.
Sifting pattern
A pattern describing a causally related sequence of actions. See Sifting patterns.
Sigil
A single-character token prefixing a name to indicate type or scope. See Sigils.
Slots
Parameters controlling how many entities fill a role. See Slots.
Spawn directive
A role field specifying an adapter function to construct a new entity. See Spawn directive.
Statement
A conditional, loop, reaction, or expression. See Statements.
Story sifting
The detection of emergent storylines via sifting patterns. See Sifting patterns.
String literal
A quoted string value. See Strings.
Sugared bindings
Compact inline bindings enclosed in angle brackets. See Sugared bindings.
Symbol
A value that does not correspond to a host-application entity. See Symbols.
Target
The file path specified in an include statement. See Targets.
Target group
The set of candidates and selection policy in a selector. See Target group.
Target policy
The strategy for choosing among selector candidates. See Target policies.
Template action
An action intended solely for inheritance, excluded from the content bundle. See Template marker.
Template gap
An interpolation point in a template string. See Template strings.
Template string
A string with interpolated expressions. See Template strings.
Temporal constraint
A restriction on when a reaction or query match is valid. See Temporal constraints.
This (@this)
A special reference to the action instance currently being executed. See Evaluation context.
Time period
A duration comprising a quantity and a unit. See Time periods.
Time-frame anchor
The reference point for a time-frame constraint. See Time-frame anchors.
Time-frame constraint
A temporal constraint specifying a window relative to an anchor. See Time-frame constraints.
Time-of-day constraint
A temporal constraint specifying clock-time boundaries. See Time-of-day constraints.
Token
The smallest unit of meaning recognized by the grammar. See Tokens.
Trope
A relational pattern among entities that can be tested at runtime. See Tropes.
Trope fit
An expression testing whether a trope matches for given bindings. See Trope fits.
Type sigil
A sigil (@ or &) indicating entity or symbol type. See Type sigils.
Wait instruction
A plan instruction that pauses execution for a duration. See Wait.