1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! Metaball / Isosurface Entity System
//!
//! Each entity is a 3D scalar field defined by a set of field sources (metaballs).
//! The visible surface is extracted via marching cubes at a configurable threshold.
//! HP affects field strength — damage literally reshapes the entity's body.
//!
//! # Architecture
//!
//! ```text
//! MetaballEntity
//! ├─ sources: Vec<FieldSource> (position, strength, radius, falloff, color)
//! ├─ threshold: f32 (isosurface level)
//! ├─ hp_ratio: f32 (0.0 = dead, 1.0 = full HP)
//! └─ grid_resolution: u32 (32 normal, 64 boss)
//!
//! Per frame:
//! 1. Update sources (HP modulation, damage zones, breathing)
//! 2. Evaluate field on 3D grid (CPU or GPU compute)
//! 3. March cubes → ExtractedMesh
//! 4. Apply surface material (iridescence, translucency, fresnel)
//! 5. Render into G-buffer via deferred pipeline
//! ```
pub use ;
pub use FieldSample;
pub use ;
pub use GpuMarchingCubes;
pub use ;
pub use ;
pub use EntityTemplate;