# Copyright (C) 2026 Wilhelmus Dingenus de Pooter
# SPDX-License-Identifier: GPL-3.0-or-later
"""
ENCore GIS — native S-57 record-model layer.

Built on the shared ``iso8211`` reader, this package interprets the raw ISO 8211
record stream of an S-57 cell as dataset/feature/vector records so the
data-structure checks can validate things GDAL's feature view abstracts away
(RCID/RCNM ranges, pointer integrity, record-level FOID identity, etc.).

GDAL-free and import-safe without QGIS.
"""

from .records import (S57Cell, S57RecordSet, FeatureRecord, VectorRecord,
                      RCNM_FE, RCNM_VI, RCNM_VC, RCNM_VE, RCNM_VF,
                      VECTOR_RCNM, RCNM_LABEL)
from .catalog import ExchangeSet, CatalogEntry, crc_matches, crc32_hex
from .geometry import (Geometry, Point, MultiPoint, LineString,
                       MultiLineString, Polygon, MultiPolygon, GeometryBuilder,
                       parse_wkt, wkt_match)
from .geomops import GeomOps, GeomOpsUnavailable
from .geomcheck import GeomIssue, check_feature, check_cell, check_paths

__all__ = [
    "S57Cell", "S57RecordSet", "FeatureRecord", "VectorRecord",
    "RCNM_FE", "RCNM_VI", "RCNM_VC", "RCNM_VE", "RCNM_VF",
    "VECTOR_RCNM", "RCNM_LABEL",
    "ExchangeSet", "CatalogEntry", "crc_matches", "crc32_hex",
    "Geometry", "Point", "MultiPoint", "LineString", "MultiLineString",
    "Polygon", "MultiPolygon", "GeometryBuilder",
    "parse_wkt", "wkt_match",
    "GeomOps", "GeomOpsUnavailable",
    "GeomIssue", "check_feature", "check_cell", "check_paths",
]
