Skip to main content

Crate aetherus_events

Crate aetherus_events 

Source
Expand description

Aetherus Event Type Ledger

This library provides an event encoding and tracking system for LIDAR photon modeling, based on the Aetherus event specification. It defines pipelines for Emission, MCRT (Monte Carlo Radiative Transfer), Detection, and Processing stages.

§Encoding Scheme

Events are encoded as 32-bit integers with the following structure:

  • Pipeline: 4 bits (bits 24-27)
  • SuperType: 2 bits (bits 22-23)
  • SubType: 6 bits (bits 16-21)
  • Source ID: 16 bits (bits 0-15)

§Modules

  • raw: Low-level bitfield encoding/decoding traits and types
  • mcrt: MCRT-specific event types (Interface, Reflector, Material)
  • emission: Light source emission types
  • filter: Event filtering using bitmask matching
  • ledger: Event chain tracking with unique identifiers (UID)
  • reader: CSV/JSON file reading utilities

§Quick Start

use aetherus_events::prelude::*;
use aetherus_events::{Encode, Decode};

// Create an event
let event = EventId::new_mcrt(
    mcrt_event!(Material, Elastic, Mie, Forward),
    SrcId::Mat(1)
);

// Encode to raw u32
let encoded = event.encode();
println!("Encoded: {:08X}", encoded);

// Decode back
let decoded = EventId::decode(encoded);
println!("Decoded: {:?}", decoded);

See README for full specification.

Re-exports§

pub use crate::events::EventId;
pub use crate::events::EventType;
pub use crate::ledger::Ledger;
pub use crate::src::SrcId;
pub use crate::uid::Uid;

Modules§

events
filter
Event filtering using bitmask matching.
ledger
Event ledger for tracking photon event chains.
maps
prelude
raw
Low-level bitfield encoding and decoding.
read
CSV and JSON file reading utilities.
src
uid

Macros§

filter_detect_seq
filter_emit_seq
filter_mcrt_seq
impl_u8_raw_field
mcrt_event
pattern

Traits§

Decode
Encode
RawEvent