GSoC 2026 Week 11 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 eleventh weekly report of Official coding period for GSoC 2026

What did I get done this week? (3 August - 9 August)

This week was focused on a major architectural migration to align both the makeMaximalPlanar and makeBiconnectedPlanar implementations properly with pgRouting’s modern core architecture (the shared coloring_driver + coloring_process pattern). I also added comprehensive pgTAP tests and prepared the Boost 1.80 Proof-of-Concept CI homework.

  • Architectural Migration: Successfully implemented makeMaximalPlanar and refactored makeBiconnectedPlanar to use the unified core coloring_driver / coloring_process. I deleted the old custom boilerplate files (4 files deleted, 346 lines removed). Both algorithms now integrate cleanly as cases inside src/coloring/coloring_driver.cpp.

  • Logic Optimization: Moved edge sorting by (d1, d2) cleanly inside the respective algorithm .hpp files, removing stray std::sort calls from the driver loop.

  • pgTAP Testing: Added deep pgTAP edge case testing (pgtap/planar/makeMaximalPlanar/edge_cases.pg). Tested empty graphs, self-loops, path graphs, disconnected graphs, and non-planar K5 rejection.

What do I plan on doing next week? (10 August - 16 August)

Next week, I plan to:

  • Open PRs for the Boost Proof-of-Concept branches and report the CI results.

  • Finalize the image update in the maximal planar documentation.

  • Prepare the final, polished PRs to pgrouting/develop.

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] and [3]