blade-ink-rs
Inkle Ink runtime implementation in Rust
File Explorer
Download Latest Version (.zip)- devcontainer.json
- Dockerfile
- ci.yml
- publish.yml
- launch.json
- settings.json
- choice.rs
- choice_threaded.rs
- choice_wrapped.rs
- conditional.rs
- context.rs
- expression.rs
- flow.rs
- mod.rs
- nodes.rs
- path.rs
- choice.rs
- conditional.rs
- declarations.rs
- expression.rs
- header.rs
- inline.rs
- lines.rs
- mod.rs
- sequence.rs
- statement.rs
- story.rs
- types.rs
- context.rs
- diverts.rs
- mod.rs
- structure.rs
- symbols.rs
- variables.rs
- ast.rs
- consts.rs
- error.rs
- includes.rs
- inline.rs
- lib.rs
- stats.rs
- compiler_tests.rs
- Cargo.toml
- oneline.ink
- oneline.ink.json
- twolines.ink
- twolines.ink.json
- conditional-choice.ink
- conditional-choice.ink.json
- divert-choice.ink
- divert-choice.ink.json
- fallback-choice.ink
- fallback-choice.ink.json
- label-flow.ink
- label-flow.ink.json
- label-scope-error.ink
- label-scope-error.ink.json
- label-scope.ink
- label-scope.ink.json
- mixed-choice.ink
- mixed-choice.ink.json
- multi-choice.ink
- multi-choice.ink.json
- nested-choice.ink
- nested-choice.ink.json
- no-choice-text.ink
- no-choice-text.ink.json
- one.ink
- one.ink.json
- single-choice.ink
- single-choice.ink.json
- sticky-choice.ink
- sticky-choice.ink.json
- suppress-choice.ink
- suppress-choice.ink.json
- varying-choice.ink
- varying-choice.ink.json
- condopt.ink
- condopt.ink.json
- condtext.ink
- condtext.ink.json
- cycle.ink
- cycle.ink.json
- ifelse-ext-text1.ink
- ifelse-ext-text1.ink.json
- ifelse-ext-text2.ink
- ifelse-ext-text2.ink.json
- ifelse-ext-text3.ink
- ifelse-ext-text3.ink.json
- ifelse-ext.ink
- ifelse-ext.ink.json
- ifelse.ink
- ifelse.ink.json
- iffalse.ink
- iffalse.ink.json
- iftrue.ink
- iftrue.ink.json
- multiline-choice.ink
- multiline-choice.ink.json
- multiline-divert.ink
- multiline-divert.ink.json
- multiline.ink
- multiline.ink.json
- once.ink
- once.ink.json
- shuffle.ink
- shuffle.ink.json
- shuffle_once.ink
- shuffle_once.ink.json
- shuffle_stopping.ink
- shuffle_stopping.ink.json
- stopping.ink
- stopping.ink.json
- complex-branching.ink
- complex-branching.ink.json
- divert-on-choice.ink
- divert-on-choice.ink.json
- invisible-divert.ink
- invisible-divert.ink.json
- simple-divert.ink
- simple-divert.ink.json
- complex-func1.ink
- complex-func1.ink.json
- complex-func2.ink
- complex-func2.ink.json
- complex-func3.ink
- complex-func3.ink.json
- evaluating-function-variablestate-bug.ink
- evaluating-function-variablestate-bug.ink.json
- func-basic.ink
- func-basic.ink.json
- func-inline.ink
- func-inline.ink.json
- func-none.ink
- func-none.ink.json
- rnd-func.ink
- rnd-func.ink.json
- setvar-func.ink
- setvar-func.ink.json
- test-error.ink
- test-error.ink.json
- complex-flow.ink
- complex-flow.ink.json
- deep-nesting.ink
- deep-nesting.ink.json
- gather-basic.ink
- gather-basic.ink.json
- gather-chain.ink
- gather-chain.ink.json
- loop-label-threading-min.ink
- loop-label-threading-min.ink.json
- nested-flow.ink
- nested-flow.ink.json
- nested-gather.ink
- nested-gather.ink.json
- glue-with-divert.ink
- glue-with-divert.ink.json
- left-right-glue-matching.ink
- left-right-glue-matching.ink.json
- simple-glue.ink
- simple-glue.ink.json
- testbugfix1.ink
- testbugfix1.ink.json
- testbugfix2.ink
- testbugfix2.ink.json
- leaf.ink
- scene.ink
- main.ink
- included_file.ink
- main.ink
- multi-line.ink
- multi-line.ink.json
- param-floats.ink
- param-floats.ink.json
- param-ints.ink
- param-ints.ink.json
- param-multi.ink
- param-multi.ink.json
- param-recurse.ink
- param-recurse.ink.json
- param-strings.ink
- param-strings.ink.json
- param-vars.ink
- param-vars.ink.json
- single-line.ink
- single-line.ink.json
- strip-empty-lines.ink
- strip-empty-lines.ink.json
- basic-operations.ink
- basic-operations.ink.json
- bug-adding-element.ink
- bug-adding-element.ink.json
- empty-list-origin-after-assignment.ink
- empty-list-origin-after-assignment.ink.json
- empty-list-origin.ink
- empty-list-origin.ink.json
- list-all.ink
- list-all.ink.json
- list-comparison.ink
- list-comparison.ink.json
- list-mixed-items.ink
- list-mixed-items.ink.json
- list-range.ink
- list-range.ink.json
- list-save-load.ink
- list-save-load.ink.json
- more-list-operations.ink
- more-list-operations.ink.json
- more-list-operations2.ink
- more-list-operations2.ink.json
- choice-count.ink
- escape-hash.ink
- i18n.ink
- i18n.ink.json
- issue15.ink
- issue15.ink.json
- min-max.ink
- nested-choice-parent-sibling.ink
- newlines_with_string_eval.ink
- newlines_with_string_eval.ink.json
- operations.ink
- operations.ink.json
- read-counts.ink
- read-counts.ink.json
- turns-since.ink
- turns-since.ink.json
- turns.ink
- external-function-0-arg.ink
- external-function-0-arg.ink.json
- external-function-1-arg.ink
- external-function-1-arg.ink.json
- external-function-2-arg.ink
- external-function-2-arg.ink.json
- external-function-3-arg.ink
- external-function-3-arg.ink.json
- jump-knot.ink
- jump-knot.ink.json
- jump-stitch.ink
- jump-stitch.ink.json
- load-save.ink
- load-save.ink.json
- multiflow-basics.ink
- multiflow-basics.ink.json
- multiflow-saveloadthreads.ink
- multiflow-saveloadthreads.ink.json
- read-visit-counts.ink
- read-visit-counts.ink.json
- saving-loading.ink
- saving-loading.ink.json
- set-get-variables.ink
- set-get-variables.ink.json
- variable-observers.ink
- variable-observers.ink.json
- auto-stitch.ink
- auto-stitch.ink.json
- manual-stitch.ink
- manual-stitch.ink.json
- tags.ink
- tags.ink.json
- tagsDynamicContent.ink
- tagsDynamicContent.ink.json
- tagsInChoice.ink
- tagsInChoice.ink.json
- tagsInChoiceDynamic.ink
- tagsInChoiceDynamic.ink.json
- tagsInLines.ink
- tagsInSeq.ink
- tagsInSeq.ink.json
- thread-bug.ink
- thread-bug.ink.json
- sequence-tunnel.ink
- sequence-tunnel.ink.json
- tunnel-onwards-divert-override.ink
- tunnel-onwards-divert-override.ink.json
- var-divert.ink
- var-divert.ink.json
- varcalc.ink
- varcalc.ink.json
- variable-declaration.ink
- variable-declaration.ink.json
- varstringinc.ink
- varstringinc.ink.json
- cycle.ink
- cycle.ink.json
- empty-elements.ink
- empty-elements.ink.json
- list-in-choice.ink
- list-in-choice.ink.json
- minus-one.ink
- once.ink
- once.ink.json
- one.ink
- sequence.ink
- sequence.ink.json
- ten.ink
- test1.ink
- test1.ink.json
- TheIntercept.ink
- TheIntercept.ink.json
- mod.rs
- basic_text_test.rs
- choice_test.rs
- conditional_test.rs
- divert_test.rs
- function_test.rs
- gather_test.rs
- glue_test.rs
- knot_test.rs
- list_test.rs
- misc_test.rs
- multi_flow_test.rs
- runtime_test.rs
- stitch_test.rs
- tag_test.rs
- the_intercept_test.rs
- thread_test.rs
- tunnel_test.rs
- variable_test.rs
- variable_text_test.rs
- Cargo.toml
- compiler_tool.rs
- main.rs
- player.rs
- basic_tests.rs
- test_the_intercept.rs
- Cargo.toml
- json_read.rs
- json_read_stream.rs
- json_tokenizer.rs
- json_write.rs
- mod.rs
- choices.rs
- control_logic.rs
- errors.rs
- external_functions.rs
- flow.rs
- mod.rs
- navigation.rs
- progress.rs
- state.rs
- tags.rs
- variable_observer.rs
- callstack.rs
- choice.rs
- choice_point.rs
- container.rs
- control_command.rs
- divert.rs
- flow.rs
- glue.rs
- ink_list.rs
- ink_list_item.rs
- lib.rs
- list_definition.rs
- list_definitions_origin.rs
- native_function_call.rs
- object.rs
- path.rs
- pointer.rs
- push_pop.rs
- search_result.rs
- state_patch.rs
- story_error.rs
- story_state.rs
- tag.rs
- value.rs
- value_type.rs
- variable_assigment.rs
- variable_reference.rs
- variables_state.rs
- void.rs
- Cargo.toml
- .gitignore
- AGENTS.md
- Cargo.toml
- LICENSE
- README.md
- rust-toolchain.toml
# Installation Guide
1. Get the code
git clone https://github.com/bladecoder/blade-ink-rs
Downloads the entire project code from GitHub to your computer.
cd blade-ink-rs
Moves into the project folder you just downloaded.
2. Official Install Script
Easy RecommendedPrerequisites
- Rust (rustup) Rust is required to use cargo.
cargo install rinklecate
Builds and installs the package published on crates.io β no need to clone the repo yourself.
After installing, open a new terminal and run the program's version command (e.g. --version) to confirm it worked.
Pulled directly from this repo's README.
3. Rust
MediumPrerequisites
- Git Needed to download the project code from GitHub.
- Rust (rustup) Installing via rustup also installs cargo.
cargo install rinklecate
Builds and installs the package published on crates.io β no need to clone the repo yourself.
If cargo build finishes without errors, it worked. The executable is created under target/.
Pulled directly from this repo's README.
// repository documentation
Was this content helpful?
(0 ratings)
