Skip to main content

pite_core/
lib.rs

1// SPDX-License-Identifier: MIT OR Apache-2.0
2//! Core scene-graph primitives for the Pite game engine: node handles, the
3//! hierarchical scene tree, properties, the node-type registry, signals, and
4//! lifecycle dispatch.
5//!
6//! Defines foundational abstractions of the scene model with no direct dependencies
7//! on Python scripting (`pite-script`), rendering (`pite-render`), or scene file
8//! serialization (`pite-scene`). External subsystems plug in through the traits
9//! re-exported here to maintain modular architectural boundaries.
10
11#![forbid(unsafe_code)]
12
13mod error;
14mod lifecycle;
15mod math;
16mod node;
17pub mod nodes;
18mod props;
19mod registry;
20pub mod schema;
21mod signals;
22mod tree;
23
24pub use error::{CoreError, Result};
25pub use lifecycle::LifecycleSink;
26pub use math::{global_position, Vec2};
27pub use node::{Node, NodeDesc, NodeId, ScriptRef};
28pub use props::{Color, PropValue, Props, CUSTOM_PROP_TYPES};
29pub use registry::{NodeFactory, NodeTypeRegistry};
30pub use schema::{
31    all_props, inheritance_chain, is_valid_custom_prop_type, node_type_schema, type_props,
32    validate_custom_prop_type, DefaultPropVal, NodeTypeSchema, PropHint, PropSchema, NODE_SCHEMAS,
33};
34pub use signals::{SignalDef, SignalRegistry};
35pub use tree::NodeTree;