#![cfg_attr(docsrs, feature(doc_cfg))]
#![warn(missing_docs)]
#![recursion_limit = "256"]
#[macro_export]
macro_rules! include_shaders {
() => {
#[allow(
unsafe_code,
dead_code,
unused_imports,
unreachable_pub,
unused_qualifications,
elided_lifetimes_in_paths,
single_use_lifetimes,
clippy::all,
clippy::pedantic,
clippy::restriction,
clippy::nursery
)]
mod shader_bindings {
use $crate::__shader_support::{bytemuck, wgpu};
::core::include!(::core::concat!(::core::env!("OUT_DIR"), "/shader_bindings.rs"));
}
#[allow(
unsafe_code,
dead_code,
unused_imports,
unreachable_pub,
unused_qualifications,
elided_lifetimes_in_paths,
single_use_lifetimes,
clippy::all,
clippy::pedantic,
clippy::restriction,
clippy::nursery
)]
mod binding_decls {
use $crate::__shader_support::{BindingDecl, BindingKind};
::core::include!(::core::concat!(::core::env!("OUT_DIR"), "/binding_decls.rs"));
}
const _: () = ::core::assert!(
binding_decls::SHARED_WGSL_FNV1A64 == $crate::__shader_support::SHARED_WGSL_FNV1A64,
"henad-build composed these shaders against other shared WGSL than this henad links. Use the same 0.x of \
henad and henad-build, from one source.",
);
};
}
include_shaders!();
pub mod cpu;
pub mod display_scale;
pub mod entry;
pub mod fault;
pub mod gpu;
pub mod runner;
pub mod runtime_info;
pub mod simulation;
pub mod snapshot;
#[doc(hidden)]
pub const __COMPUTE_BUILD: henad_core::provenance::BuildInfo = henad_core::build_info!();
#[doc(hidden)]
pub mod __shader_support {
pub use henad_core::authoring::model::binding::{BindingDecl, BindingKind};
pub use henad_core::authoring::primitives::wgsl::SHARED_WGSL_FNV1A64;
pub use {bytemuck, wgpu};
}
#[doc(hidden)]
pub mod __macro_support {
pub use henad_core::authoring::model::agent_model::{AgentLanes, ChunkTally};
pub use henad_core::metadata::LaneSpec;
pub use rayon;
pub use crate::cpu::primitives::chunked::chunk_seed;
}