VisiMark — examples
Table of Contents
# Runway plan, 2027: the sweep

Runway plan, 2027: the sweep

This is the model used in chapter 31 of [the VisiMark tutorial](tutorial.md):
the runway plan of chapters 29 and 30, with two of its assumptions declared as
ranges to sweep and a sheet of readings for `visimark simulate`. Every number
below that follows from another number is written by `visimark fmt`.

This is the model used in chapter 31 of the VisiMark tutorial: the runway plan of chapters 29 and 30, with two of its assumptions declared as ranges to sweep and a sheet of readings for visimark simulate. Every number below that follows from another number is written by visimark fmt.

## Team

Team

| Team        | Heads |   Salary |     Cost |
|-------------|------:|---------:|---------:|
| Engineering |     6 | 11000.00 | 67980.00 |
| Sales       |     3 |  9000.00 | 27810.00 |
| Operations  |     2 |  7500.00 | 15450.00 |
Team Heads Salary Cost
Engineering 6 11000.00 67980.00
Sales 3 9000.00 27810.00
Operations 2 7500.00 15450.00
```vmark #team
param raise precision 3 in [0%, 6%] lattice 2% = default 3%

Cost = ROUND(Heads * Salary * (1 + raise), 2)

headcount = SUM(Heads)
payroll   = SUM(Cost)
```
param raise precision 3 in [0%, 6%] lattice 2% = default 3%

Cost = ROUND(Heads * Salary * (1 + raise), 2)

headcount = SUM(Heads)
payroll   = SUM(Cost)
The team of **11**<!--vmark=team.headcount--> people costs
**111240.00**<!--vmark=team.payroll--> PLN a month, after a
**3.0%**<!--vmark=team.raise|percent--> raise.

The team of 11 people costs 111240.00 PLN a month, after a 3.0% raise.

## Runway

Runway

```vmark #runway
param cash      precision 2 = default 2000000.00
param overhead  precision 2 = default 21000.00
param new_hires precision 0 integer in [0, 6] lattice 1 = default 2
param hire_cost precision 2 = default 10500.00

burn = team.payroll + overhead + new_hires * hire_cost
months precision 1 = cash / burn

assert months >= 12
```
param cash      precision 2 = default 2000000.00
param overhead  precision 2 = default 21000.00
param new_hires precision 0 integer in [0, 6] lattice 1 = default 2
param hire_cost precision 2 = default 10500.00

burn = team.payroll + overhead + new_hires * hire_cost
months precision 1 = cash / burn

assert months >= 12
With **2**<!--vmark=runway.new_hires--> new hires the company spends
**153240.00**<!--vmark=runway.burn--> PLN a month, so the cash lasts
**13.1**<!--vmark=runway.months--> months. The plan requires at least twelve.

With 2 new hires the company spends 153240.00 PLN a month, so the cash lasts 13.1 months. The plan requires at least twelve.

## Sweep

Sweep

```vmark #sweep
report ledger assertions broken
report deltas on runway.months
report gates
report best scalar runway.new_hires direction max among feasible
report forbidden
```
report ledger assertions broken
report deltas on runway.months
report gates
report best scalar runway.new_hires direction max among feasible
report forbidden