capability-core-string-skeleton 0.1.0

A Rust crate providing a framework to generate and manipulate skill tree skeletons using string-based node representations. It aggregates dispatch and leaf holder nodes into scalable domain models.
Documentation
// ---------------- [ File: capability-core-string-skeleton/src/core_skeletal_dispatch_node.rs ]
crate::ix!();

/// With the exception of generating the `descriptor` field for this node, we source the fields
/// from the corresponding fields in `StrippedStringSkeleton`.
///
#[derive(
    SaveLoad,
    AiJsonTemplate,
    Serialize,
    Deserialize,
    Getters, 
    Setters, 
    Builder, 
    Debug, 
    PartialEq,
    Hash,
    Eq,
    Clone
)]
#[getset(get = "pub", set = "pub")]
pub struct CoreSkeletalDispatchNode {

    /// The node’s official UpperCamelCase identifier
    ///
    #[builder(default)]
    name: String,

    /// We generate this field by creating a concise textual note describing this node’s functional role within its domain.
    ///
    /// ### Descriptor Guidance
    /// 
    /// Each **descriptor** should be:
    /// - Concise (1–2 short sentences).
    /// - Domain-relevant and self-contained—no meta-references like “This is a node about…” or “In the data structure…”.
    /// - Written so that when descriptors are read in a random top-down path from root to leaf, they form a coherent explanation or statement about a possible scenario or state. 
    /// - Each node’s descriptor stands alone yet supports a narrative when combined with its ancestors/descendants.
    ///
    #[builder(default)]
    descriptor: String,

    /// This field should be taken directly from the same field in `StrippedStringSkeleton`
    ///
    #[builder(default)]
    children: Vec<NamedChildSpec>,
}