# wmap
Command line tool to generate wardley map images from wmap files.
## How to use
### Synopsis
```
wmap [OPTIONS] INPUT_FILE
```
### Description
The **wmap** utility creates an image file from a *wmap* formatted file.
If *INPUT_FILE* is absent, **wmap** reads from the standard input. If
piped or redirected, it will output the file data to *stdout*.
### Options
- **-h, --help**: Display help.
- **-v, --version**: Display version information.
- **-t, --type <IMAGE_TYPE>**: Specifies the output type. Can be one of: `png`,
or `svg`. Defaults to `png`.
- **-s, --stage <STAGE>**: Specifies the stage labels to use. Defaults tool
`activities`.
- **-o, --output <OUTPUT_FILE>**: The output file in which to write the image.
Defaults to the same filename as the input map, but replacing the extension
with either `png`, or `svg`. Setting this flag will suppress stdout if piped
or redirected.
### Stages
The renderer has the following built-in stage types available:
* **Activities** (`activities`)
1. Genesis
2. Custom
3. Product (+rental)
4. Commodity (+utility)
* **Behavior** (`behavior`)
1. Uncertain when to use
2. Learning when to use
3. Learning through use
4. Known / common usage
* **Certainty** (`certainty`)
1. Poorly Understood / exploring the unknown
2. Rapid Increase In Learning / discovery becomes refining
3. Rapid increase in use / increasing fit for purpose
4. Commonly understood (in terms of use)
* **Comparison** (`comparison`)
1. Constantly changing / a differential / unstable
2. Learning from others / testing the water / some evidential support
3. Competing models / feature difference / evidential support
4. Essential / any advantage is operational / accepted norm
* **Cynefin** (`cynefin`)
1. Chaotic
2. Complex
3. Complicated
4. Clear
* **Data** (`data`)
1. Unmodelled
2. Divergent
3. Convergent
4. Modelled
* **Decision Drivers** (`decision_drivers`)
1. Heritage / culture
2. Analyses & synthesis
3. Analyses & synthesis
4. Previous Experience
* **Efficiency** (`efficiency`)
1. Reducing the cost of change (experimentation)
2. Reducing cost of waste (Learning)
3. Reducing cost of waste (Learning)
4. Reducing cost of deviation (Volume)
* **Failure** (`failure`)
1. High / tolerated / assumed to be wrong
2. Moderate / unsurprising if wrong but disappointed
3. Not tolerated / focus on constant improvement / assumed to be in the right direction / resistance to changing the model
4. Surprised by failure / focus on operational efficiency
* **Focus Of Value** (`focus_of_value`)
1. High future worth but immediate investment
2. Seeking ways to profit and a ROI / seeking confirmation of value
3. High profitability per unit / a valuable model / a feeling of understanding / focus on exploitation
4. High volume / reducing margin / important but invisible / an essential component of something more complex
* **Knowledge** (`knowledge`)
1. Concept
2. Hypothesis
3. Theory
4. Accepted
* **Knowledge Management** (`knowledge_management`)
1. Uncertain
2. Learning on use / focused on testing prediction
3. Learning on operation / using prediction / verification
4. Known / accepted
* **Market** (`market`)
1. Undefined Market
2. Forming Market / an array of competing forms and models of understanding
3. Growing Market / consolidation to a few competing but more accepted forms
4. Mature Market / stabilised to an accepted form
* **Market Action** (`market_action`)
1. Gambling / driven by gut
2. Exploring a "found" value
3. Market analysis / listening to customers
4. Metric driven / build what is needed
* **Market Perception** (`market_perception`)
1. Chaotic (non-linear) / domain of the "crazy"
2. Domain of "experts"
3. Increasing expectation of use / domain of "professionals"
4. Ordered (appearance of being linear) / trivial / formula to be applied
* **Perception In Industry** (`perception_in_industry`)
1. Future source of competitive advantage / unpredictable / unknown
2. Seen as a scompetitive advantage / a differential / ROI / case examples
3. Advantage through implementation / features / this model is better than that
4. Cost of doing business / accepted / specific defined models
* **Practice** (`practice`)
1. Novel
2. Emerging
3. Good
4. Best
* **Publication Types** (`publication`)
1. Describe the wonder of the thing / the discovery of some marvel / a new land / an unknown frontier
2. Focused on build / construct / awareness and learning / many models of explanation / no accepted forms / a wild west
3. Maintenance / operations / installation / comparison between competing forms / feature analysis
4. Focused on use / increasingly an accepted, almost invisible component
* **Ubiquity** (`ubiquity`)
1. Rare
2. Slowly Increasing
3. Rapidly Increasing
4. Widespread in the applicable market / ecosystem
* **Understanding** (`understanding`)
1. Poorly Understood / unpredictable
2. Increasing understanding / development of measures
3. Increasing education / constant refinement of needs / measures
4. Believed to be well defined / stable / measurable
* **User Perception** (`user_perception`)
1. Different / confusing / exciting / surprising / dangerous
2. Leading edge / emerging / unceirtanty over results
3. Increasingly common / disappointed if not used or available / feeling left behind
4. Standard / expected / feeling of shock if not used
* **Evolution Stage** (`evolution_stage`)
1. Stage I
2. Stage II
3. Stage III
4. Stage IV
# Building
This project is built using cargo. A makefile is provided to run common tasks.
Build dev version with `make` or `make build`.
Build release with `make -e profile=release` or `make -e profile=release build`.
Run tests with `make test`.
If you have [tarpaulin][tarpaulin], you can also run `make coverage` to get
coverage information.
# Distribution of Builds
Builds are available at [build.r.bdr.sh][rbdr-builds]. The linux builds are
generated automatically by the CI: Unstable builds are built from the `main`
branch, and stable releases are built from tags.
For mac, the process is still manual, since the commands need to be run from
a macos machine by running `make mac` for unstable builds, and
`make -e tag=M.m.p` for stable builds.
[tarpaulin]: https://github.com/xd009642/tarpaulin
[rbdr-builds]: https://build.r.bdr.sh/wmap/