Xj3D Evolution

From Web3D.org
Revision as of 21:44, 26 June 2014 by Brutzman (Talk | contribs) (Merge modified Xj3D codebases)

Jump to: navigation, search

Xj3D is an open-source Java implementation for X3D graphics. Xj3D is used to demonstrate many capabilities for specification development and supports a variety of valuable projects.

Goals and Timeline

We are considering how to further stabilize, improve and accelerate development of the Xj3D code base. This page is collecting ideas for potential improvement.

These are familiar topics and lots of great work continues. It should be straightforward for interested stakeholders to discuss and agree on next steps.

  • After initial discussion on the email list, we will make this the subject of a weekly X3D working group teleconference (held Wednesdays 8-10am pacific)
  • Our goal is to have everything transitioned, stabilized, announced and ready for new contributions at the Web3D 2014 Conference and SIGGRAPH 2014 Conference in Vancouver Canada, 8-10 and 11-14 August.

Source Code Hosting

In order to achieve greater participation and development, the code needs to move to a stable public open-source repository. This will gain a lot more visibility among programmers who might want to contribute.

  • xj3d.org has hosted the source for many years but development has been intermittent and somewhat less than fully open.
  • The NPS branch of Xj3D is used for experimental development. Proven changes and unit tests are integrated back into the Xj3D trunk when stable.

SourceForge

  • Web3D already has numerous assets checked into the Sourceforge X3D project, it is available
  • Sourceforge also has related projects for jgeom and open-dis
  • Instead of using that project, do we instead create a new Sourceforge project for Xj3D to keep things a bit simpler?
  • Can we maintain a side-by-side mirror of Xj3D.org so that all updates are reliably accessible?
  • Can we keep the new trunk adjacent but separate so that new developers can get started quickly?
  • Multiple participants have experience with using and administering this site
  • The current code is in subversion, this can be migrated completely
  • There is a lot of merit to using what works and is familiar, especially as we prepare for SIGGRAPH

GitHub

  • GitHub includes the X3DOM project and a few other X3D-related projects
  • We have reserved an X3D Xj3D project site on GitHub as a placeholder
    • might be useful for cross-links and future evolution
  • The github pricing policy does not cost money to operate an open-source organizational repository
  • We are looking at migration of subversion to git

Maven

  • Might Apache Maven help encourage a variety of build possibilities?

Web3D.org home page

Several project builds are maintained on external repositories but their corresponding websites are automatically built and updated on web3d.org

  • TODO: have www.web3d.org/xj3d (or somesuch) provide an official summary page for Xj3D community on new web3d.org website

Mailing Lists

Web3D Consortium maintains the mailing list archives.

Upcoming tasks

Merge modified Xj3D codebases

Excellent improvements to Xj3D have occurred over the years that were never re-integrated into the version-controlled code base. We hope to capture these improvements.

  • Others?

Xj3D issue tracking

Currently two bugzilla sites are in existence.

For maximum reliability over long term, we likely need to migrate to the native issue tracker associated with whatever source host is chosen.

Xj3D website improvements

The Xj3D website is moderately complete but woefully out of date. TODO:

  • Confirm that website pages and documentation are checked into version control
  • Automate website updates by synchronizing with version control
  • Offer ways for people to contribute bug reports, issues, improvements

Programming problems

Several areas of Xj3D implementation are problematic. Dedicated attention and teamwork may help.

  • Confirm updated jogl rendering is working, especially z-buffer and aliasing
  • Extrusion
  • Image rendering timing can miss colors/textures and hangs on numerous examples
  • Compressed binary encoding hangs on numerous examples, but the apparent list of exception errors seems short
  • Other project efforts are welcome

Discussion and consensus building

We are using source@web3d.org mailing list to work out these possibilities and build stakeholder consensus. (subscribe, archive)

All inputs and contributions are welcome. Have fun with Xj3D!