bevy_koto is a crate that adds Koto scripting support for the Bevy game engine.
This is an initial proof of concept, with many missing features, but it could hopefully serve as a starting point for some interesting applications.
Here's a video of the crate's demo app, showing hot-reloading of edits to the Koto scripts.
Koto 0.14 has been released, bringing API improvements and improved library documentation.
Koto is a free and open-source programming language with the goal of being an ideal scripting language for Rust applications.
If this is the first time you're reading about Koto, for some background information you could take a look at the About Koto page, or you could check out the language guide.
KMap::get
has been introduced as simpler alternative to
KMap::data().get().cloned()
.random.pick
can now be used with objects and maps that implement @[]
CallArgs
has been simplified with the introduction of From
implementations for single values, arrays, and slices.
CallArgs::None
has been removed, instead you can pass in &[]
.run_function
/run_instance_function
methods in Koto
and KotoVm
have
been renamed to call_function
and call_instance_function
.regex.find_all
now returns null
when no matches are found.regex.captures
now doesn't add extra by-index entries for named capture
groups. map.get_index
can be used to explicitly retrieve groups by index.Koto::run_exported_function
has been removed. Functions can be accessed via
Koto::exports().get()
and then called with Koto::call_function()
.Koto::run_with_args
has been removed. For equivalent behaviour,
Koto::set_args
can be called before calling Koto::run
.f 1,2,3
would previously be rejected.