plans for version 2?

Does anyone have any plans or a roadmap for version 2?

I’ve been wading through direct/showbase’s spaghetti code to design a cleaner object oriented front end api which can be easily tied into an xml parser to construct windows, scenes, models, etc. from an xml specification. I was just going to wrap up the current api behind some adapter objects for the parser to use but they would be fairly superficial and a pain to maintain and would likely have a performance hit. I figure the community could benefit from a reengineered front end api that would be cleaner and more flexible than showbase/direct, but it would likely break backwards compatibility so it couldn’t be released in an incremental build.

I haven’t seen any discussion or documentation of future major versions or the official policy for backwards compatibility between releases. From what I can tell minor version releases are not entirely backwards compatible though what I wish to contribute is a major change of the api which would probably best be released as a major version. Breaking compatibility at version 2 would also allow for cleanup/improvements to other areas of the library like networking, Disney specific and demo/test code, and non-functioning or un-maintained modules. Would a major change like what I’m proposing be kosher for a 2.0 release? Does anybody else have any major improvements that they’re planning/ideating?

In response to recent discussion on Panda3D’s ownership and maintenance, I think version 2 presents an oppurtunity for the community to come together and take the reins. It seems like we depend upon Disney and CMU a bit too much for overall guidance and support of the project. Much of the codebase is good enough for their purposes so its up to us to push the limits and drive the evolution of this project. Version 2 would allow all members of the community to collaborate and create a release that builds upon Disney and CMU’s substantial contributions but is truly a product of the community. It would also put to rest any doubts about the future of the project and would allow us to properly market and package the project not just as Disney’s open source experiment or CMU’s teaching platform but as the powerful framework for 3d python development that it really is. Last year I stumbled upon this project by accident after spending several weeks researching 3d frameworks for python. Its amazing that a stable, mature, proven, and well supported project like this is not more popular in the wider python community. I truly believe that Panda3D has the potential to become the defacto standard for 3d development in python, so lets make it happen.


First of all: What I know is, that the next major release will be 1.7.x
Currently there is no backwards compatibility rule that I know of. Its funny but we talked a a few days back with pro-rsoft about that.

Disney has stepped back from OFFICIALLY taking care of Panda3D. But in fact they are the biggest contributors to the P3D code.
Till 1.5 it was like this:

Disney made 95% of the code development using their rule set. 3% was code from the community and 2% are fixes from Josh (CMU) to get the releases compiled.

Pro-rsoft could answer better what impact the community has nowadays, but still, we can’t decide to change the development completely from now to then.
Having a stable API would help a lot of projects (less maintenance of existing code). Still, I have some objections against XML… (personal issues with it)

Regards, Bigfoot29

I am totally in favor of replacing with a newer, better system for managing window creation and other fundamentals. Backward compatibility could be maintained by creating the new API as an adjunct–we could support two parallel API’s for a reasonable period of time without too much additional effort.