[X3D-Public] [Source] Xj3D teleconference proposal: development branch merging

Don Brutzman brutzman at nps.edu
Thu Sep 1 16:10:42 PDT 2011

Attendees:  Alan Hudson Shapeways, Wayne Warren Ph.D. student at U. Wash
using Xj3D/X3D/VRML for many years; Hyokwang Lee PartDB; Terry Norbraten
and Don Brutzman, NPS.  We each introduced ourselves and discussed our
interests in Xj3D.

Alan gave a helpful synopsis of Xj3D, Yumetech's past use, and the
go-forward use by his new employer Shapeways (www.shapeways.com).
They convert thousands of models per day using this codebase.
However his work is very focused on filter chains and binary encoding.

We then discussed whether a separate branch is good idea or not.
Lots of changes have occurred on the NPS branch, and we try to
never jeopardize the trunk from being commercial quality.
We are hoping to open that up to others.

This could be seen as an internal fork rather than an entry-level
approach to modification.  Perhaps we should have a single trunk
and just be careful not to break it, but be extra careful in
certain areas of the trunk.  However, either way, we need a
good agreement on how to merge.  If someone breaks the build,
you get a "nasty gram" telling you to fix it rapidly.  Second
is if you break functionality - am hoping that improved junit 
tests can fix, by creating code coverage.  Many parts are hard
to do - rendering to a GL buffer for example - but other parts
can be covered - for example rendering of an Extrusion.

Alan thinks that a good goal would be agreement to permit direct
checkins to the trunk, as long as junit tests for filter chain
accompanied it.  He gave some helpful further examples of this.

Commit log is important to keep track of what a change is about.
Critical areas are the filter chain and the SAV interface, which
should get Alan's prior OK.  Other things like installer or
alternate OS builds are different and OK for many people to
bang on.

Discussion on the list (and maybe on an occasional teleconference)
can keep us coordinated.

Other assets: NPS has a Hudson continuous integration server
building every night.  We can:
- give access other people in this group
- add another Xj3D build against the trunk
- upgrade hudson to allow public viewing (not modification)
	of build products without a password

Xj3D has been "one version behind official release JDK" so
we are considering upgrading to JDK 1.6.

PartDB is interested in merging their code changes.  VT has
already said they are interested in merging their code changes.
NPS definitely has changes we want to merge as well.

The previously existing installer InstallShield is old and
Alan is not interested in maintaining.  The version used is
free but commercial codebase.  NPS has had excellent
experience with izpack, it is open source.  That is an
existing and up-to-date capability.

We also discussed use of both Ant and/or Make.  NPS uses ant.
We all agreed that build_common.xml, build.xml/build_NPS.xml
and Makefile are all OK to keep going for whoever wants to
keep them operational.

PartDB is interested in adding new functionality that their
customers want, and didn't necessarily want to change the
basic architecture.

NPS, PartDB and VT should write up a simple summary of
what code changes they would like to commit.  The group
can then review those.

Alan can show us all some good examples of unit tests.

If someone wants to be given commit priveleges, they will
need to show Alan a file or two of example changes,
show that they can follow the Xj3D coding style, and a
commitment to not change architectural internals without
group discussion.  Addition of "new" nodes is usually OK
when it doesn't interfere with anyone else.


Our goal is for everyone to converge on the trunk, rather
than to the NPS branch.

Something else that will help is to discuss what are
group criteria for declaring a dev release or official
release.  Alan gave us a quick summary, it is a labor-intensive
process and worth future meeting.  It is not a showstopper
for sharing notes on what we each want to do and then converging
our commits.

VT do you mostly agree, or have questions, or improvements?

We will use the source at web3d.org list as primary communication method.
Silence equals assent.  If a few days go by, you should be OK.
That way we only need to do teleconferences when needed (2-3-4 weeks).

This was a great meeting.  Thanks very much everyone!

On 8/30/2011 2:00 PM, Don Brutzman wrote:
> Advance notice:  we are combining forces on efforts to improve Xj3D.
> There will be an initial call this week on the Web3D teleconference
> line to follow up on SIGGRAPH discussions on the following topics:
> - merging VT and PartDB code with NPS branch to form a development branch
> - identifying improvements and needs
> - examining example unit tests to help inform future changes
> - encouraging greater participation
> - preparing for a move to SourceForge or GitHub by end of year
> Planned time:
> Thursday 1 September 1500 pacific, 1800 eastern, which equals
> Friday 2 September 0700 in Korea
> We will post minutes afterward to the source&  x3d-public mailing lists.
> If you are already coding on the Xj3D source, or want to, please
> join us.  This meeting is about choreographing the initial merger
> of contributions, future calls will occur that are focused on how
> others can best engage and contribute.  Looking forward to continued
> progress on all the stellar work accomplished by the Yumetech team.
> http://www.xj3d.org
> https://savage.nps.edu/Savage/developers.html#Xj3D

all the best, Don
Don Brutzman  Naval Postgraduate School, Code USW/Br      brutzman at nps.edu
Watkins 270   MOVES Institute, Monterey CA 93943-5000 USA  +1.831.656.2149
X3D, virtual worlds, underwater robots     http://faculty.nps.edu/brutzman

More information about the X3D-Public mailing list