Skip to content

Commit 8c2b1e8

Browse files
awesomebytesclaude
andcommitted
PLAN.md: ompl_kit GO — cross-inheritance proven, third kit merged
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent f20c60f commit 8c2b1e8

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

PLAN.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,21 @@ mechanically, not by discipline.
332332
Float64MultiArray regression test; default suite now 8); checkout@v5 in
333333
both workflows (Node-20 deprecation gone).
334334

335+
- **ompl_kit spike (2026-07-11, GO; ef4a222/329590a/ddaeeee, merged f20c60f):**
336+
third kit, thinnest yet (72 LOC, zero embedded C++ — cppyy absorbs
337+
inheritance/ownership/downcast). **Cross-inheritance headline confirmed**
338+
(the pattern BT's `final` blocked): Python subclass of StateValidityChecker
339+
called 170× by C++ RRTConnect; Python `motionCost` called 1,034,069× in a
340+
1 s RRTstar solve. Mechanics: super().__init__ chaining, exact C++ virtual
341+
names, RTTI auto-downcast of pointer args, keep_alive the instance.
342+
Honest hot-loop number: Python validity ~159× slower per call (282 ns vs
343+
1.8 ns) — invisible at 136 calls, ~0.35 s at 1M; the lowering story (6-line
344+
cppdef checker) is the in-script answer. Bringup ~538 ms (cheapest kit).
345+
callback() dogfood found a real gap: class-typed hints infer `T&` but OMPL
346+
needs `const T*` — succeeds silently, fails at the setter (follow-up
347+
queued). Demos incl. nav_msgs/Path publishing via rclcppyy. Docs mirror
348+
the structure (`docs/ompl_kit/`).
349+
335350
## Risks & mitigations
336351

337352
- **conda-forge cppyy behaves differently from the pip wheel** (cling resource

0 commit comments

Comments
 (0)