tawasuyu/llimphi
Sovereign retained-mode GPU UI framework in Rust (wgpu+vello+taffy+parley), Elm loop, 40+ widgets.
chore: refresco desde el monorepo — 132 miembros, 79 widgets, la galería vuelve y licencia dual
1//! # llimphi-voxel — dinámica voxel/juego sobre `llimphi-3d`
2//!
3//! Capa **opcional** y más comprometida con la "dinámica tipo-Minecraft":
4//! genera y maneja el *contenido* y la *interacción* de un mundo voxel sobre el
5//! motor 3D **general** [`llimphi_3d`], que es quien renderiza
6//! ([`llimphi_3d::Scene3d`] + [`llimphi_3d::VoxelRenderer`]).
7//!
8//! Rama de dependencias pensada como **librería reusable por cualquier juego
9//! voxel** de la suite: `app → llimphi-voxel → llimphi-3d → wgpu`. El motor
10//! (cámara, depth compartido, ray-march, mallas) no sabe nada de juegos; aquí
11//! vive lo que sí: world-gen ([`terrain`]) y picking/edición ([`raycast`]).
12//! El resto (chunks, streaming, bloques tipados) crece aquí sin tocar el motor.
13
14mod actor;
15mod apertura;
16mod camera_rig;
17mod conducta;
18mod documento;
19mod historia;
20mod critter;
21mod decorado;
22mod director;
23mod flora_sdf;
24mod foto;
25mod gesto;
26mod humano;
27mod ecuacion;
28mod bicho;
29mod bicho_receta;
30mod bicho_sdf;
31mod casa;
32mod cielo;
33mod interior;
34mod lod;
35mod mineral;
36mod mueble;
37mod multitud;
38mod player;
39mod potential;
40mod raycast;
41mod rig;
42mod sdf_kit;
43mod ser_sdf;
44mod sim;
45mod studio;
46mod terrain;
47mod urbe;
48mod utileria;
49mod particulas;
50mod vox;
51mod world_stream;
52mod worldgen;
53
54pub use actor::{squash_del_rebote, Actor, Age, Build, Clip, Pose};
55pub use camera_rig::{cam_lerp, BirthSequence, CamMode};
56pub use conducta::{default_impulsos, Conducta, Habitante, Impulso, Primitiva, PARAMS, PERCEPTS};
57pub use director::{ActorKey, ActorSample, ActorScript, Sequence, Shot};
58pub use ecuacion::{
59 Assign, BinOp, Dir, Expr, FieldDef, FieldEngine, FieldId, ParamId, Program, Reduce, Symbols,
60 UnOp,
61};
62pub use vox::{
63 grid_to_model, load_grid, load_scene_grid, model_to_grid, save_grid, scene_to_grid, stamp,
64 stamp_rotated, VoxExportError, VoxLoadError,
65};
66pub use critter::Critter;
67pub use foto::{photo_to_grid, photo_to_grid_depth, stamp_busto, FotoOpts, FotoStats, Relieve};
68pub use humano::{humanoide_voxel, Colores, EstiloSer};
69pub use gesto::Gesto;
70pub use ser_sdf::{
71 altura_ojos, ser_sdf, ser_sdf_atuendo, ser_sdf_con, ser_sdf_lod, Atuendo, DetalleSer,
72 Peinado, Sombrero,
73};
74pub use multitud::{multitud, multitud_caminando, persona, Caminante, Persona};
75pub use lod::{lod_skirt, lod_skirt_pyramid, LodParams, LodRing};
76pub use player::{forward_h, look_dir, right_h, Player};
77pub use particulas::{disparar_sucesos, Enjambre, Mota};
78pub use potential::{Egg, Hatchling};
79pub use raycast::{raycast, VoxelHit};
80pub use rig::{Andar, Andares, Eje, Movimiento, Osc, Rig, RigPose, Segmento, SlotColor};
81pub use sim::{CellChange, EcuacionSim, GrowthSim, WaterSim, CELL_AIR, CELL_WATER};
82pub use apertura::{Atmosfera, Caida};
83pub use cielo::{luz_de, Cielo, ALCANCE_LUZ_PROPIA};
84pub use decorado::{
85 estampar_decorado, estampar_puesta, macizos, sumar_macizos, Decorado, Florcita, Jardin, Puesta, MACIZO, PRIMS_POR_FLOR,
86};
87pub use documento::{Documento, ErrorDoc, Remapeo, MAGIA_DOC, VERSION_DOC};
88pub use historia::{hex_corto, Historia, Version, Hash, RAMA_PRINCIPAL};
89pub use studio::{
90 reparto_mixto, reparto_mixto_con, reparto_sdf, window_origin_for_cast, world_dim, ActorKeySpec, ActorSpec,
91 CharSpec, EnCuadro, Reparto,
92 Ley, LeyKind, LeyUso,
93 MapaFuente, MatRole, MaterialDef, Mundo, MundoRender, ParamDef, Project, SceneSpec, ShotKind,
94 ShotSpec, Suceso, TipoSuceso, PREVIEW_DIM_XZ, SCENE_SUN, SCENE_WINDOW_STEP,
95};
96pub use terrain::{column_height, fill_terrain_window, terrain};
97pub use world_stream::WorldStream;
98pub use bicho::{stamp_bicho, Bicho, BichoUso, DETALLE_SER_VIVO};
99pub use bicho_receta::{
100 alto_tipico, receta, Ala, AlaBicho, Ave, Cola, ColaAve, Cresta, Cuadrupedo, Cuerno, Insecto,
101 Nadador, Oreja, Patron, Pico, Pinta, Receta, Reptante,
102};
103pub use utileria::{Utileria, UtileriaSpec, APARECER};
104pub use bicho_sdf::{bicho_sdf, bicho_sdf_con, bicho_sdf_lod, Andanza};
105pub use sdf_kit::{
106 asentar, cadena, capsula, decal, decal_linea, elipsoide, esfera, extension_y, hash01, hash11,
107 mezcla, rgb, tono,
108};
109pub use casa::{casa_seed, plantar_casa, plantar_casa_girada, stamp_casa, CasaTipo, CasaUso, PuebloTipo};
110pub use interior::{Cutaway, Interior, Pieza, TechoTipo};
111pub use mineral::{Aspecto, Mineral, MineralUso};
112pub use mueble::{stamp_mueble, Mueble};
113pub use flora_sdf::{alto_flora, flora_sdf, flora_sdf_col, Follaje};
114pub use worldgen::{
115 Bioma, BiomaPalette, Forma, Material, ObjetoUso, ResolvedMaterial, Sembrada, Sembrado, SereUso,
116};