kcode-kmap-size 0.1.1

Approximate the token footprint of current Kweb Kmap node text
Documentation
# API

```rust
pub struct KmapSize {
    pub node_count: u64,
    pub full_node_characters: u64,
    pub full_node_words: u64,
    pub full_node_tokens: u64,
    pub long_description_characters: u64,
    pub long_description_words: u64,
    pub long_description_tokens: u64,
}

pub fn measure(
    path: &std::path::Path,
    config: kcode_kweb_db::Config,
) -> anyhow::Result<KmapSize>;

pub fn render(size: &KmapSize) -> String;
```

`measure` opens the supplied Kweb root and reads every current node. The caller
owns process exclusion and any offline-maintenance lock. Opening Kweb may run
the database's normal recovery behavior. A missing root is rejected instead of
being created.

`render` produces the human-readable report used by Kennedy's `kmap-size`
command.

The estimate is deliberately rough: one token per four Unicode characters.
Node history, provenance, connections, objects, and non-node data are excluded.