#[expect(
unused_imports,
reason = "one backend compiles per build, so each consumes only a subset of these re-exports"
)]
pub(crate) mod gfx {
pub(crate) use concinnity_core::gfx::{
auto_exposure, frustum, image_decode, lod, mesh_payload, morph_targets, profile,
render_types, rt_reflections, ssao, ssgi, ssr,
};
pub(crate) use concinnity_core::render::{
backend, backend_init, csm, decal, display_mode, draw_slot, error, fullscreen, hdr_output,
input, keymap, lights, ltc, mipmap, parallel_ctx, particles, planar_reflection,
reflection_probe, render_graph, rt_geom, rt_refit, rt_topology, scene_flow, shadow_bias,
shadow_schedule, skinned_pool, slot_rewrites, spot_shadow, transparent, volumetric_fog,
};
}
#[cfg(any(backend_metal, backend_dx, backend_vk))]
pub(crate) use concinnity_core::components;
#[cfg(any(backend_metal, backend_dx, backend_vk))]
pub(crate) use concinnity_core::{bake, geometry};
#[cfg(any(backend_metal, backend_dx, backend_vk))]
pub(crate) use concinnity_host::thread::jobs;
#[cfg(backend_dx)]
pub(crate) mod directx;
#[cfg(backend_metal)]
pub mod metal;
#[cfg(backend_vk)]
pub(crate) mod vulkan;
#[cfg(all(target_os = "windows", any(backend_dx, backend_vk)))]
pub(crate) mod win32;
#[cfg(all(target_os = "macos", any(backend_metal, backend_vk)))]
pub(crate) mod appkit;
#[cfg(any(backend_metal, backend_dx, backend_vk))]
pub(crate) mod runtime_cache;
#[cfg(any(backend_metal, backend_dx, backend_vk))]
pub(crate) mod shader_cache;
#[cfg(any(backend_dx, backend_vk, backend_metal))]
pub(crate) mod compiler_work;
#[cfg(any(backend_dx, backend_vk, backend_metal))]
pub(crate) mod raymarch_source;
pub(crate) mod slang_source;
pub(crate) mod surface_source;
#[cfg(any(backend_dx, backend_vk))]
pub(crate) mod pipeline_cache;
#[cfg(any(backend_dx, backend_vk))]
pub mod precompile;
#[cfg(all(test, any(backend_metal, backend_dx, backend_vk)))]
mod slangc_gate;
#[cfg(all(test, any(backend_metal, backend_dx, backend_vk)))]
mod shader_layout;
#[cfg(test)]
mod barrier_audit;
#[cfg(test)]
mod double_drive_audit;
#[cfg(any(backend_metal, backend_dx, backend_vk))]
pub(crate) mod suballoc;
mod factory;
pub use factory::{init_backend, probe_gpu_profile};