Thursday, September 10, 2009

Avatar Core 0.5.0 + My Avatar Editor Lite

Avatar Core 0.5.0 has now been released on the project page (both SVN and ZIP download). The release notes have more information about the changes made.

It should be noted that the SVN repository has been redesigned to also include documentation, examples, and a library SWC for the framework. The location of the source files have moved a couple of directories deeper as a result, so you may need to make some changes with respect to classpaths/source path references. The ZIP download also reflects this restructuring, though it only includes the source code and the same selection example as before.

"My Avatar Editor Lite" is now a new demo example. The source is currently only available through SVN, though you can browse the demo source files through the project page. A live version of My Avatar Editor Lite is also viewable online. It's a great example in that it uses a lot of the features of the framework.


I've also combined the two new demos from before (with Fred) into one demo now listed in the SVN examples. It modifies position, scaling, and rotation using mouse interaction. However it doesn't go so far as to incorporate Constrain behaviors. The original demos will probably remain on the wiki for now unless they end up becoming incompatible with new releases.

So what's next? For one, the documentation will need updating. I don't think it covers a lot of the new changes very well and is pretty lacking in other areas too. With that, also more attention given to the documentation on the wiki. Then, its just a matter of tying up and loose ends preparing for a 1.0 release for production use.

Friday, September 4, 2009

Avatar Core Rendering My Avatar Editor Characters

I recently got an example using Avatar Core to render My Avatar Editor character heads up and running. It uses the same visual assets but none of the original codebase (My Avatar Editor does not use the Avatar Core framework; it was created before work on Avatar Core started).


Clicking on the head will get you a new random variation.

This will ultimately become another demo, but I still want to add controls for modifying characteristics - almost to parity with My Avatar Editor, but lacking anything that would unnecessarily over-complicate.

In doing this exercise, as expected, a number of additional bugs and limitations were addressed. They will be fixed in the next release due out with the completion of this demo.

Tuesday, September 1, 2009

Avatar Core 0.2.1 (SVN Only)

The svn repository for Avatar Core has been updated with the 0.2.1 changes. There shouldn't be anything broken, per se, in the current 0.2.0 download, so you can continue to use it for testing purposes. That download will get updated for the next release.
The next release will probably be a 1.0 release candidate. I'm going to sprucen up the documentation a bit more and try to make a 'lite' version of My Avatar Editor with the framework to see 1) if its possible, and 2) if it's easy, to moderately easy to use. Any problems found in that attempt will be fixed for that build.

If anyone has any bugs to report or feature requests, now's the time to do it. (And doing so through the blog is fine for now.)

Monday, August 31, 2009

Avatar Core Updates

A bunch of new Wiki pages have been added for Avatar Core, adding a little more in terms of explanation for the different parts of the framework. When I get around to it (though probably not any time soon), I'll try to include some additional visual aides and maybe demos, or links to demos that cover each specific topic.

Speaking of demos, the source code for the previously mentioned demos have also been posted there (Demos wiki page). However, there have been some problems with the hosting for myavatareditor.com where the files are hosted, so they might not be accessible at the moment.

When writing up some of the additional wiki documentation, I ended up adding a few more things to the framework. In other words, version 0.2.1 is looming. But I also just ran across another issue which is a little more serious and something that could require some additional changes to the API (never fun). I'll have to think about how to solve that problem and weigh in convenience vs. performance and all that jazz. Without getting into too much detail, the problem essentially boils down to art being loaded far often than it needs to be.

Friday, August 28, 2009

Avatar Core 0.2.0

Avatar Core version 0.2.0 (beta) is now available on through svn on the project page. The API documentation has also been updated. The release notes for 0.2.0:

=== 0.2.0 (August 28, 2009) ===

There have been a number of new API changes, as well as a reworking
of how parenting is handled. The new approach allows Constrain behaviors
to work better with parenting. In addition some rendering changes have
been made that change the effects of parent transforms on their children.

- Added Viewport.resetContent()
- Added a padding parameter to Viewport.fitContent()
- Added ThumbnailArtSprite class
- Added SourceLoaderSprite class as a base class for ArtSprite and
ThumbnailArtSprite
- Renamed AvatarArt to AvatarDisplay to prevent confusion with with the
Art/ArtSprite classes
- ArtSprites no longer redraw themselves (i.e. their feature) when their
feature property is set. This was creating many more calls to draw() than
was necessary, though may require additional manual calls for updates
- Scaling a parent feature no longer scales its children; child position,
however, is still affected by scale
- Renamed Transform to Adjust to prevent confusion with flash.geom.Transform
- Instead of mirroring features with a negative scale, flipX and flipY
properties have been added to the Adjust (Transform) class
- Fixed a bug in Adjust.add and Adjust.subtract where x and y were flipped
- Renamed "update"-related API in Feature and Avatar to "redraw"
- Changed parent-related API in Feature (removed getParentFeature, added
parent, [internal]parentCount, [internal]updateParent)
- Features are no longer hidden if their parent cannot be found. They are
instead left visible and treated as though they have no parent
- Added Feature.getConcatenatedParentMatrix()
- Added Avatar.updateParentHierarchy(). This is called frequently through
other APIs but may be necessary to call to make sure the parent
hierarchy of an avatar is accurate
- Added getDefaultPropertiesInXML to IXMLWritable, helping to reduce the
inclusion of default values in generated XML
- Range class now has a steps property
- Separated Constrain.position (Rect) to Constrain.x (Range) and
Constrain.y (Range)
- Removed Rect class (was only used by Constrain before)
- Constrain uses its Ranges' steps, if provided, to apply stepping
to constrained values
- Constrain is now applied to feature adjusts (transforms) rather than
directly to art sprites to allow child adjusts to honor the
constrain
- Added Constrain.name, making it more convenient to access Constrain
behaviors in a feature
- Other minor bug fixes

Complete ReleaseNotes.txt.

The wiki pages, demos, and non-svn downloads still need to be updated. I'll try to get to those in the next couple of days.

New Demos Preview

I've been working with some simple sample applications of the framework preparing for the next, soon to be released build of Avatar Core (0.2.0). The purpose of these samples was to make sure the features that have been implemented into the framework can actually be used when applied in the real world (vs. looking good on paper). The samples will be available for download and presented as demos on the Avatar Core project page when the 0.2.0 build is released.

The two sample demos previewed below demonstrate manipulating feature properties (position, size, and rotation) and the use of Mirror and Constrain behaviors. They use a new character I whipped up for these samples that I like to call Fred.


The source for each demo only amounts to about 150 lines of code - this including the XML descriptor for the avatar (which takes up about 60 lines by itself). Again, these will be available (in FLA form) when 0.2.0 is released, shortly.

Wednesday, August 26, 2009

Considering new Avatar Core logo

This morning I was thinking about making a new logo for Avatar Core. The current logo looks too cold and doesn't really say "avatar" when you look at it, despite my attempts to incorporate an "A", a gear (being a framework), and a character's head - one which ends up looking more like a cycloptic robot.


I was also thinking, given that the project is based off of My Avatar Editor (and hosted from that domain), that maybe the logo should be more reflective of that project. I quickly slapped together two new variations of that logo which could serve as a replacement for the current Avatar Core logo. Anyone have any preferences? Stick with the current, go with one of the new variations, or think about it more and come up with something else?





Granted, the logo has no functional bearing on this project, but it is a fun aside to coding.