# Fire Risk QA Coverage

This gate covers the MVP campfire/open-flame risk model introduced in `0.1.P`.
It is intentionally systems-focused: the current visuals may still be
placeholder-level, but the server state must behave predictably before investor
or multiplayer testing calls fire risk complete.

## Required Scenarios

- Safe campfire:
  - light a campfire away from grass, shrubs, trees, primitive shelter pieces,
    wood piles, and fiber piles.
  - maintain or contain it.
  - verify `FireRiskScore`, vegetation ignition risk, structure ignition risk,
    and spread radius stay low or return to zero.
- Unsafe campfire:
  - light a campfire near dry grass, shrubs, trees, wood, fiber, or shelter
    pieces.
  - leave it unmaintained with enough fuel.
  - verify `FireRiskScore` rises and feeds ignition checks.
- Vegetation spread:
  - place a lit fire inside `VegetationIgnitionCheckRadius` of grass/shrub/tree
    fuel.
  - verify grass/brush and forest ignition risk accumulates from nearby fuel,
    burn duration, wind/weather, and current fire risk.
  - verify active grass/forest fire intensities and spread radius grow only on
    the server after ignition flags are set.
- Shelter ignition:
  - place a lit fire too close to a primitive shelter or wood/fiber resource
    node.
  - verify `StructureIgnitionRiskScore` accumulates unless the fire is
    contained.
  - verify structure fire intensity contributes to active spread radius after
    ignition.
- Suppression:
  - apply water, dirt/sand, firebreak, and tool suppression hooks.
  - verify suppression pressure rises, fire risks fall, active fire intensities
    fall, spread radius shrinks, and water/rain drains fuel.
- Save/load recovery:
  - save while grass, forest, or structure fire state is active or partially
    suppressed.
  - load the world and verify ignition flags, risk scores, intensities, spread
    radius, suppression pressure, fuel, maintenance, and cooking state are
    restored together.

## Minimum Script Gate

Run these local checks before packaging:

```bash
python3 Scripts/verify_unattended_fire_risk.py
python3 Scripts/verify_vegetation_ignition_checks.py
python3 Scripts/verify_structure_ignition_risk.py
python3 Scripts/verify_fire_spread_rules.py
python3 Scripts/verify_fire_maintenance_gameplay.py
python3 Scripts/verify_fire_suppression_hooks.py
python3 Scripts/verify_fire_persistence_state.py
python3 Scripts/verify_fire_risk_qa_coverage.py
```

The manual scenarios should be promoted into Unreal automation once dedicated
test fixtures exist for spawning controlled campfires, foliage fuel, shelters,
weather/wind inputs, and persistence round trips.
