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