I am back from the topo naming thing. I've upgraded the entire Part WB with new topo naming, and It's about to be ready for testing. But before that, let's fix something here first.
It turns out that SolveSpace allows redundant constraints. I just need to ignore the return status when it reports redundant. And once I've done that, plane constraint works much better now, although it still fails occasionally. Also, multiple plane coincidence has a much lower success rate. I may still need to add my own logic to deal with this in the end of the day.
The following screencast showed a few things,
* Multiple plane alignment now works
* SolveSpace does not care about orientation, you may have to occasionally flip the object yourself. I'm not sure if there is a solution for this.
* Negative offset now works as expected
* I have added 3D view preselection on mouse over tree view item. This is a core feature, and works in other workbench as well. To turn on/off it, use tree view context menu, 'Tree view options' -> 'Pre-selection'