# @suaveplan/network-plugin-simulation - Deterministic virtual-network simulation framework for the Suaveplan mesh: NetworkSimulator (seeded RNG + time control + topology factories), VirtualNode, ScenarioRunner, NetworkConditionInjector, ChaosEngine. Dev/test only. ## Summary Deterministic virtual-network simulation framework for the Suaveplan mesh. `NetworkSimulator` runs scenarios against a seeded RNG with simulated time (acceleration / deceleration vs wall clock) and four built-in topology factories (star / mesh / tiered / custom); `VirtualNode` wraps the same `NetworkNode` + plugin code that real peers use, so behaviour is bit-identical between simulation and production; `ScenarioRunner` executes declarative scenarios (setup → ordered events → success criteria → metric collection) with checkpointing for long runs; `NetworkConditionInjector` applies latency / loss / bandwidth / jitter / connection-disruption models per peer-pair; `ChaosEngine` injects random failures (peer crashes, transport faults, partitions, message drops) for chaos testing. Dev/test only — the production wrapper is a no-op when `NODE_ENV === "production"`. ## Documentation tree - [chaos](./src/chaos/chaos-engine.md) — _(no submodules)_ - [chaos-engine](./src/chaos/chaos-engine.md) — _(no submodules)_ - [conditions](./src/conditions/network-condition-injector.md) — _(no submodules)_ - [network-condition-injector](./src/conditions/network-condition-injector.md) — _(no submodules)_ - [plugin](./src/plugin/simulation-plugin.md) — _(no submodules)_ - [simulation-plugin](./src/plugin/simulation-plugin.md) — _(no submodules)_ - [scenario](./src/scenario/scenario-runner.md) — _(no submodules)_ - [scenario-runner](./src/scenario/scenario-runner.md) — _(no submodules)_ - [simulator](./src/simulator/network-simulator.md) — _(no submodules)_ - [network-simulator](./src/simulator/network-simulator.md) — _(no submodules)_ - [virtual-node](./src/virtual-node/virtual-node.md) — _(no submodules)_ - [virtual-node](./src/virtual-node/virtual-node.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the simulation package. Codes are namespaced under `NET_SIM` and register… - [chaos-engine](./src/chaos/chaos-engine.md) — _(no submodules)_- [conditions](./src/conditions/network-condition-injector.md) — _(no submodules)_- [network-condition-injector](./src/conditions/network-condition-injector.md) — _(no submodules)_- [plugin](./src/plugin/simulation-plugin.md) — _(no submodules)_- [simulation-plugin](./src/plugin/simulation-plugin.md) — _(no submodules)_- [scenario](./src/scenario/scenario-runner.md) — _(no submodules)_- [scenario-runner](./src/scenario/scenario-runner.md) — _(no submodules)_- [simulator](./src/simulator/network-simulator.md) — _(no submodules)_- [network-simulator](./src/simulator/network-simulator.md) — _(no submodules)_- [virtual-node](./src/virtual-node/virtual-node.md) — _(no submodules)_- [virtual-node](./src/virtual-node/virtual-node.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the simulation package. Codes are namespaced under `NET_SIM` and register… - [chaos-engine](./src/chaos/chaos-engine.md) — _(no submodules)_- [conditions](./src/conditions/network-condition-injector.md) — _(no submodules)_- [network-condition-injector](./src/conditions/network-condition-injector.md) — _(no submodules)_- [plugin](./src/plugin/simulation-plugin.md) — _(no submodules)_- [simulation-plugin](./src/plugin/simulation-plugin.md) — _(no submodules)_- [scenario](./src/scenario/scenario-runner.md) — _(no submodules)_- [scenario-runner](./src/scenario/scenario-runner.md) — _(no submodules)_- [simulator](./src/simulator/network-simulator.md) — _(no submodules)_- [network-simulator](./src/simulator/network-simulator.md) — _(no submodules)_- [virtual-node](./src/virtual-node/virtual-node.md) — _(no submodules)_- [virtual-node](./src/virtual-node/virtual-node.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the simulation package. Codes are namespaced under `NET_SIM` and register… - [chaos-engine](./src/chaos/chaos-engine.md) — _(no submodules)_- [conditions](./src/conditions/network-condition-injector.md) — _(no submodules)_- [network-condition-injector](./src/conditions/network-condition-injector.md) — _(no submodules)_- [plugin](./src/plugin/simulation-plugin.md) — _(no submodules)_- [simulation-plugin](./src/plugin/simulation-plugin.md) — _(no submodules)_- [scenario](./src/scenario/scenario-runner.md) — _(no submodules)_- [scenario-runner](./src/scenario/scenario-runner.md) — _(no submodules)_- [simulator](./src/simulator/network-simulator.md) — _(no submodules)_- [network-simulator](./src/simulator/network-simulator.md) — _(no submodules)_- [virtual-node](./src/virtual-node/virtual-node.md) — _(no submodules)_- [virtual-node](./src/virtual-node/virtual-node.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the simulation package. Codes are namespaced under `NET_SIM` and register… - [chaos-engine](./src/chaos/chaos-engine.md) — _(no submodules)_- [conditions](./src/conditions/network-condition-injector.md) — _(no submodules)_ - [network-condition-injector](./src/conditions/network-condition-injector.md) — _(no submodules)_- [plugin](./src/plugin/simulation-plugin.md) — _(no submodules)_ - [simulation-plugin](./src/plugin/simulation-plugin.md) — _(no submodules)_- [scenario](./src/scenario/scenario-runner.md) — _(no submodules)_ - [scenario-runner](./src/scenario/scenario-runner.md) — _(no submodules)_- [simulator](./src/simulator/network-simulator.md) — _(no submodules)_ - [network-simulator](./src/simulator/network-simulator.md) — _(no submodules)_- [virtual-node](./src/virtual-node/virtual-node.md) — _(no submodules)_ - [virtual-node](./src/virtual-node/virtual-node.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the simulation package. Codes are namespaced under `NET_SIM` and register…