Refactor to use Rhai packages for efficient engine creation
- Created OsirisPackage with all OSIRIS types and functions registered in the package - Functions now registered directly in package module (Note, Event, get_context) - Created ZdfzPackage extending OsirisPackage - Engine factory pattern: creates Engine::new_raw() + registers package (very cheap) - Removed TypeRegistry (unused code) - Simplified runner to use factory functions instead of passing packages - Package is created once, then factory efficiently creates engines on demand
This commit is contained in:
11
src/lib.rs
11
src/lib.rs
@@ -8,14 +8,21 @@ pub mod interfaces;
|
||||
pub mod objects;
|
||||
pub mod retrieve;
|
||||
pub mod store;
|
||||
pub mod rhai;
|
||||
|
||||
// Rhai integration modules (top-level)
|
||||
pub mod context;
|
||||
pub mod engine;
|
||||
|
||||
pub use error::{Error, Result};
|
||||
pub use store::{BaseData, IndexKey, Object, Storable};
|
||||
pub use objects::{Event, Note};
|
||||
|
||||
// OsirisContext is the main type for Rhai integration
|
||||
pub use rhai::{OsirisContext, OsirisInstance};
|
||||
pub use context::{OsirisContext, OsirisInstance, OsirisContextBuilder};
|
||||
pub use engine::{
|
||||
create_osiris_engine,
|
||||
OsirisPackage,
|
||||
};
|
||||
|
||||
// Re-export the derive macro
|
||||
pub use osiris_derive::Object as DeriveObject;
|
||||
|
||||
Reference in New Issue
Block a user