# SPDX-License-Identifier: AGPL-3.0-only
# Copyright (C) 2026 SWGY, Inc.
"""Shared plotting constants (state ordering, color map, default fig sizes)."""
from __future__ import annotations
__all__ = [
"DEFAULT_DPI",
"SCENARIO_COLORS",
"SCENARIO_ORDER",
"STATE_COLORS",
"STATE_ORDER",
]
STATE_ORDER: tuple[str, ...] = ("UA", "AW", "PR", "ER", "SH")
"""Canonical left-to-right ordering of latent states for stacked plots."""
STATE_COLORS: dict[str, str] = {
"UA": "#cccccc", # neutral grey: unaware
"AW": "#fdae61", # warm amber: aware
"PR": "#f46d43", # orange-red: preparing
"ER": "#d73027", # deep red: en-route
"SH": "#1a9850", # green: sheltered
}
"""Stable color mapping used by all reporting plots."""
SCENARIO_ORDER: tuple[str, ...] = (
"baseline",
"early-warning",
"targeted-messaging",
"contraflow",
)
"""Canonical ordering of the four predefined scenarios in cross-scenario plots."""
SCENARIO_COLORS: dict[str, str] = {
"baseline": "#4C72B0",
"early-warning": "#55A868",
"targeted-messaging": "#C44E52",
"contraflow": "#8172B3",
}
"""Colorblind-friendly palette (seaborn ``deep``) keyed by scenario."""
DEFAULT_DPI: int = 150
"""Output PNG DPI used by every CLI command."""