pub struct ProtocolConfig {
pub max_parts: usize,
pub max_vertices_per_part: usize,
pub min_edge_length_squared: u128,
pub min_compactness_ppm: u128,
pub area_divisor: u128,
}Expand description
Protocol-specific configuration for polygon validation.
Passed to validation and decomposition functions.
Use ProtocolConfig::merca() for explicit on-chain Merca rules.
Use ProtocolConfig::permissive() for demos/testing with no validation limits.
Fields§
§max_parts: usizeMaximum number of convex parts per polygon.
max_vertices_per_part: usizeMaximum vertices per convex part.
min_edge_length_squared: u128Minimum edge length squared (avoids sqrt). Compare: dx²+dy² >= this value.
min_compactness_ppm: u128Minimum compactness ratio in parts-per-million. Formula: 8_000_000 * twice_area >= min_compactness_ppm * L1_perimeter²
area_divisor: u128Divisor to convert twice_area_fp2 to display units.
Implementations§
Source§impl ProtocolConfig
impl ProtocolConfig
Sourcepub fn permissive() -> Self
pub fn permissive() -> Self
No validation limits — for demos, testing, visualization.
Trait Implementations§
Source§impl Clone for ProtocolConfig
impl Clone for ProtocolConfig
Source§fn clone(&self) -> ProtocolConfig
fn clone(&self) -> ProtocolConfig
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ProtocolConfig
impl Debug for ProtocolConfig
Source§impl Default for ProtocolConfig
impl Default for ProtocolConfig
Source§impl<'de> Deserialize<'de> for ProtocolConfig
impl<'de> Deserialize<'de> for ProtocolConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ProtocolConfig
impl RefUnwindSafe for ProtocolConfig
impl Send for ProtocolConfig
impl Sync for ProtocolConfig
impl Unpin for ProtocolConfig
impl UnsafeUnpin for ProtocolConfig
impl UnwindSafe for ProtocolConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more