GSoC 2026 Week 5 Report: Implementation of Make Biconnected Planar and Make Maximal Planar Algorithm to pgRouting

Mohit Rawat
Github id: Mohit242-bit

Mentors: @cvvergara, @robe
Organization: OSGeo / pgRouting
OSGeo Profile: OSGeo Profile Link
Project Wiki: Github Wiki Link
Repository: Repo Link

This is my fifth weekly report of Official coding period for GSoC 2026

Week 5 Report (22nd June - 28th June)

What did I get done this week?

This week focused on achieving deterministic output formatting, working on official Sphinx documentation, standardising our documentation queries (docqueries), and refining the pgTAP test suites for both planar algorithms.

  • Deterministic Edge Sorting & Normalization: Updated the core C++ implementations of both pgr_makeBiconnectedPlanar and pgr_makeMaximalPlanar. Enforced edge normalization (start_vid < end_vid) and deterministic sorting by (start_vid, end_vid) across both single-component and multi-component graphs, guaranteeing consistent results independent of internal Boost traversal order.

  • Refined & Simplified pgTAP Test Suite: Restructured edge_cases.pg for both algorithms using clean inline SQL queries, eliminating complex named prepared statements while maintaining comprehensive coverage. Thoroughly tested graph theory concepts including self-loops, P3 path bridging, C4 triangulation, disconnected forest graphs, disjoint road networks, and non-planar K5 rejection. All 71+ tests pass with 100% success rate.

  • Official Sphinx Documentation & Documentation Queries: Standardised pgr_makeBiconnectedPlanar.rst and pgr_makeMaximalPlanar.rst to follow official pgRouting documentation guidelines. Updated docqueries .result files to reflect normalized edge outputs and verified zero-warning HTML generation

What do I plan on doing next week? (June 29th - July 5th)

  • Present the fully tested, and documented implementations of pgr_makeBiconnectedPlanar and pgr_makeMaximalPlanar to mentors for review.

  • Address any mentor review feedback or requested optimizations on the algorithm or pgtap files.

Am I blocked on anything?

No

References:

1] Link to detailed wiki page

2] Link to github repository

3] Link to pull requests : [1] and [2]