{
  "reviewedAt": "2026-10-20",
  "mode": "Reviewed agency snapshots; not live incidents",
  "bounds": [
    -118.12,
    33.62,
    -117.93,
    33.78
  ],
  "views": [
    {
      "id": "overview",
      "title": "Overview",
      "icon": "pin",
      "layers": [
        "parks",
        "libraries",
        "beaches"
      ],
      "heading": "Get to know the city.",
      "description": "Start with the coastline, open space and everyday services. Tap any mapped feature to inspect the original record.",
      "stat": "Real places. Public records.",
      "detail": "The visible features come from the city’s GIS inventory. Turn on another view to explore housing, streets, hazards and public safety."
    },
    {
      "id": "housing",
      "title": "Housing",
      "icon": "home",
      "layers": [
        "housing",
        "zoning"
      ],
      "heading": "Where housing meets planning.",
      "description": "Explore the affordable housing inventory and zoning underneath it. Existing properties, planning capacity and new construction are different measures.",
      "stat": "$2,510",
      "statLabel": "Median gross rent · ACS 2020–2024",
      "detail": "Housing points are an inventory, not available units. The optional major-project layer is dated May 2024, so its statuses are historical.",
      "article": "/investigations/housing-adopted-is-not-finished/"
    },
    {
      "id": "streets",
      "title": "Streets",
      "icon": "road",
      "layers": [
        "pavement"
      ],
      "heading": "How is your street holding up?",
      "description": "Color shows the source pavement condition index. Zoom in and select a segment for its score, survey edition and recorded inspection date.",
      "stat": "80.3 / 100",
      "statLabel": "Network PCI · May 2026 report",
      "detail": "The report’s network score is area-weighted. It is not the simple average of visible segments. Switching editions does not establish a like-for-like survey trend.",
      "article": "/investigations/streets-maintenance-and-the-funding-gap/"
    },
    {
      "id": "hazards",
      "title": "Hazards",
      "icon": "wave",
      "layers": [
        "flood"
      ],
      "heading": "Understand the exposure.",
      "description": "Explore published flood and tsunami hazard areas alongside the drainage network. These are planning maps, not current incident reports.",
      "stat": "Plan ahead.",
      "statLabel": "No live emergency feed",
      "detail": "Flood and tsunami boundaries are simplified for display. Absence of shading is not a guarantee of safety. Official mapping and emergency guidance take precedence."
    },
    {
      "id": "safety",
      "title": "Safety",
      "icon": "shield",
      "layers": [
        "beats",
        "police",
        "fire"
      ],
      "heading": "Safety, without invented hotspots.",
      "description": "See police patrol areas and public safety facilities. The verified crime trend is citywide; it cannot be distributed across neighborhoods from annual totals.",
      "stat": "↓ 28.9%",
      "statLabel": "Reported violent offenses · 2022–2025",
      "detail": "No verified crime-incident feed has been imported. Patrol boundaries do not indicate which neighborhood is safer.",
      "article": "/investigations/crime-and-council-credit/"
    },
    {
      "id": "traffic",
      "title": "Traffic",
      "icon": "road",
      "layers": [
        "collisions"
      ],
      "heading": "The road-safety picture.",
      "description": "Explore reported 2024 crashes at their source coordinates. Filter by month or recorded outcome, then select a location to inspect the record.",
      "stat": "1,368 mapped",
      "statLabel": "Of 1,725 CHP city records · 2024",
      "detail": "357 source records have no usable location. Injury labels come from recorded person counts, not an independent severity assessment. These points are not a risk or fault ranking."
    },
    {
      "id": "events",
      "title": "Events",
      "icon": "clock",
      "layers": [
        "events",
        "libraries",
        "parks"
      ],
      "heading": "What’s happening, and where?",
      "description": "Check verified city event and traffic resources, then use the map to find parks and libraries. Event venues do not imply an event is happening today.",
      "stat": "5 reviewed events",
      "statLabel": "October 22–29, 2026 · confirm with city",
      "detail": "Only dated events from an official public feed can appear as event markers. Public calendars and road alerts remain separate from the city’s static GIS inventories."
    }
  ],
  "layers": [
    {
      "id": "parks",
      "title": "Parks & open space",
      "group": "Everyday life",
      "kind": "fill",
      "color": "#77a276",
      "file": "parks",
      "label": "City park footprints",
      "note": "Public GIS inventory; footprints do not establish amenities, maintenance or accessibility.",
      "fields": [
        [
          "address",
          "Address"
        ],
        [
          "acres",
          "GIS acres"
        ]
      ],
      "publisher": "City of Huntington Beach / HB GIS",
      "source": "https://gis.huntingtonbeachca.gov/arcgis/rest/services/Property/MapServer/1",
      "retrievedAt": "2026-10-20T19:29:34.959796+00:00",
      "sourceLastEdit": null,
      "vintage": null,
      "mappedRecords": 81,
      "sourceRecords": 81,
      "missingGeometry": 0,
      "coverage": "Agency city inventory; geographic coverage follows source"
    },
    {
      "id": "libraries",
      "title": "Libraries",
      "group": "Everyday life",
      "kind": "point",
      "color": "#586ec6",
      "file": "libraries",
      "label": "Library locations",
      "note": "Points represent the center of each facility footprint, not necessarily an entrance. Hours are not live.",
      "fields": [
        [
          "address",
          "Address"
        ],
        [
          "phone",
          "Published phone"
        ]
      ],
      "publisher": "City of Huntington Beach / HB GIS",
      "source": "https://gis.huntingtonbeachca.gov/arcgis/rest/services/CityFacilities/MapServer/11",
      "retrievedAt": "2026-10-20T19:29:34.959796+00:00",
      "sourceLastEdit": null,
      "vintage": null,
      "mappedRecords": 5,
      "sourceRecords": 5,
      "missingGeometry": 0,
      "coverage": "Agency city inventory; geographic coverage follows source"
    },
    {
      "id": "beaches",
      "title": "Beaches",
      "group": "Everyday life",
      "kind": "fill",
      "color": "#d6b16d",
      "file": "beaches",
      "label": "Beach footprints",
      "note": "Physical inventory, not a water-quality advisory or indication that swimming is safe.",
      "fields": [
        [
          "acres",
          "GIS acres"
        ]
      ],
      "publisher": "City of Huntington Beach / HB GIS",
      "source": "https://gis.huntingtonbeachca.gov/arcgis/rest/services/Property/MapServer/10",
      "retrievedAt": "2026-10-20T19:29:34.959796+00:00",
      "sourceLastEdit": null,
      "vintage": null,
      "mappedRecords": 13,
      "sourceRecords": 13,
      "missingGeometry": 0,
      "coverage": "Agency city inventory; geographic coverage follows source"
    },
    {
      "id": "housing",
      "title": "Affordable housing properties",
      "group": "Housing & growth",
      "kind": "point",
      "color": "#a26b46",
      "file": "housing",
      "label": "City affordable housing inventory",
      "note": "Existing inventory, not new homes, available units or a current waiting list. A mapped location may represent multiple properties or units.",
      "fields": [
        [
          "category",
          "Inventory category"
        ],
        [
          "description",
          "City inventory description"
        ]
      ],
      "publisher": "City of Huntington Beach / HB GIS",
      "source": "https://services2.arcgis.com/KaS5yngHhCOBHXdC/arcgis/rest/services/AffordableHousing/FeatureServer/0",
      "retrievedAt": "2026-10-20T19:29:34.959796+00:00",
      "sourceLastEdit": "2026-03-04",
      "vintage": null,
      "mappedRecords": 154,
      "sourceRecords": 154,
      "missingGeometry": 0,
      "coverage": "Agency city inventory; geographic coverage follows source"
    },
    {
      "id": "zoning",
      "title": "Zoning districts",
      "group": "Housing & growth",
      "kind": "fill",
      "color": "#8f83bd",
      "file": "zoning",
      "label": "City zoning snapshot",
      "note": "Zoning is not an entitlement, permit or completed development. Check current ordinances with city planning.",
      "fields": [
        [
          "category",
          "Zone type"
        ],
        [
          "description",
          "Designation"
        ],
        [
          "overlay",
          "Overlay"
        ],
        [
          "edited",
          "Feature edit date"
        ]
      ],
      "publisher": "City of Huntington Beach / HB GIS",
      "source": "https://gis.huntingtonbeachca.gov/arcgis/rest/services/Planning/MapServer/1",
      "retrievedAt": "2026-10-20T19:29:34.959796+00:00",
      "sourceLastEdit": null,
      "vintage": null,
      "mappedRecords": 3028,
      "sourceRecords": 3028,
      "missingGeometry": 0,
      "coverage": "Agency city inventory; geographic coverage follows source"
    },
    {
      "id": "landuse",
      "title": "General Plan land use",
      "group": "Housing & growth",
      "kind": "fill",
      "color": "#bba66a",
      "file": "landuse",
      "label": "General Plan designations",
      "note": "Planned land use may differ from actual development on the ground.",
      "fields": [
        [
          "category",
          "Plan code"
        ],
        [
          "description",
          "Designation"
        ]
      ],
      "publisher": "City of Huntington Beach / HB GIS",
      "source": "https://gis.huntingtonbeachca.gov/arcgis/rest/services/Planning/MapServer/0",
      "retrievedAt": "2026-10-20T19:29:34.959796+00:00",
      "sourceLastEdit": null,
      "vintage": null,
      "mappedRecords": 2564,
      "sourceRecords": 2564,
      "missingGeometry": 0,
      "coverage": "Agency city inventory; geographic coverage follows source"
    },
    {
      "id": "projects",
      "title": "Major projects · 2024 inventory",
      "group": "Housing & growth",
      "kind": "fill",
      "color": "#bb7957",
      "file": "projects",
      "label": "Historical project footprints",
      "note": "Last edited May 2024. Source status is historical and must not be read as the current construction or approval status.",
      "fields": [
        [
          "status",
          "Status in 2024 inventory"
        ],
        [
          "zoning",
          "Source zoning"
        ],
        [
          "inventory_date",
          "Inventory date"
        ]
      ],
      "publisher": "City of Huntington Beach / HB GIS",
      "source": "https://services2.arcgis.com/KaS5yngHhCOBHXdC/arcgis/rest/services/Planning_Polygons_Major_Projects/FeatureServer/0",
      "retrievedAt": "2026-10-20T19:29:34.959796+00:00",
      "sourceLastEdit": "2024-05-07",
      "vintage": null,
      "mappedRecords": 15,
      "sourceRecords": 15,
      "missingGeometry": 0,
      "coverage": "Agency city inventory; geographic coverage follows source"
    },
    {
      "id": "pavement",
      "title": "Pavement condition",
      "group": "Streets & drainage",
      "kind": "line",
      "color": "#689467",
      "file": "pavement2026",
      "label": "Pavement condition index",
      "note": "PCI 0–100. Dataset edition and inspection date differ; some ratings may be carried forward or modeled. The survey networks differ between editions.",
      "fields": [
        [
          "pci",
          "Pavement condition index"
        ],
        [
          "from",
          "From"
        ],
        [
          "to",
          "To"
        ],
        [
          "edition",
          "Dataset edition"
        ],
        [
          "inspection",
          "Recorded inspection date"
        ],
        [
          "survey",
          "Survey field"
        ],
        [
          "street_class",
          "Street class"
        ]
      ],
      "publisher": "City of Huntington Beach / HB GIS",
      "source": "https://services2.arcgis.com/KaS5yngHhCOBHXdC/arcgis/rest/services/HB_PMP_2026/FeatureServer/0",
      "retrievedAt": "2026-10-20T19:31:18.400531+00:00",
      "sourceLastEdit": "2026-06-17",
      "vintage": null,
      "mappedRecords": 4423,
      "sourceRecords": 4423,
      "missingGeometry": 0,
      "coverage": "Agency city inventory; geographic coverage follows source"
    },
    {
      "id": "channels",
      "title": "Storm channels",
      "group": "Streets & drainage",
      "kind": "fill",
      "color": "#5a9db8",
      "file": "channels",
      "label": "Mapped stormwater channels",
      "note": "Infrastructure inventory, not an operational-status or water-flow feed.",
      "fields": [
        [
          "type",
          "Source feature type"
        ]
      ],
      "publisher": "City of Huntington Beach / HB GIS",
      "source": "https://gis.huntingtonbeachca.gov/arcgis/rest/services/StormBroadcast/MapServer/11",
      "retrievedAt": "2026-10-20T19:29:34.959796+00:00",
      "sourceLastEdit": null,
      "vintage": null,
      "mappedRecords": 54,
      "sourceRecords": 54,
      "missingGeometry": 0,
      "coverage": "Agency city inventory; geographic coverage follows source"
    },
    {
      "id": "drainage",
      "title": "Storm drains & features",
      "group": "Streets & drainage",
      "kind": "point",
      "color": "#507e91",
      "file": "drainage",
      "label": "City stormwater features",
      "note": "Shows inventoried drainage infrastructure at neighborhood zoom. No claim about blockages, maintenance, capacity or current flooding.",
      "minzoom": 14,
      "fields": [
        [
          "type",
          "Feature type"
        ],
        [
          "owner",
          "Owner"
        ],
        [
          "address",
          "Recorded address"
        ]
      ],
      "publisher": "City of Huntington Beach / HB GIS",
      "source": "https://gis.huntingtonbeachca.gov/arcgis/rest/services/StormBroadcast/MapServer/9",
      "retrievedAt": "2026-10-20T19:29:34.959796+00:00",
      "sourceLastEdit": null,
      "vintage": null,
      "mappedRecords": 12630,
      "sourceRecords": 12631,
      "missingGeometry": 1,
      "coverage": "Agency city inventory; geographic coverage follows source"
    },
    {
      "id": "collisions",
      "title": "Reported crashes · 2024",
      "group": "Public safety",
      "kind": "point",
      "color": "#bd8052",
      "file": "collisions",
      "label": "Mapped 2024 CHP crash records",
      "note": "1,368 mapped of 1,725 source city crash records; 357 lack usable coordinates. Includes no-injury records. Historical reported crashes, not live traffic, all crashes or neighborhood risk rates. Severity derives only from recorded killed/injured counts.",
      "fields": [
        [
          "date",
          "Source date / local clock"
        ],
        [
          "primary_rd",
          "Primary road"
        ],
        [
          "secondary_rd",
          "Secondary road"
        ],
        [
          "crash_type",
          "Recorded crash type"
        ],
        [
          "severity",
          "Recorded outcome"
        ],
        [
          "number_killed",
          "People killed in record"
        ],
        [
          "number_injured",
          "People injured in record"
        ],
        [
          "is_preliminary",
          "Preliminary flag"
        ],
        [
          "collision_id",
          "CHP collision ID"
        ]
      ],
      "publisher": "California Highway Patrol / California Open Data",
      "source": "https://data.ca.gov/dataset/ccrs",
      "retrievedAt": "2026-10-20T19:33:17.000Z",
      "sourceLastEdit": null,
      "vintage": "2024 annual extract; reviewed October 2026",
      "mappedRecords": 1368,
      "sourceRecords": 1725,
      "missingGeometry": 357,
      "coverage": "CHP city field = Huntington Beach, Orange County; not a municipal polygon clip"
    },
    {
      "id": "fire",
      "title": "Fire stations",
      "group": "Public safety",
      "kind": "point",
      "color": "#b56956",
      "file": "fire",
      "label": "Fire station locations",
      "note": "Facility-footprint centers, not a measure of response time, apparatus availability or guaranteed service coverage.",
      "fields": [
        [
          "station",
          "Station number"
        ],
        [
          "address",
          "Address"
        ],
        [
          "phone",
          "Published phone"
        ]
      ],
      "publisher": "City of Huntington Beach / HB GIS",
      "source": "https://gis.huntingtonbeachca.gov/arcgis/rest/services/CityFacilities/MapServer/8",
      "retrievedAt": "2026-10-20T19:29:34.959796+00:00",
      "sourceLastEdit": null,
      "vintage": null,
      "mappedRecords": 8,
      "sourceRecords": 8,
      "missingGeometry": 0,
      "coverage": "Agency city inventory; geographic coverage follows source"
    },
    {
      "id": "police",
      "title": "Police facilities",
      "group": "Public safety",
      "kind": "point",
      "color": "#576f91",
      "file": "police",
      "label": "Police facility locations",
      "note": "Public facility locations, not crime incidents or staffed opening hours.",
      "fields": [
        [
          "address",
          "Address"
        ],
        [
          "phone",
          "Published phone"
        ]
      ],
      "publisher": "City of Huntington Beach / HB GIS",
      "source": "https://gis.huntingtonbeachca.gov/arcgis/rest/services/CityFacilities/MapServer/17",
      "retrievedAt": "2026-10-20T19:29:34.959796+00:00",
      "sourceLastEdit": null,
      "vintage": null,
      "mappedRecords": 4,
      "sourceRecords": 4,
      "missingGeometry": 0,
      "coverage": "Agency city inventory; geographic coverage follows source"
    },
    {
      "id": "beats",
      "title": "Police patrol boundaries",
      "group": "Public safety",
      "kind": "fill",
      "color": "#7a8da6",
      "file": "beats",
      "label": "Police administrative patrol areas",
      "note": "These are patrol boundaries. No crime counts or risk ranking have been assigned to individual beats.",
      "fields": [
        [
          "beat",
          "Patrol beat"
        ],
        [
          "area",
          "Patrol area"
        ],
        [
          "square_miles",
          "Source area (square miles)"
        ]
      ],
      "publisher": "City of Huntington Beach / HB GIS",
      "source": "https://gis.huntingtonbeachca.gov/arcgis/rest/services/WebPolice/MapServer/8",
      "retrievedAt": "2026-10-20T19:29:34.959796+00:00",
      "sourceLastEdit": null,
      "vintage": null,
      "mappedRecords": 8,
      "sourceRecords": 8,
      "missingGeometry": 0,
      "coverage": "Agency city inventory; geographic coverage follows source"
    },
    {
      "id": "flood",
      "title": "Flood hazard zones",
      "group": "Natural hazards",
      "kind": "fill",
      "color": "#648db3",
      "file": "flood",
      "label": "Flood hazard mapping",
      "note": "Hazard designation, not live flooding, a property-specific determination or an insurance quote. Review the dated source and official map.",
      "fields": [
        [
          "FLD_ZONE",
          "Flood zone"
        ],
        [
          "ZONE_SUBTY",
          "Zone description"
        ],
        [
          "SFHA_TF",
          "Special flood hazard area"
        ],
        [
          "SOURCE_CIT",
          "FEMA source citation"
        ]
      ],
      "publisher": "FEMA National Flood Hazard Layer",
      "source": "https://hazards.fema.gov/arcgis/rest/services/public/NFHL/MapServer/28",
      "retrievedAt": "2026-10-20T19:29:34.587315+00:00",
      "sourceLastEdit": null,
      "vintage": "Mixed FEMA panel dates; not a 2026 survey",
      "mappedRecords": 147,
      "sourceRecords": 147,
      "missingGeometry": 0,
      "coverage": "Huntington Beach vicinity bbox, including neighboring jurisdictions"
    },
    {
      "id": "events",
      "title": "Selected upcoming events",
      "group": "Everyday life",
      "kind": "point",
      "color": "#b58628",
      "file": "events",
      "label": "Selected official city events",
      "note": "Five reviewed October 2026 events, matched to official venue footprints. Display points are approximate venue centers, not event entrances. Expired events are hidden; this is not a complete calendar.",
      "fields": [
        [
          "venue",
          "Venue"
        ],
        [
          "address",
          "Venue address"
        ],
        [
          "start",
          "Start · local time"
        ],
        [
          "end",
          "End · local time"
        ],
        [
          "timezone",
          "Timezone assumption"
        ],
        [
          "geometry_role",
          "Location meaning"
        ]
      ],
      "publisher": "City of Huntington Beach",
      "source": "https://www.huntingtonbeachca.gov/calendar.php",
      "retrievedAt": "2026-10-20T19:32:21.987267+00:00",
      "sourceLastEdit": null,
      "vintage": "Selected October 22–29, 2026 events",
      "mappedRecords": 5,
      "sourceRecords": 476,
      "missingGeometry": 0,
      "coverage": "Agency city inventory; geographic coverage follows source"
    },
    {
      "id": "tsunami",
      "title": "Tsunami hazard area",
      "group": "Natural hazards",
      "kind": "fill",
      "color": "#9c86be",
      "file": "tsunami",
      "label": "State tsunami hazard mapping",
      "note": "Planning area, not a current tsunami warning, evacuation order or arrival forecast. Follow official emergency instructions.",
      "fields": [
        [
          "County",
          "County"
        ],
        [
          "Label",
          "Static hazard designation"
        ]
      ],
      "publisher": "California Geological Survey",
      "source": "https://gis.conservation.ca.gov/server/rest/services/CGS/IW_Tsunami_Hazard_Area/FeatureServer/0",
      "retrievedAt": "2026-10-20T19:29:09.394234+00:00",
      "sourceLastEdit": null,
      "vintage": "Original county maps released 2021",
      "mappedRecords": 2,
      "sourceRecords": 2,
      "missingGeometry": 0,
      "coverage": "Huntington Beach vicinity bbox, including neighboring jurisdictions"
    }
  ]
}