kui-lua 0.1.0-alpha.45

Lua extensions for kui via mlua: table trees in, events as tables out
Documentation
[package]
name = "kui-lua"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
readme = "README.md"
homepage.workspace = true
keywords.workspace = true
categories.workspace = true
description = "Lua extensions for kui via mlua: table trees in, events as tables out"
publish = ["crates-io", "drydock9"]

[dependencies]
kui-core.workspace = true
mlua.workspace = true
# For `CExtension` alone: a script that places a native panel needs
# something to open the `.so`/`.dylib`/`.dll` with, and that loader is the
# C API's. `default-features = false` in the workspace manifest, so this is
# the library without its windowed runner — a Lua extension has no window
# of its own and would not use one (see the note in kui-ffi/Cargo.toml).
kui-ffi.workspace = true

[dev-dependencies]
divan.workspace = true
kui-native.workspace = true
# The examples' devtools (docs/adr/0021), for the Rust host of the panel.
kui-devtools.workspace = true
# tests/conformance.rs drives the scene corpus, which kui-core keeps behind a
# feature; on here only, so the published extension does not carry it.
kui-core = { workspace = true, features = ["conformance"] }
# Reads `kui-core/tests/fixtures/size_spellings.json`, the size spellings
# every binding is run through (backlog RG94).
serde_json = "1"

# See the note in crates/kui-native/Cargo.toml: examples live under examples/ at the
# root, so cargo needs the path. A Lua extension has no window of its own, so
# both of these are Rust hosts and both live in examples/lua beside the script
# they run (the panel under features/slots, the bench under tools). lua_panel keeps the `lua_` prefix the file dropped: every example
# binary in the workspace lands in one flat target/debug/examples, so a
# `panel` here would collide with kui-ffi's.
[package.metadata.kui]
headless = ["lua_panel"]

[[example]]
name = "bench"
path = "../../examples/lua/tools/bench.rs"

[[example]]
name = "lua_panel"
path = "../../examples/lua/features/slots/panel.rs"

[[bench]]
name = "sizes"
harness = false