Expand description
Event ledger for tracking photon event chains.
The Ledger maintains a record of photon event sequences,
enabling forward and backward traversal through the event tree.
§Structure
Each event is identified by a Uid (unique identifier) containing:
seq_id: Sequence number in the chainevent: 32-bit encoded event type
§Usage
use aetherus_events::prelude::*;
use aetherus_events::mcrt_event;
use aetherus_events::events::Emission;
let mut ledger = LedgerTree::new();
// Insert start event (photon emission)
let start = ledger.root().insert(EventId::new(
EventType::Emission(Emission::PointSource),
SrcId::Light(1)
));
// Add subsequent events
let next = start.insert(EventId::new_mcrt(
mcrt_event!(Material, Elastic, Mie, Forward),
SrcId::Mat(1)
));
// Resolve LedgerTree before accessing
ledger.resolve();
// Get the chain
let chain = next.get_chain();Structs§
- HexInner
Map - Ledger
- Event ledger for tracking photon event chains.
- Ledger
Node - Ledger
Tree
Enums§
- SrcName
- Named source identifier for humans.