Hello Away3ders!
As some of you may have noticed, things have been getting a bit complex of late in Away3d development. What with flash 10 and textfield importing, and speed and stability a priority within the trunk and version releases, the team have decided to create a number of development branches within which you can follow certain features as they are created. However, this requires a little explaining, which i hope this mail will do. Referring to "branches" basically refers to folders in the branches directory of the googlecode svn. In version control, a branch means a copy of the codebase that is developed independently to the main trunk Branches in svn repositories are the usual way for any new feature to be developed. There are two advantages to working this way - the feature being developed in the branch can be done so independently of the main trunk, so as not to risk the trunk version becoming unstable, and developers wishing to test the new features can do so by pointing their svn clients to the branch directory. (in version control-land, this operation is usually called switching) When using banches in a project, merging updates becomes a very important task. trunk fixes need to be merged into the branch code while it's development continues, and once ready for release, branch code needs to be merged back into trunk code when it is time to update the trunk with the completed branch additions. So I'm sure your all thinking 'this sounds great, but why the hell didn't things work like this before?!'. The simple reason for this is the restrictions of the framework. Without a stable framework, branches run into multiple problems as packages move around, classes get renamed etc. The merging step is usually where problems manifest themselves, when a significant amount of movement has gone on and the merging algorithms cannot automatically resolve updates to files. However, Away3d is at a stage in development where the framework is quite stable, and unlikly to change much soon. So branching is possible! Now to introduce a few branches that currently exist. *textfields*. This one is probably the one you've heard of - it's a development branch for adding bezier shape support to Away3d. Currently textfields are supported (using font information exported from the five3d library), with plans for svg and ttf importers in the near future. *3.0.0* - the stable branch for anyone wanting to use Away3d in cs4 and flex4. This branch will only update with the trunk, so you will still receive bugfixes to any recent problems if you use this branch. *flash10* - the development branch for the flash 10 version of Away3d. Because there are a lot of new features to take advantage of, it was considered too much work to maintain a stable version in this branch as well, hence the 3.0.0 branch which developers should use for any production work. flash10 will have a lot of activity surrounding it over the coming months and will eventually become version 3.1.0 as stablility is re-aquired... * multiplayer* - a place for development of our multiplayer extensions to be used in conjuntion with fms. This branch will ultimately become a whole suite of new classes for anyone wishing to use Away3d as a multiplayer client for games. *haxe* - the one i'm currently most excited about :). Haxe can now compile to flash 10 and has a number of very interesting additions to the language not available in as3... at present our codebase is being converted to haxe code for an initial compile - once this is done, optimisation can commence! *culling* - the newest branch, containing development for advanced nearfield and farfield culling, and frustum culling of objects in large scenes. There are also a few modifications to the way you can project into a view, with the addition of the lenses package inside cameras for added control over perspective effects. Should be pretty interesting - you can checkout nearfield culling of triangles right now with the current version That's about it for branches! i hope you get a chance to check out some of these developments. As we always say, the code in a branch is obviuosly under development, and therefore the features you see may not reach the trunk in the same way they started! As development progresses, changes to methods and properties can occur, so using branches for production is probably a bad idea. On the other hand, if you get the chance to experiment with a code branch and feel like you want to be part of it's development, please let us know! Branches are a great way of getting more people involved in the development process, as they allow many different strands of an engine to be coded independently. finally, there has been a great deal of minor updates to the trunk since the initial release of 2.2.0, so we will shortly be versioning an interim update 2.2.5, to be tagged and zipped etc for production use. cheers y'all The Away3d Team -- Rob Bateman Flash Development & Consultancy [EMAIL PROTECTED] www.infiniteturtles.co.uk www.away3d.com
