ShowBase Refactor
Design principles
  • First class C++ support
  • Prefer composition over god object (todo elaborate)
  • Easy to use for rapid prototyping (current system requires only 2 lines of code to start Panda)
 
Existing Issues
  • Multi-windowing is ugly
  • Not available in C++, creating divide between C++ and Python users
  • Confusing naming conventions (historical)
  • Too many things in one place (God Object)
  • Writing to builtin scope
  • Designed as singleton (partly due to built-in scope writing, partly due to taking control of other singletons)
 
Discussion
We have an opportunity to encourage good development practices. We should be careful that ShowBase doesn't encourage lazy/bad programming practices, whilst still being relatively simple to configure.