Proto commits in YarnSpinnerTool/YarnSpinner

These 16 commits are when the Protocol Buffers files have changed:

Commit:3bccc44
Author:Jon Manning

Update saliency architecture This change introduces an updated model for computing content saliency. Candidates for salient content selection are added via the AddSaliencyCandidate and AddSaliencyCandidateFromNode instructions. The first instruction provides content saliency information explicitly, while the second instructs the virtual machine to fetch saliency metadata from the compiled node. The SelectSaliencyCandidate instruction instructs the virtual machine to consult its configured saliency strategy to see which, if any, of the canidates are the most salient. This approach has several benefits: - Content saliency strategies are given the entire set of candiates to choose from, and have the ability to consider candidates who have a non-zero 'failing condition' count. - Nodes can be queried at runtime for their salience without committing to a selection, allowing the Dialogue to provide information to the game about what content may be presented and its saliency information. - Special-cased function names in the virtual machine are no longer necessary.

The documentation is generated from this commit.

Commit:eaeeae8
Author:Jon Manning

Add instructions for adding and selecting salient content

Commit:c091a35
Author:Jon Manning

WIP 'jump and return' implementation Incomplete support for 'visited' updating correctly.

Commit:4eb6810
Author:Jon Manning
Committer:Jon Manning

V2 of the Instruction message type. - Instructions are now distinct messages, which makes future changes to them easier. - Certain messages have been renamed to make their stack behaviour clearer. - Jump instructions (like JumpTo) now jump to a specific instruction, rather than to a named label. - Removed the Labels field on Nodes.

Commit:20036dc
Author:Jon Manning

Update whitespace formatting in yarn_spinner.proto

Commit:840c003
Author:Tim Nugent

Headers now stored in Program. This means that if you need to know any info that a node header has you can get it back out. Fixes #276 Fixes #181 on YS-Unity

Commit:d482dd1
Author:Jon Manning
Committer:Jon Manning

Conditions at the end of options now control a flag that's sent to the game (fixes #265)

Commit:fa3290f
Author:Jon Manning
Committer:Jon Manning

Remove [[Options]], add <<jump>> command

Commit:b727d97
Author:Jon Manning
Committer:Jon Manning

Update comment in protobuf definition

Commit:b2c024f
Author:Jon Manning

Initial values are now used. When a Program is compiled, any variable declarations that were encountered during compilation will have their initial value stored inside the Program. If VariableStorage.GetValue returns null, the virtual machine will consult this list of initial values, to see if a value is available there. If it can't, an exception will be thrown, because the value of the variable can't be determined. (Variables that were declared externally are required to have their initial value always available from the VariableStorage.)

Commit:fb2d6db
Author:Jon Manning
Committer:Jon Manning

d o c u m e n t a t i o n (also some format tidyup)

Commit:1a63f94
Author:Jon Manning

d o c u m e n t a t i o n (also some format tidyup)

Commit:0f277e8
Author:Jon Manning
Committer:Jon Manning

Generate string tables on compilation; add support for automatically generating lines; remove Label opcode; document protobuf

Commit:68df716
Author:Jon Manning
Committer:Jon Manning

Started migrating to protobuf

Commit:c25c3aa
Author:Jon Manning
Committer:Jon Manning

Separated the compilation and execution steps of Yarn Spinner.

Commit:c70c71b
Author:Jon Manning
Committer:Jon Manning

Forgot that we only have one number type ('float')