Skip to content

Latest commit

 

History

History
46 lines (39 loc) · 1.26 KB

README.org

File metadata and controls

46 lines (39 loc) · 1.26 KB

inkrs

inkrs is a port of Inkle’s Ink in rust, not the compiler.

the parsing tree

When given a story .json file, inkrs will build a Story structure that contains a tree structure corresponding to a typed version of the json file.

This parsed tree will contain unsafe values. For example, a variable reference to an ink variable that has not yet been given a value.

Due to the non-linear nature of an ink story, variables can be initialized much later in the file than its first reference, or even outside of the story flow.

The story deserialized here in story::Story is not yet useable as an ink story. It’s the complete deserialized Json with more convenient types than serde_json::Value objects.

Deserialize

  • [X] Numbers
    • [X] Int Value
    • [X] Float Value
  • [X] Strings
    • [X] String Value
    • [X] Glue
    • [X] ControlCommand
    • [X] Native Function Calls
    • [X] Void
  • [-] Maps
    • [X] Variable Pointer Value
    • [X] Divert
    • [X] ChoicePoint
    • [X] Variable Reference
    • [X] Variable Assignment
    • [X] Tag
    • [X] List Value
    • [ ] Saved Choice
  • [X] Sequence
    • [X] Container
    • [X] Test Container deser.