capability-stripped-string-skeleton 0.1.0

Provides a streamlined representation of a skill tree structure, focusing on a lightweight, stripped-down version that retains essential hierarchical relationships without the full complexity of the original structure.
Documentation
# Grower Skill Tree Stripped String Skeleton

## Overview

The `capability-stripped-string-skeleton` crate offers an efficient mechanism for representing and manipulating a simplified skill tree structure. This is implemented through a data structure, the `StrippedStringSkeleton`, which provides a lightweight abstraction for a complex skill model originating from the more extensive `StringSkeleton`. The primary utility of this crate is in its capacity to offer a stripped, yet fully coherent, representation of hierarchical skill trees, integrated with domain-specific decision logic.

## Motivation

In scenarios where computational efficiency and simplified data representation are paramount, maintaining the full complexity of the `StringSkeleton` can be excessive. However, inter-references to the full structure remain critical during deep operations. Consequently, the `StrippedStringSkeleton` offers a bare scaffold that maps exactly to the `StringSkeleton`, preserving all essential relationships, minus the computationally intensive data.

## Features

- **Node Types:** Enumerate the `SkillTreeNodeKind` like `Dispatch`, `Aggregate`, and `LeafHolder` to provide precise node categorizations within your skill model.
- **Stripped Representation:** The `StrippedStringSkeleton` structure maintains a flattened list of nodes, directly referencing children nodes via names, detailed by type and occurrence likelihood.
- **Probabilistic Traversal:** Embedded probabilistic fields help dictate traversal paths based on pre-defined domain knowledge, enhancing decision-making processes.
- **Database Compatibility:** The design supports simplified formatting into JSON structures for efficient serialization and data exchange.
- **Auto-Promotion:** The crate implements a helper function to automatically promote unreferenced nodes during transformations, ensuring data integrity and completeness in minimalist representations.

## Usage Example

### JSON Structure
Nodes in the `StrippedStringSkeleton` can be formatted in JSON as shown:

```json
[
    {
        "name": "CoreModule",
        "kind": "Aggregate",
        "descriptor": "Collects baseline components essential for broad functionality.",
        "children": [
            {
                "name": "InitializationBlock",
                "optional": false,
                "probability": 1.0
            }
        ]
    }
]
```

### Transformations
When transforming a `StringSkeleton` to a `StrippedStringSkeleton`, utilize the provided conversion functions to preserve critical node relationships and hierarchy while adopting a reduced memory footprint.

```rust
let skel: StringSkeleton = ...; // Initialize or fetch your complex structure
let stripped: StrippedStringSkeleton = StrippedStringSkeleton::from(&skel);  // Create a stripped version
```

## Author

This crate is proudly developed by [klebs6](mailto:tpk3.mx@gmail.com).

## License

This project is available under the GPL-3.0 License.

*This README.md file was generated by an AI model and may not be 100% accurate; however, it should be pretty good.*