bevy_mod_scripting_core 0.16.1

Core traits and structures required for other parts of bevy_mod_scripting
Documentation
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.16.1]https://github.com/makspll/bevy_mod_scripting/compare/bevy_mod_scripting_core-v0.16.0...bevy_mod_scripting_core-v0.16.1 - 2025-11-06

### Added

- Lua definition file generation, ladfile re-work ([#497]https://github.com/makspll/bevy_mod_scripting/pull/497)
- add `ScriptPipelineState` system parameter and rust script loading example ([#494]https://github.com/makspll/bevy_mod_scripting/pull/494)
- add script asset path to function call context ([#493]https://github.com/makspll/bevy_mod_scripting/pull/493)
- registered callbacks via `register_callback`, and `bevy_mod_scripting_script` crate. ([#490]https://github.com/makspll/bevy_mod_scripting/pull/490)

## [0.16.0]https://github.com/makspll/bevy_mod_scripting/compare/bevy_mod_scripting_core-v0.15.1...bevy_mod_scripting_core-v0.16.0 - 2025-09-22

### Added

- improve and formalize script processing pipeline ([#481]https://github.com/makspll/bevy_mod_scripting/pull/481)
- improved dynamic printing, adds `ReflectDisplayWithTypeInfo` for overriding opaque type printing ([#478]https://github.com/makspll/bevy_mod_scripting/pull/478)

### Refactored

- extract `bevy_mod_scripting_asset` and `bevy_mod_scripting_display` crates, decouple concerns ([#477]https://github.com/makspll/bevy_mod_scripting/pull/477)
- extract `bevy_mod_scripting_asset` crate, simplify supported extensions logic ([#475]https://github.com/makspll/bevy_mod_scripting/pull/475)
- remove `HandlerCtxt`, wrap `ScriptContext<P>` in Arc ([#474]https://github.com/makspll/bevy_mod_scripting/pull/474)
- remove `StaticScripts`  resource ([#473]https://github.com/makspll/bevy_mod_scripting/pull/473)
- modify `ContextLoadFn` & `ContextReloadFn` & `HandlerFn` to use `WorldId` instead of direct config ([#472]https://github.com/makspll/bevy_mod_scripting/pull/472)
- remove `RuntimeContainer` & `RuntimeSettings`, add plugin runtime to static world local settings ([#471]https://github.com/makspll/bevy_mod_scripting/pull/471)
- add world-local static plugin config, remove `ContextLoadingSettings` resource ([#470]https://github.com/makspll/bevy_mod_scripting/pull/470)
- [**breaking**] refactor dependencies, point at bevy subcrates directly ([#463]https://github.com/makspll/bevy_mod_scripting/pull/463)
- inline `CallbackBuilder<P>` into `IntoScriptPluginParams` at compile time ([#456]https://github.com/makspll/bevy_mod_scripting/pull/456)
- inline `CallbackSettings<P>` into `IntoScriptPluginParam` at compile time ([#455]https://github.com/makspll/bevy_mod_scripting/pull/455)

## [0.15.1]https://github.com/makspll/bevy_mod_scripting/compare/bevy_mod_scripting_core-v0.15.0...bevy_mod_scripting_core-v0.15.1 - 2025-08-18

### Changed

- Remove asset_path field from ScriptAsset. ([#450]https://github.com/makspll/bevy_mod_scripting/pull/450)

### Fixed

- "luau" extension regression ([#453]https://github.com/makspll/bevy_mod_scripting/pull/453)

## [0.15.0]https://github.com/makspll/bevy_mod_scripting/compare/bevy_mod_scripting_core-v0.14.0...bevy_mod_scripting_core-v0.15.0 - 2025-08-14

### Added

- [**breaking**] Use the Handles, Luke! ([#427]https://github.com/makspll/bevy_mod_scripting/pull/427) ([#444]https://github.com/makspll/bevy_mod_scripting/pull/444)

## [0.13.0]https://github.com/makspll/bevy_mod_scripting/compare/bevy_mod_scripting_core-v0.12.0...bevy_mod_scripting_core-v0.13.0 - 2025-07-05

### Added

- Include Entity in `ScriptCallbackResponseEvent` ([#425]https://github.com/makspll/bevy_mod_scripting/pull/425)
- Add on_script_reloaded callback. ([#421]https://github.com/makspll/bevy_mod_scripting/pull/421)
- Warn on unknown language. ([#418]https://github.com/makspll/bevy_mod_scripting/pull/418)

## [0.12.0]https://github.com/makspll/bevy_mod_scripting/compare/bevy_mod_scripting_core-v0.11.1...bevy_mod_scripting_core-v0.12.0 - 2025-04-07

### Added

- improve errors when entity is unavailable ([#410]https://github.com/makspll/bevy_mod_scripting/pull/410)
- [**breaking**] Add `BMSPlugin` group, feature flag for bindings per bevy crate & add script global filter options ([#408]https://github.com/makspll/bevy_mod_scripting/pull/408)
- add option to emit response event on each callback  & `RunScriptCallback` command for "once-off" callbacks ([#403]https://github.com/makspll/bevy_mod_scripting/pull/403)

### Fixed

- `lua54` feature being forced ([#413]https://github.com/makspll/bevy_mod_scripting/pull/413)

### Other

- refactor `ReflectReference` internally ([#406]https://github.com/makspll/bevy_mod_scripting/pull/406)
- reduces size of `ScriptValue` to 64 bytes, moves some dynamic function methods into function info ([#404]https://github.com/makspll/bevy_mod_scripting/pull/404)

## [0.11.0]https://github.com/makspll/bevy_mod_scripting/compare/bevy_mod_scripting_core-v0.10.0...bevy_mod_scripting_core-v0.11.0 - 2025-03-29

### Added

- optimize access map ([#395]https://github.com/makspll/bevy_mod_scripting/pull/395)
- optimize `get` and `set` functions, add `MagicFunctions` sub-registry ([#397]https://github.com/makspll/bevy_mod_scripting/pull/397)
- improve tracing spans, add `profile_with_tracy` feature flag ([#394]https://github.com/makspll/bevy_mod_scripting/pull/394)
- add `profile_with_tracy` feature which plays nicely with bevy's `bevy/trace_tracy` feature ([#393]https://github.com/makspll/bevy_mod_scripting/pull/393)
- Add initial benchmarks, integrate them into CI & add getters/settters for `Scripts` resource ([#381]https://github.com/makspll/bevy_mod_scripting/pull/381)
- add ScriptValue override for printing opaque values ([#380]https://github.com/makspll/bevy_mod_scripting/pull/380)
- :sparkles: Dynamic Script Components, `register_new_component` binding, `remove_component` no longer requires `ReflectComponent` data ([#379]https://github.com/makspll/bevy_mod_scripting/pull/379)
- overhaul mdbook preprocessor, prettify generated docs, support dummy globals ([#377]https://github.com/makspll/bevy_mod_scripting/pull/377)

### Fixed

- fix global type cache not containing generic types ([#388]https://github.com/makspll/bevy_mod_scripting/pull/388)

### Other

- switch to hashbrown hashmap in the function registry ([#399]https://github.com/makspll/bevy_mod_scripting/pull/399)
- try play with hashing for access maps ([#398]https://github.com/makspll/bevy_mod_scripting/pull/398)
- allow check creation for bencher

## [0.10.0]https://github.com/makspll/bevy_mod_scripting/compare/bevy_mod_scripting_core-v0.9.11...bevy_mod_scripting_core-v0.10.0 - 2025-03-16

### Added

- *(ladfile)* improve globals in LAD format ([#372]https://github.com/makspll/bevy_mod_scripting/pull/372)
- add global `types` cache making `get_type_by_name` redundant ([#370]https://github.com/makspll/bevy_mod_scripting/pull/370)
- [**breaking**] re-design `GetTypeDependencies` trait & add `GetTypeDependencies` derive macro ([#369]https://github.com/makspll/bevy_mod_scripting/pull/369)
- shorten import paths ([#367]https://github.com/makspll/bevy_mod_scripting/pull/367)
- Add missing `luau` extension, improve extension configuration options ([#366]https://github.com/makspll/bevy_mod_scripting/pull/366)
- allow lua scripts to insert `ScriptComponent`'s ([#359]https://github.com/makspll/bevy_mod_scripting/pull/359)
- :sparkles: Parallelizable Script Systems with `Res` and `Query` parameters & Schedule debugging utilities ([#361]https://github.com/makspll/bevy_mod_scripting/pull/361)

### Fixed

- supported extensions not including default extensions [SKIP_CHANGELOG] [#373](https://github.com/makspll/bevy_mod_scripting/pull/373)
- unit enum variants other than `Option::None` being converted into `ScriptValue::Unit` ([#360]https://github.com/makspll/bevy_mod_scripting/pull/360)

### Other

- [**breaking**] Merge `ScriptContexts<T>` into `Scripts<T>` + Remove `Sync` bound from Contexts ([#350]https://github.com/makspll/bevy_mod_scripting/pull/350)