Hi @Sean , Rishith here.
I have finalized my GSoC draft proposal for the "Agentic Modernization of libgcv" project.
Link to Proposal: GSoC Proposal
To manage the risk of AI hallucinations and ensure strict C89/C99 compliance, I’ve structured the project execution into two sequential tracks:
Track 1: Agentic refactoring of legacy converters (e.g., STL, OBJ) to standardize the plugin API, bounded by rigorous Valgrind/ASan memory profiling.
Track 2: Vibe-driven prototyping for modern formats (glTF, USD, MaterialX) built on top of the stabilized API.
As I review the timeline, I have two technical questions regarding BRL-CAD's CI practices to ensure my Track 1 verification loop is accurate:
Verification: For checking conversion fidelity on the AI-generated code, does BRL-CAD have a preferred benchmarking suite (e.g., comparing raytracing outputs), or should I plan to build a custom gcv testing script to validate bounding boxes and object counts?
Orchestration: For the agentic pipeline, is there a preference between using a tool like Aider, or building a custom Python orchestrator to strictly enforce the bu_malloc/bu_free rules during prompt injection?
I'd appreciate any feedback on the proposal structure or the verification approach before the final deadline.
Thanks
There is not a a preferred. Most of our unit and integration testing is simple argc/argv main programs that do very little in the way of scaffolding and that works well. There are some existing unit tests in gcv that you can browse. We've also used several other systems like googletest or cppunit but really just depends.
There is not a preference on the pipeline -- propose what you think would be most effective (and why). I'm more concerned with what the end state is going to look like and less on how we get there. More specifically, how do we know the current and future status of conversion paths through gcv?
Thank for the feedback @Sean
I just submitted my official proposal to the GSoC Portal. To answer you questions:
Also, I audited the code and found 38 bu_exit calls in asc_v4.cpp and a global filter_table in gcv.c:456. Fixing those is my top priority for Phase 1.
Anyways, I would appreciate your quick look on my proposal.
Link: BRLCAD Proposal
Last updated: Mar 31 2026 at 01:22 UTC