Runtime Specification
- Dominant language
- C#
- Stars
- 4.9k
- Forks
- 540
- PR merge metrics
- No merged PRs in 30d
Description
This issue is to kick off a project discussed in the Inkle discord with @ephread: writing a specification for Ink runtimes.
# Reason
Right now, building an ink runtime requires reverse-engineering the C# implementation, which causes a few issues:
- Increased engine developer burden
- (Likely) differences between runtimes, making ports harder
- Code that will _feel_ like the C# implementation, rather than writing a language/platform-specific implementation that matches the existing ecosystem
# How we can help
If runtime developers collaborate & write a specification for:
- The high-level architecture of an Ink runtime
- A comprehensive spec for the compiled JSON bytecode
- How to parse & prepare the JSON bytecode from Ink exports
- How state saving & restoration should work
- How external function calls work in Ink
- Accompanying tests, including a defined "call and response" test suite that plays through a complete, compiled Ink story over various paths to verify the behavior ( https://github.com/inkle/the-intercept feels like a great candidate for this)
We can dramatically improve Ink's tooling, and pave the way for better adoption across the board; both for current & future tools.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.