//! # llimphi-voxel — dinámica voxel/juego sobre `llimphi-3d` //! //! Capa **opcional** y más comprometida con la "dinámica tipo-Minecraft": //! genera y maneja el *contenido* y la *interacción* de un mundo voxel sobre el //! motor 3D **general** [`llimphi_3d`], que es quien renderiza //! ([`llimphi_3d::Scene3d`] + [`llimphi_3d::VoxelRenderer`]). //! //! Rama de dependencias pensada como **librería reusable por cualquier juego //! voxel** de la suite: `app → llimphi-voxel → llimphi-3d → wgpu`. El motor //! (cámara, depth compartido, ray-march, mallas) no sabe nada de juegos; acá //! vive lo que sí: world-gen ([`terrain`]) y picking/edición ([`raycast`]). //! El resto (chunks, streaming, bloques tipados) crece acá sin tocar el motor. mod actor; mod camera_rig; mod critter; mod director; mod lod; mod player; mod potential; mod raycast; mod studio; mod terrain; mod vox; mod world_stream; mod worldgen; pub use actor::{Actor, Age, Build, Clip, Pose}; pub use camera_rig::{cam_lerp, BirthSequence, CamMode}; pub use director::{ActorKey, ActorSample, ActorScript, Sequence, Shot}; pub use vox::{load_grid, load_scene_grid, model_to_grid, scene_to_grid, stamp, VoxLoadError}; pub use critter::Critter; pub use lod::{lod_skirt, lod_skirt_pyramid, LodParams, LodRing}; pub use player::{forward_h, look_dir, right_h, Player}; pub use potential::{Egg, Hatchling}; pub use raycast::{raycast, VoxelHit}; pub use studio::{ world_dim, ActorKeySpec, ActorSpec, CharSpec, NamedWorld, Project, SceneSpec, ShotKind, ShotSpec, PREVIEW_DIM_XZ, SCENE_SUN, }; pub use terrain::{column_height, fill_terrain_window, terrain}; pub use world_stream::WorldStream; pub use worldgen::{Flora, Material, WorldRecipe};