This document assumes prior experience with ECS, and only aims to motivate why ECS for Storyscript.

The Storyscript editing experience is very structured - it's not a typical compiler chain transforming plain text. With this structure, we have the opportunity to associate lots of independent pieces of data with things.

Take for example the following Storyscript snippet:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/60896923-391d-4223-be79-e34af1e08dc4/Untitled.png

Slack is a thing. It's a thing that has a lot of different data attributes for example:

In fact here is a screenshot from our dev tools showing the components associated with this entity:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/23dd92eb-e6b3-4238-a7c1-1366f5878ed6/Untitled.png

Similarly, let's look at the components for the whole line. There's information about how this block is structured in the page:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/6cf3ccd2-a36a-4236-bc80-81389c26be0f/Untitled.png

There's information about what type of block it is:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/8ec4cbe0-f4f8-4a22-b5c8-cd2ad85ca7ec/Untitled.png

There's information about the token line: