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.