YarnSpinnerTool / YarnSpinner

Yarn Spinner is a tool for building interactive dialogue in games!
https://yarnspinner.dev
MIT License
2.3k stars 201 forks source link

Proposal: Add a Yarn 3 language spec #334

Open st-pasha opened 1 year ago

st-pasha commented 1 year ago

Introduction

The Yarn 2 language spec was published and frozen more than a year ago. Since then, there were many new features added to the language, and there are additional ones that are planned to being added. In order to properly document those new features, and to express the intention to add new features in the next version of the language, I'm suggesting to create 2 new documents:

Rationale

  1. Allow users to have a clear view of which features have been added to the language.
  2. Serve as a roadmap for which features are planned to be added.
  3. Streamline the process of making improvements to the Yarn language. Currently, when a proposal is made, it is considered "accepted" when it has an active implementation for the Yarn compiler. But that doesn't have to be the case: the process of deciding that certain feature ought to be added, and actually adding it, can be separated.
  4. Allow Yarn- community projects to work on supporting Yarn 3 features in parallel with the main project. A community project can start implementing the support for a new feature as soon as it is specced, which could allow it to not fall too far behind from the mainstream Yarn.
  5. There are changes that can be done to Yarn 2 spec that are not necessarily new features, but rather clarifications for existing features, or simply filling the gaps. The new spec3.md file would be a good place to gradually improve such aspects.

Detailed design

Acknowledgments