Skip to content

Commit

Permalink
build: Update piccolo to crates.io 0.3 (#303)
Browse files Browse the repository at this point in the history
Haven't really tested this yet but it builds - might need to update
Jumpy too.
  • Loading branch information
MaxCWhitehead committed Jan 11, 2024
1 parent 01823b4 commit e59db7c
Show file tree
Hide file tree
Showing 12 changed files with 83 additions and 81 deletions.
17 changes: 10 additions & 7 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 4 additions & 5 deletions framework_crates/bones_scripting/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,13 @@ tracing = "0.1"
bevy_tasks = "0.11"
bones_lib = { version = "0.3", path = "../bones_lib" }
bones_asset = { version = "0.3", path = "../bones_asset" }
piccolo = { git = "https://github.com/kyren/piccolo.git", rev = "d25ef38" }
gc-arena = { git = "https://github.com/kyren/gc-arena.git" }
gc-arena-derive = { git = "https://github.com/kyren/gc-arena.git" }
piccolo = { version = "0.3" }
gc-arena = { version = "0.5" }
gc-arena-derive = { version = "0.5" }
send_wrapper = "0.6.0"

[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen-futures = "0.4"

[dev-dependencies]
piccolo = { git = "https://github.com/kyren/piccolo.git", rev = "d25ef38" }

piccolo = { version = "0.3" }
10 changes: 5 additions & 5 deletions framework_crates/bones_scripting/src/lua.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ pub use piccolo;
use piccolo::{
compiler::{LineNumber, ParseError},
registry::{Fetchable, Stashable},
AnyUserData, Closure, Context, Executor, FromValue, Lua, PrototypeError, StashedClosure, Table,
Closure, Context, Executor, FromValue, Lua, PrototypeError, StashedClosure, Table, UserData,
Value,
};
use send_wrapper::SendWrapper;
Expand Down Expand Up @@ -140,8 +140,8 @@ impl<'gc> FromValue<'gc> for &'gc WorldRef {

impl WorldRef {
/// Convert this [`WorldRef`] into a Lua userdata.
pub fn into_userdata(self, ctx: Context<'_>) -> AnyUserData<'_> {
let data = AnyUserData::new_static(&ctx, self);
pub fn into_userdata(self, ctx: Context<'_>) -> UserData<'_> {
let data = UserData::new_static(&ctx, self);
data.set_metatable(
&ctx,
Some(ctx.singletons().get(ctx, bindings::world::metatable)),
Expand All @@ -160,7 +160,7 @@ impl WorldRef {
("resources", bindings::resources::metatable),
("assets", bindings::assets::metatable),
] {
let data = AnyUserData::new_static(&ctx, self.clone());
let data = UserData::new_static(&ctx, self.clone());
data.set_metatable(&ctx, Some(ctx.singletons().get(ctx, metatable)));
env.set(ctx, name, data).unwrap();
}
Expand Down Expand Up @@ -247,7 +247,7 @@ impl Default for EngineState {
ctx.globals().set(
ctx,
"luasingletons",
AnyUserData::new_static(&ctx, LuaSingletons::default()),
UserData::new_static(&ctx, LuaSingletons::default()),
)?;
Ok(())
})
Expand Down
16 changes: 8 additions & 8 deletions framework_crates/bones_scripting/src/lua/asset.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use std::sync::Arc;

use bevy_tasks::ThreadExecutor;
use piccolo::{
AnyCallback, AnyUserData, CallbackReturn, Closure, Context, Executor, StashedClosure, Table,
Callback, CallbackReturn, Closure, Context, Executor, StashedClosure, Table, UserData,
};
use send_wrapper::SendWrapper;

Expand Down Expand Up @@ -95,7 +95,7 @@ impl LuaPlugin {
let executor = lua.try_enter(|ctx| {
let env = ctx.singletons().get(ctx, super::bindings::env);

let session_var = AnyUserData::new_static(&ctx, self.systems.clone());
let session_var = UserData::new_static(&ctx, self.systems.clone());
session_var.set_metatable(&ctx, Some(ctx.singletons().get(ctx, session_metatable)));
env.set(ctx, "session", session_var)?;

Expand All @@ -118,7 +118,7 @@ fn session_metatable(ctx: Context) -> Table {
.set(
ctx,
"__tostring",
AnyCallback::from_fn(&ctx, |ctx, _fuel, mut stack| {
Callback::from_fn(&ctx, |ctx, _fuel, mut stack| {
stack.push_front(
piccolo::String::from_static(&ctx, "Session { add_system_to_stage }").into(),
);
Expand All @@ -136,8 +136,8 @@ fn session_metatable(ctx: Context) -> Table {

let add_startup_system_callback = ctx.registry().stash(
&ctx,
AnyCallback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
let (this, closure): (AnyUserData, Closure) = stack.consume(ctx)?;
Callback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
let (this, closure): (UserData, Closure) = stack.consume(ctx)?;
let this = this.downcast_static::<LuaPluginSystemsCell>()?;

let mut systems = this.borrow_mut();
Expand All @@ -151,8 +151,8 @@ fn session_metatable(ctx: Context) -> Table {
);
let add_system_to_stage_callback = ctx.registry().stash(
&ctx,
AnyCallback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
let (this, stage, closure): (AnyUserData, AnyUserData, Closure) = stack.consume(ctx)?;
Callback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
let (this, stage, closure): (UserData, UserData, Closure) = stack.consume(ctx)?;
let this = this.downcast_static::<LuaPluginSystemsCell>()?;
let stage = stage.downcast_static::<CoreStage>()?;

Expand All @@ -170,7 +170,7 @@ fn session_metatable(ctx: Context) -> Table {
.set(
ctx,
"__index",
AnyCallback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
Callback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
let (_this, key): (piccolo::Value, piccolo::String) = stack.consume(ctx)?;

#[allow(clippy::single_match)]
Expand Down
14 changes: 7 additions & 7 deletions framework_crates/bones_scripting/src/lua/bindings.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use bones_lib::prelude::*;
use gc_arena_derive::Collect;
use piccolo::{
self as lua, meta_ops, meta_ops::MetaResult, AnyCallback, AnySequence, CallbackReturn, Context,
self as lua, meta_ops, meta_ops::MetaResult, BoxSequence, Callback, CallbackReturn, Context,
Error, Sequence, SequencePoll, Stack,
};

Expand All @@ -25,8 +25,8 @@ pub fn register_lua_typedata() {
.unwrap();
}

pub fn no_newindex(ctx: Context) -> AnyCallback {
AnyCallback::from_fn(&ctx, |_ctx, _fuel, _stack| {
pub fn no_newindex(ctx: Context) -> Callback {
Callback::from_fn(&ctx, |_ctx, _fuel, _stack| {
Err(anyhow::format_err!("Creating fields not allowed on this type").into())
})
}
Expand Down Expand Up @@ -56,14 +56,14 @@ pub fn env(ctx: Context) -> Table {
("Last", CoreStage::Last),
] {
core_stage_table
.set(ctx, name, AnyUserData::new_static(&ctx, stage))
.set(ctx, name, UserData::new_static(&ctx, stage))
.unwrap();
}
env.set(ctx, "CoreStage", core_stage_table).unwrap();

macro_rules! add_log_fn {
($level:ident) => {
let $level = AnyCallback::from_fn(&ctx, |ctx, _fuel, mut stack| {
let $level = Callback::from_fn(&ctx, |ctx, _fuel, mut stack| {
#[derive(Debug, Copy, Clone, Eq, PartialEq, Collect)]
#[collect(require_static)]
enum Mode {
Expand Down Expand Up @@ -109,7 +109,7 @@ pub fn env(ctx: Context) -> Table {
}
}

Ok(CallbackReturn::Sequence(AnySequence::new(
Ok(CallbackReturn::Sequence(BoxSequence::new(
&ctx,
PrintSeq {
mode: Mode::Init,
Expand All @@ -136,7 +136,7 @@ pub fn env(ctx: Context) -> Table {
.set(
ctx,
"__newindex",
AnyCallback::from_fn(&ctx, |_ctx, _fuel, _stack| {
Callback::from_fn(&ctx, |_ctx, _fuel, _stack| {
Err(anyhow::format_err!(
"Cannot set global variables, you must use `world` \
to persist any state across frames."
Expand Down
6 changes: 3 additions & 3 deletions framework_crates/bones_scripting/src/lua/bindings/assets.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ pub fn metatable(ctx: Context) -> Table {
.set(
ctx,
"__tostring",
AnyCallback::from_fn(&ctx, |ctx, _fuel, mut stack| {
Callback::from_fn(&ctx, |ctx, _fuel, mut stack| {
stack.push_front(piccolo::String::from_static(&ctx, "Assets { root, get }").into());
Ok(CallbackReturn::Return)
}),
Expand All @@ -18,7 +18,7 @@ pub fn metatable(ctx: Context) -> Table {

let get_callback = ctx.registry().stash(
&ctx,
AnyCallback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
Callback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
let (world, ecsref): (&WorldRef, &EcsRef) = stack.consume(ctx)?;

let b = ecsref.borrow();
Expand All @@ -43,7 +43,7 @@ pub fn metatable(ctx: Context) -> Table {
.set(
ctx,
"__index",
AnyCallback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
Callback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
let (world, key): (&WorldRef, lua::Value) = stack.consume(ctx)?;

if let Value::String(key) = key {
Expand Down
14 changes: 7 additions & 7 deletions framework_crates/bones_scripting/src/lua/bindings/components.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ pub fn metatable(ctx: Context) -> Table {
.set(
ctx,
"__tostring",
AnyCallback::from_fn(&ctx, |ctx, _fuel, mut stack| {
Callback::from_fn(&ctx, |ctx, _fuel, mut stack| {
stack.push_front(
piccolo::String::from_static(&ctx, "Components { insert, remove, get }").into(),
);
Expand All @@ -20,8 +20,8 @@ pub fn metatable(ctx: Context) -> Table {

let get_callback = ctx.registry().stash(
&ctx,
AnyCallback::from_fn(&ctx, |ctx, _fuel, mut stack| {
let (world, entity_ecsref, schema): (&WorldRef, &EcsRef, AnyUserData) =
Callback::from_fn(&ctx, |ctx, _fuel, mut stack| {
let (world, entity_ecsref, schema): (&WorldRef, &EcsRef, UserData) =
stack.consume(ctx)?;

let b = entity_ecsref.borrow();
Expand Down Expand Up @@ -53,7 +53,7 @@ pub fn metatable(ctx: Context) -> Table {
);
let insert_callback = ctx.registry().stash(
&ctx,
AnyCallback::from_fn(&ctx, |ctx, _fuel, mut stack| {
Callback::from_fn(&ctx, |ctx, _fuel, mut stack| {
let (world, entity_ecsref, value_ecsref): (&WorldRef, &EcsRef, &EcsRef) =
stack.consume(ctx)?;

Expand All @@ -78,8 +78,8 @@ pub fn metatable(ctx: Context) -> Table {
);
let remove_callback = ctx.registry().stash(
&ctx,
AnyCallback::from_fn(&ctx, |ctx, _fuel, mut stack| {
let (world, entity_ecsref, schema): (&WorldRef, &EcsRef, AnyUserData) =
Callback::from_fn(&ctx, |ctx, _fuel, mut stack| {
let (world, entity_ecsref, schema): (&WorldRef, &EcsRef, UserData) =
stack.consume(ctx)?;

let b = entity_ecsref.borrow();
Expand All @@ -102,7 +102,7 @@ pub fn metatable(ctx: Context) -> Table {
.set(
ctx,
"__index",
AnyCallback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
Callback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
let (_world, key): (&WorldRef, lua::Value) = stack.consume(ctx)?;

if let Value::String(key) = key {
Expand Down
8 changes: 4 additions & 4 deletions framework_crates/bones_scripting/src/lua/bindings/ecsref.rs
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ impl EcsRef {
/// Convert into a lua value.
pub fn into_value(self, ctx: Context) -> Value {
let metatable = ctx.singletons().get(ctx, self.metatable_fn());
let ecsref = AnyUserData::new_static(&ctx, self);
let ecsref = UserData::new_static(&ctx, self);
ecsref.set_metatable(&ctx, Some(metatable));
ecsref.into()
}
Expand Down Expand Up @@ -299,7 +299,7 @@ pub fn metatable(ctx: Context) -> Table {
.set(
ctx,
"__tostring",
AnyCallback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
Callback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
let this: &EcsRef = stack.consume(ctx)?;

let b = this.borrow();
Expand All @@ -318,7 +318,7 @@ pub fn metatable(ctx: Context) -> Table {
.set(
ctx,
"__index",
AnyCallback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
Callback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
let (this, key): (&EcsRef, lua::Value) = stack.consume(ctx)?;

let mut newref = this.clone();
Expand Down Expand Up @@ -359,7 +359,7 @@ pub fn metatable(ctx: Context) -> Table {
.set(
ctx,
"__newindex",
AnyCallback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
Callback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
let (this, key, newvalue): (&EcsRef, lua::Value, lua::Value) =
stack.consume(ctx)?;

Expand Down
18 changes: 9 additions & 9 deletions framework_crates/bones_scripting/src/lua/bindings/entities.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ pub fn entities_metatable(ctx: Context) -> Table {
.set(
ctx,
"__tostring",
AnyCallback::from_fn(&ctx, |ctx, _fuel, mut stack| {
Callback::from_fn(&ctx, |ctx, _fuel, mut stack| {
stack.push_front(
piccolo::String::from_static(&ctx, "Entities { create, kill, iter_with }")
.into(),
Expand All @@ -25,7 +25,7 @@ pub fn entities_metatable(ctx: Context) -> Table {

let create_callback = ctx.registry().stash(
&ctx,
AnyCallback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
Callback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
let this: &EcsRef = stack.consume(ctx)?;

let mut b = this.borrow_mut();
Expand All @@ -44,7 +44,7 @@ pub fn entities_metatable(ctx: Context) -> Table {
);
let kill_callback = ctx.registry().stash(
&ctx,
AnyCallback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
Callback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
let (this, entity_ecsref): (&EcsRef, &EcsRef) = stack.consume(ctx)?;
let mut b = this.borrow_mut();
let entities = b.schema_ref_mut()?.cast_into_mut::<Entities>();
Expand All @@ -58,8 +58,8 @@ pub fn entities_metatable(ctx: Context) -> Table {
);
let iter_with_callback = ctx.registry().stash(
&ctx,
AnyCallback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
let (this, schema_args): (&EcsRef, Variadic<Vec<AnyUserData>>) = stack.consume(ctx)?;
Callback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
let (this, schema_args): (&EcsRef, Variadic<Vec<UserData>>) = stack.consume(ctx)?;
let mut b = this.borrow_mut();
let entities = b.schema_ref_mut()?.cast_into_mut::<Entities>();
let world = ctx
Expand Down Expand Up @@ -99,8 +99,8 @@ pub fn entities_metatable(ctx: Context) -> Table {
schemas: Vec<&'static Schema>,
}

let iter_fn = AnyCallback::from_fn(&ctx, |ctx, _fuel, mut stack| {
let state: AnyUserData = stack.consume(ctx)?;
let iter_fn = Callback::from_fn(&ctx, |ctx, _fuel, mut stack| {
let state: UserData = stack.consume(ctx)?;
let state = state.downcast_static::<AtomicCell<IteratorState>>()?;
let mut state = state.borrow_mut();
let next_ent = state.entities.next();
Expand Down Expand Up @@ -137,7 +137,7 @@ pub fn entities_metatable(ctx: Context) -> Table {
});

let iterator_state =
AnyUserData::new_static(&ctx, AtomicCell::new(IteratorState { entities, schemas }));
UserData::new_static(&ctx, AtomicCell::new(IteratorState { entities, schemas }));

stack.replace(ctx, (iter_fn, iterator_state));

Expand All @@ -149,7 +149,7 @@ pub fn entities_metatable(ctx: Context) -> Table {
.set(
ctx,
"__index",
AnyCallback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
Callback::from_fn(&ctx, move |ctx, _fuel, mut stack| {
let (_this, key): (lua::Value, lua::String) = stack.consume(ctx)?;

#[allow(clippy::single_match)]
Expand Down
Loading

0 comments on commit e59db7c

Please sign in to comment.