Removed as_decido() which wasn't fully worked out.
Fixed wkpool() which never worked before.
Added check_wkpool helper function.
arcs_to_wkt() / arcs_to_wkb() — arcs become linestringscycles_to_wkt() / cycles_to_wkb() — cycles become polygons, with hole nestingsegments_to_wkt() / segments_to_wkb() — raw segments as linestrings, multilinestring, or pointsvertex_degree() counts segments touching each vertexfind_nodes() identifies branch points and endpoints (degree ≠ 2)find_arcs() extracts maximal segment sequences between nodesas_arcs() returns wkpool with .arc column for arc membershiparc_node_summary() reports arc/node structure statisticsArcs are the "uninterrupted lines" — sequences of segments passing only through degree-2 vertices. Useful for line simplification, network extraction, and efficient storage.
Initial release. Vertex pool topology for wk-handleable geometry.
establish_topology() converts any wk-handleable geometry to segments + vertex poolmerge_coincident() discovers shared vertices (exact or tolerance-based)pool_vertices(), pool_segments(), pool_feature() access the structurepool_combine() merges multiple pools with proper index remappingpool_compact() removes unreferenced verticesfind_shared_edges() finds edges shared by multiple featuresfind_internal_boundaries() finds edges traversed in opposite directions (true shared boundaries)find_neighbours() builds adjacency from shared edges or verticestopology_report() summarizes vertex/edge sharingfind_cycles() discovers closed rings from segment connectivitycycle_signed_area() computes signed area (shoelace formula)classify_cycles() identifies outer rings vs holes by windingreverse_cycle() flips winding directionhole_points() extracts hole centroids for triangulation"sf" (default) or "ogc" winding rulesas_pslg() exports to RTriangle format (P, S matrices)as_decido() exports to decido format (0-indexed)plot.wkpool() for quick visualization.vx integers for stable vertex identity.feature