sigil_parser/plurality/mod.rs
1//! # Plurality Extensions for Sigil
2//!
3//! This module extends Sigil's type system to support plurality mechanics
4//! for the DAEMONIORUM game engine. It builds on Sigil's existing evidentiality
5//! system (!~?‽) to add alter-source tracking.
6//!
7//! ## Core Concepts
8//!
9//! - **Alter-Sourcing**: Track which alter perceives/controls data
10//! - **Fronting State**: First-class tracking of who is fronting
11//! - **Co-consciousness**: Channels between alters
12//! - **Split Mechanics**: Trauma-based alter creation
13//!
14//! ## New Syntax
15//!
16//! ```sigil
17//! // Alter definition
18//! alter Abaddon: Council { ... }
19//!
20//! // Alter block (scoped fronting)
21//! alter Abaddon { ... }
22//!
23//! // Switch expression
24//! switch to Beleth { reason: ..., then: ..., else: ... }
25//!
26//! // Co-conscious channel
27//! cocon<Stolas, Paimon> { ... }
28//!
29//! // Reality layer
30//! reality entity Church { layer Grounded { ... }, layer Fractured { ... } }
31//!
32//! // Headspace navigation
33//! headspace InnerWorld { location Citadel { ... } }
34//!
35//! // Trauma split
36//! split! from Abaddon { purpose: ..., memories: ... }
37//! ```
38
39pub mod ast;
40pub mod codegen;
41pub mod combat;
42pub mod dialogue;
43pub mod game_loop;
44pub mod lexer;
45pub mod parser;
46pub mod perception;
47pub mod runtime;
48pub mod save_system;
49pub mod typeck;
50
51pub use ast::*;
52pub use codegen::*;
53pub use combat::*;
54pub use dialogue::*;
55pub use game_loop::*;
56pub use lexer::*;
57pub use parser::*;
58pub use perception::*;
59pub use runtime::*;
60pub use save_system::*;
61pub use typeck::*;