

You don't need to read this file. It is a granular change log by version.

For major version info see the Documentation:

 	> What's new in v2.1?

	> Upgrading Your Fuse Kit
		> From lmc tween
		> From a pre-2.0 version
		> From version 2.0


Example FLA's can be found in the folders in this download bundle:

	> examples
		> 1 Simple Setup and Shortcuts    * Includes NEW tutorials since v2.1!
		> 2 Developer
		> what's_new_in_2.1







*****************************************************************************************
			notes: Fuse Kit :: Version 2.1
                         (2.1.3r1 is current release)
*****************************************************************************************



Version 2.1.3
-------------
Added the "onTweenAdd" event to ZigoEngine. Docs updated this release.

NOTE: An unmarked update to this version fixed a glitch for MTASC users 
	(ZigoeEngine::broadcastMessage parentheses removed in ZE, ZM classes)

revision 1: ZigoEngine.getColorKeysObj fixed to always contain a tintPercent property (was screwing up colorResetTo in FP7 or higher only.)


Version 2.1.2
-------------
Fixes some subtle but important issues, so that Fuse is a little more air-tight in a few more situations.

1. Trailing tweens from triggers are now paused and resumed, before only the current item was receiving those calls. 
   Fuse skipTo() and stop() were also updated very slightly to handle trailing tweens more comprehensively.

2. Fuse pause & resume (plus private method startCurrentItem) improved in relation to delays.
   Handling of standalone Fuse delay (_nTimeCache) was updated so that if a time multiplier is in effect it will be accurately retained for
   the portion grafted during resume(), and an action like {delay:2, func:"myFunc"} will correctly execute the callback after pause & resume.

   Trailing tweens and standalone Fuse delays now seem to work together beautifully, even when trailing tweens are running over a delay 
   that is paused then resumed. The Fuse onComplete event fires correctly when trailing tweens finish last, even after pauses & resumes.

3. Fuse uses a tiny setInterval to break the possibility of a locked chain of method-calls, for instance during a long sequence of callbacks. 
   A user found an obscure bug where this routine (breakChainInt) in FuseItem.complete could cause overlap problems, when a user-callback 
   runs pause() or stop() on the Fuse. Fixed: It now rechecks the play state of the fuseItem before advancing the Fuse.

2.1.2r1 release:
- Patched a strange compiler error in Flash MX 2004 (Fuse.splice -> var deadItems)
- Updated docs: Fuse constructor and Array methods - description, usage, params

2.1.2r2 release:
- Bezier tweens were not working with roundResults activated.


---

2.1.1 release:
- bugfix: mtasc issue
- bugfix: fuse durations & easing were jumping objects when unspecified
- bugfix: cycles + complex props
- bugfix: Fuses were self interrupting with mismatched overlapping props.
- feature add: "during" prop in onTweenInterrupt
docs updated with new foldy action, Fuse constructor, ze.addEventListener, new custom sections.

---

2.1.1r1 release:
- a glitch was fixed dealing with non-tween (such as callback-only) actions within a group that specify a delay without a duration. Default durations were being compounded back into their times; Now, if no duration is specified in the action and no tweens run, duration is interpreted as 0, even when instance default duration is set.
- docs update: "Getting Started" to try and highlight when NOT to use Fuse. Please check that page!

2.1.1r2 release:
- New trigger example FLA and updated Simple>General FLA
- "_fade" property fixed / improved
	- was not setting _visible off correctly
	- Calls like stopTween, rewTween, etc. now work with "_fade" or "_alpha".
	- Fuse now detects collision and discards _alpha if both appear in the same action.
- Fuse onStop & onComplete events modified slightly so the Fuse's currentIndex stays on last index 
	during the events.
- Bezier improvements: 
	- Now works with start_x and start_y properties in Fuse.
	- You can now use all loose props (x,y,start_x,start_y,controlX,controlY) and/or a _bezier_ param in any action.
	- If you do, overlapping properties are now detected, reported, and properly discarded.
	- An error is now thrown if you try to set start props on controlX/Y or _bezier_ which is illegal. (again, start x & y are legal.)

----



The notes that follow were written for various prerelease versions through 2.0.5.
*****************************************************************************************

Fuse Feature Add: new instance defaults duration & easing !
	public var duration:Number;
	public var easing:Object;
	
	These settings supercede the defaults ZigoEngine.DURATION & ZigoEngine.EASING only for the 
	Fuse instance they are set on, and are overrided by any action containing its own seconds/duration/time
	or ease/easing parameters. 
	
		var f:Fuse = new Fuse();
		
		// set defualts for this fuse only
	 	f.duration = 2;
	 	f.easing = "easeInOutCubic";
	 	
	 	f.push({ x:'100' }); 				// adopts new defaults
	 	f.push({ x:'100', time:.5 }); 			// overrides default duration
	 	f.push({ y:'100', ease:'easeInExpo' });		// overrides default easing
		f.start();


Kit Improvements:
=========================================
Fuse's autostop and autoclear now work together:
	Fuses set to autoStop normally stop when interrupted;
	now if they're set to autoClear they are destroyed when interrupted.

Multi-tween functionality has been updated to handle color arrays.
	Tweening any array with 'colors' in its name makes the engine treat all values in the array
	as color values. This allows you to tween things like the colors array in a gradient fill that
	gets redrawn on update. When naming your array case is ignored, so 'myColors' will be used.

Applied actions have been updated slightly, the action property may now be an array of actions.
	This improves but doesn't change the previous ability to include applied actions in groups.


FuseFMP & Engine Updates
========================
- No more $ chars! Woohoo!

- New class property:
	public static var BLUR_ZERO:Boolean = true;
	
	Now by default all BlurFilters are written with 0 blurX & blurY - makes coding animations
	much easier. For instance { start_Blur_blurX:100 } now leaves the target crisp when done.

- setFilterProps rewritten; setFilterProp improved (may have disrupted other existing filters before)
	setFilterProps is now far faster, in fact for more than three properties it's much more efficient
	than separate setFilterProp calls.

- Issue with sensitive property ordering fixed: Complex props like GradientBevel seem to need to have 
	the colors array set prior to the ratios array. Now, ordering of properties in objects passed in 
	writeFilter and setFilterProps is preserved.

- Documentation, comments, errors & warnings improved 

- ZigoEngine: Complex FuseFMP properties should all now be fully tweenable! This includes:
	> Arrays like BevelFilter_alphas & BevelFilter_colors
		(sidenote: this colors array is the most complex tween in the engine - two levels of multi-tween functionality)
	> Should work with matrixes as well - can someone please test?

- Easier scoping: the engine now recognizes the scope parameter in a callback object as a default 
	So the callback object { scope:this, updfunc:'update' } will evaluate to this.update() 

- minor bugfix: ZigoEngine.getTweens() now returns 0 instead of NaN if queried prior to first tween.
- bugfix: splice (was leaving null values in array)


*****************************

New feature: tween-level math-rounding control.

details -
Added support for new roundResults property in engine callback objects or Fuse actions.
Sets specific tweens to round or not round. Always overrides the global setting
ZigoEngine.ROUND_RESULTS, so if the global setting is on you can pass false to cancel
rounding on a specific tween.

*****************************
(2.0.3-specific updates: 
Very close to 2.1, this version improves Fuse.fastForward to handle jumping during 
tweens more accurately, fixes a bug found by a community member Jon Bennett where 
pushTween was malfunctioning if multiple targets were passed, adds a new suppressEndEvents
param to ZigoEngine.ffTween, and improves simple syntax parsing. A sort of major fix/change 
is that engine targets are no longer auto-deinitialized if listeners are still subscribed. )
****************

~ MAJOR FEATURE ADD! ~ 'MultiTween' functionality

ZigoEngine & Fuse now support the direct tweening of multiple properties within
		individual Objects and Arrays! This makes it possible to tween many values within
		an Array, tween the values of a Matrix, Flash 8 ColorTransform, etc.

Example1:Matrix Object ---------------
import flash.geom.Matrix;
import flash.geom.Transform;

var myMatrix:Matrix = new Matrix();
var boxTrans:Transform = new Transform(box);
function applyMatrixTrans():Void { 
	boxTrans.matrix = myMatrix;
	trace(myMatrix.toString());
}

// slide and skew the box by altering the Matrix and applying it with a Transform object.

ZigoEngine.doTween(	this,
			"myMatrix",
			{a:.5, c:.5, tx:200 },
			1,
			'easeOutBounce',
			.5, 
			{ updfunc:"applyMatrixTrans()"});


Example2:Array ----------------------

var myArray:Array = [ 0, 0 ];

// Important! Since the endvals param already accepts Array, you need to wrap it in another Array.
// (Note the double brackets)

ZigoEngine.doTween( this, "myArray", [[ 100, -100 ]], 1 );



// A less likely case where _x and myArray are tweened at the same time to further illustrate.
ZigoEngine.doTween( this, "myArray, _x", [[100,-100], "100"], 1);

--------------------------------------------------------

~ MAJOR FEATURE ADD! ~ Updated Custom Easing

- MXP installs custom easing panel for the IDE (may add standalone versions as well)
- New CustomEasing class: pass CustomEasing to register() or simpleSetup() to use custom easing
- Panel now outputs one array.

--------------------------------------------------------

~ MAJOR FEATURE ADD! ~     New debug feature: Skip, speed up, or slow all tweens globally.


public static var ZigoEngine.TIME_MULTIPLIER:Number = 1;

All time values in ZigoEngine and Fuse are multiplied by this number.
(Affects all durations, delays, and time-based triggers kit-wide.)

A reminder message is sent to output each time the setting is changed.

Set to 0 to fast-forward through all animation. Unlike Fuse.fastForward (also new to this release), all callbacks 
and events associated with tweens are still fired, durations are simply set to 0. Note that based on SKIP_LEVEL
settings this may alter some behaviors in your program.

example:
ZigoEngine.TIME_MULTIPLIER = .5; // run all tweens at double-speed.

For more complex debugging of Fuse sequences you may want to set this property inline during the sequence. Example:
var testMode:Boolean = true;
function setTimeMultiplier(mult:Number):Void {
	if (testMode==true) ZigoEngine.TIME_MULTIPLIER = mult;
}
var f:Fuse = new Fuse();
f.scope = this;
// start sequence skipping through all tweens..
f.push({ func:setTimeMultiplier, args:0 });
// later in sequence return to normal speed..
f.push({ func:setTimeMultiplier, args:1 });
// etc.

--------------------------------------------------------


~ MAJOR FEATURE ADD! ~ fastForward through Fuse animations

Fuse > fastForward() method
			 @param resumeAtIndexOrLabel		Numerical item index or label string to fast-forward to.
			 myFuse.fastForward();
			 myFuse.fastForward(8);
			 myFuse.fastForward("slider");
			 myFuse.fastForward(-1);
			 Fast-forwards all animations in the fuse and fires onComplete immediately.
			 Index passed will be the first index played after fastForward. Passing 0 has no effect.
			 Callbacks and events are disregarded during ff.

--------------------------------------------------------

~ FEATURE ADD! ~ Jumps a tween to a specific point in its duration.

ZigoEngine.skipTweenTo(seconds:Number, targs:Object, props:Object):Void
	// jump to halfway through a 2-second tween
	ZigoEngine.skipTweenTo(1, clip1);
	
	// similar shortcut added for simpleSetup users:
	clip1.skipTweenTo(1);

--------------------------------------------------------

~ FEATURE ADD! ~ suppressEndEvents param in ffTween - similar to suppressStartEvents in rewTween.
ZigoEngine.ffTween(targs:Object, props:Object, suppressEndEvents:Boolean):Void

--------------------------------------------------------

~ KIT DEFAULT BEHAVIOR CHANGE & NEW SETTING ~

Fuse.AUTOSTOP (default=true) & instance autoStop property

	 The default behavior for how Fuses handle interruption has changed.
	 In past versions, Fuses would recover by skipping past interrupted tweens and continuing.
	 Now, if a property being handled by a Fuse is re-tweened or stopped externally,
	 the Fuse stops playing and 'onStop' is dispatched. This can be changed back with 
	 either the class or instance setting (instance setting always overrides class setting).
	 
	 The primary motivation for this change is to make Fuse more friendly for UI coding,
	 like rollover/rollout handlers, where there tends to be a lot of overlap issues.
	
	(version note: prereleases prior to 2.0.1 should not be used due to an issue w/this feature:
	 trailing tweens after trigger interrupted by following actions in the same Fuse were causing 
	 autoStop:true Fuses to stop, this case is now ignored.)

--------------------------------------------------------

Updates: Callbacks
------------------
1. The "easyfunc" parameter found in several places has been removed from the kit entirely.

2. You can now use "easyfunc" style strings for startfunc / updfunc / func callback params.

Examples:
myfuse.push({ target:box,
			  x:"100",
			  startfunc:"trace('start');",
			  updfunc:"trace('update');",
			  func:"trace('done');"
			});

ZigoEngine.doTween(box, "_x", "100", 1, null, 0,
					{ startfunc:"trace('start');",
					  updfunc:"trace('update');",
					  func:"trace('done');"
				    });

3. Internal updates:
	- Overhaul of Simple syntax tweens (including pushTween items, which were malfunctioning with multiple 
		targs/props). Enables fuller mixing of simple syntax & object syntax, even grouped together.
	- Some error messages have been improved / updated and some error codes have been changed slightly.
	- FuseItem.doTween now checks for interruptions in its loop cycles, aborts if found
	- Command validation and string imaging for traceItems has been updated / improved kitwide
		(new FuseKitCommon._validateFuseCommand method used by various methods in FuseItem)
	- Callback parsing for ZE/FI centralized in new FuseKitCommon.parseCallback() method.
	- Bugfix: FuseItem was failing to fire callbacks in 'pickup' scenarios (no targets or prop tweens).
	- Bugfix: extra1 & extra2 params fixed in Fuse (broken since 1.1z rewrite)
	- Bugfix: Command was missing from traceItems string output.
	- Bugfix / Behavior change: Targets are no longer deinitialized if there are still listeners subscribed.

	- Callback and Fuse custom event code has been improved kit-wide.
	- getHandle() added to Fuse class to standardize naming during output messages.
	- changed Fuse > _sState:String to _nState:Number.
	- modified Fuse for ff, FuseItem skips large portions of doTweens code during ff.
		  added private method getHandle to standardize outputs. Fuses with labels now show just the labels.









*****************************************************************************************
			notes: Fuse Beta :: Version 1.1 z3
*****************************************************************************************
Completed first version of the mxp. Far from perfect but it's a start.

Bugfix: Fuse.addCommand was failing to execute in some cases. (Thanks Catete!)

*****************************************************************************************
			notes: Fuse Beta :: Version 1.1 z2
*****************************************************************************************
Docs / comments completed
getActiveTargets(includeDefaults:Boolean):Array
	The new includeDefaults parameter lets you select whether you want to retrieve
	active (playing/paused) targets only, or defaults plus active targets.
Removed static AUTHOR property from all classes, changed static VERSION string to
	include copyright message
Decided to combine FuseFMP's version number with the kit
Updated Easing Equation license notice and added to the license file
Added _frame property to fuse's ADD_UNDERSCORES list, so frame may be used
Brought FuseKitCommon.ALL and FuseKitCommon.ALLCOLOR properties public
	These can be used in place of the strings 'ALL', 'ALLCOLOR' in engine methods
	like removeTween, pauseTween, and so on.
Shortcut method names updated for consistency with kit (legacy syntax retained):
	resumeTween (legacy:unpauseTween)
	resumeAllTweens (legacy:unpauseAllTweens)
	removeTween (legacy:stopTween)
	removeAllTweens (legacy:removeAllTweens)
The beacon clip is now named "ZigoEnginePulse" instead of "_th_".
Constructor for ZigoEngine changed to private.
Improved doTween() return-string formatting for multiple targets

*****************************************************************************************
			notes: Fuse Beta :: Version 1.1 z
*****************************************************************************************
Bugfix-Fuse: fixed advance for actions with startprops and missing targets.
Bugfix-Fuse: _visible toggle issues during overlapping calls of fadeIn / fadeOut shortcuts

Improvement-Kit: all newlines were replaced with \n which works better with mtasc

Improvement-Fuse: better handling of null or missing targets
	- warnings given if one or more targets were missing
	- error given if all targets were missing
	- previously, any missing target was triggering advance which has been corrected

Improvement-Engine/Fuse: more detailed handling of events and advance calls

Fuse-Major feature add: Time-based advance trigger! (Woo hoo!) 

Here's a full description of the trigger property:
--------------------------------------------------
Accepted values are true, positive or negative number, or timecode-style string

1. In a multi-item group you may use trigger:true to advance the Fuse to
	the next item before all items in the group have finished.
	Here, the fuse will advance after the y animation while the x tween trails off.
	[ {x:'100', seconds:2}, 
	  {y:'100', seconds:1, trigger:true} ]
	
2. You may now also specify a time to trigger the tween to advance, like:
	{ x:'100', seconds:5, trigger:1.5 }
	or { x:'100', seconds:5, trigger:"01:50" }
	(This was previously possible by adding a group and a delay plus a trigger, but this
	 update makes the process more intuitive and simpler..the whole point of Fuse, right?)

3. Specify a negative number to count back from the end of the delay + duration. So,
	{ x:'100', delay:1.5, seconds:1.5, trigger:-.5 }
	or { x:'100', delay:1.5, seconds:1.5, trigger:"-00:50" }
	..will trigger advance half a second before the tween ends (or 2.5 seconds in).

4. Only one trigger may be used in any action, additional instances will be discarded.

5. You can use a trigger in a standalone (non-grouped) action to add a delay.
	For instance, { trigger:1 } will act the same as { delay:1 } 

Your turn: This update required a lot more rewriting than one would hope, so once again 
I need you to plug this version into any fuses  you've written (esp. ones that use triggers) 
and let me know if something breaks.

*****************************************************************************************
			notes: Fuse Beta :: Version 1.1 y13
*****************************************************************************************
Improvement: callback & event order & robustness
	This update ensures that callbacks will be fired correctly for all situations,
	and interlaces callbacks and events during update() in the following order:
		start event 	(once per target)
		start callback 	(once per doTween group)
		update event 	(once per target)
		update callback (once per doTween group)
		end event 		(once per target)
		end callback 	(once per doTween group)

	Note that callbacks are fired once per doTween group, meaning that even if you pass
	multiple targets and properties, startfunc, updfunc, and func should only fire one
	time per update cycle for all targets and properties passed, not once per target/property.
	
	Beta testers:
	Please retest your fuse files using this rev and pay special attention to operation
	of callbacks & events, and report any discrepancies found to the forum. Thanks!
	
Minor bugfix: engine was initializing with no tweens during case skipLevel:2/no tweens added

*****************************************************************************************
			notes: Fuse Beta :: Version 1.1 y11
*****************************************************************************************
Three feature improvements in this release!

1. When using simpleSetup, you may now use Fuse object syntax with the tween() shortcut!
	(Be sure to register FuseItem to activate Object Syntax.) 
			Example: 
			import com.mosesSupposes.fuse.*;
			ZigoEngine.simpleSetup(Shortcuts, PennerEasing, FuseItem);
			my_mc.tween({start_x:'-100', start_alpha:0, seconds:.5, ease:'easeInOutCubic'});
			
	- You can then use this technique to mix Fuse simple & object syntax as well.
			(See example of this below)

2. setStartProps Improvement: You can now pass labels as well as indices to setStartProps() and start().

			For example:
				import com.mosesSupposes.fuse.*;
				ZigoEngine.register(Fuse);
				var f:Fuse = new Fuse(	{start_alpha:0, delay:1}, 
										{ start_x:'200' }, 
										{ start_xscale:200, label:'stretchx' });
				f.target = box_mc;
				f.start(0, 'stretchx'); // preset only alpha and xscale but not x.
			
			As before, setStartProps values can be formatted in the following ways:
			- true to preset all startprops
			- one or more indices/labels to set startprops on specific items
			- or an array of indices/labels will also be parsed
	
3. Added setStart option to simple syntax methods Fuse.closeAndStart() and Fuse.startRecent()

			This example shows this feature and further illustrates the mixing of syntaxes from point#1 above:
				
				import com.mosesSupposes.fuse.*;
				ZigoEngine.simpleSetup(Shortcuts, PennerEasing, Fuse);
				Fuse.open();
				 box_mc.tween({start_alpha:0, delay:1});
				 box_mc.tween({start_x:'200'});
				 box_mc.tween({start_xscale:200, label:'stretchx'});
				Fuse.closeAndStart(0, 'stretchx');

*****************************************************************************************
			notes: Fuse Beta :: Version 1.1 y11
*****************************************************************************************
Improvement: Added a tiny setInterval to FuseItems that do not play tweens prior to complete()
	call. This breaks the actions-list and prevents the player from locking up if many 
	callback or event only items are played in a row. (Avoids "More than 256 actions...")

*****************************************************************************************
			notes: Fuse Beta :: Version 1.1 y10
*****************************************************************************************
bugfix: ZigoEngine.EASING was not grabbing when null or nothing passed to tween call
bugfix: engine was failing to reboot after 're-publish' if setControllerDepth() used.

*****************************************************************************************
			notes: Fuse Beta :: Version 1.1 y9B
*****************************************************************************************
Y9 Fixes a few mtasc bugs that the beta group found.
	& Changes initializeTargets/deinitializeTargets back to public methods.
	(special thanks rafael g. and bernardo k.!)

Y9B New Feature - adds 2 new shortcuts:
	
		- "fadeIn" (seconds:Number, ease:Object, delay:Number):String
		- "fadeOut" (seconds:Number, ease:Object, delay:Number):String
	
	I try to keep the shortcuts to a minimum but I've often (really often) had to do a 
	callback to toggle visibility, so I know they're useful! These are special in that 
	they run alpha + _visible -- when faded out, _visible is set false.
	
	Note that the parameters are a little different that usual in that you don't have to
	specify and end value, they assume 0 or 100 from current _alpha.

*****************************************************************************************
			notes: Fuse Beta :: Version 1.1y8
*****************************************************************************************
Bugfixes:
- Fuse.open: shortcuts should not have been required to use simple syntax
- FuseItem & ZigoEngine OUTPUT_LEVEL 2,3 message formatting improved for listing tweens
- ZigoEngine setup errors: updated wording

Changes:
- Improved & updated javadoc header comments around the kit
- [=strike this, see next rev=] Changed ZigoEngine.iniitializeTargets & deinitializeTargets to private methods
- Changed ZigoEngine.__mgrSetup to __mgrRelay to enable various methods to be called by ZManager instance
- Changed name of param pEnd to endvals in ZigoEngine and ZManager (legacy code)
- Updated ZigoEngine.isTweening to accept 'ALLCOLOR' keyword for prop param

Rewrites:
- ZManager.paramsObj: Endvals parsing for ZigoEngine.doTween was moved to paramsObj, which underwent more rewriting.
	
	The goal of this rewrite was to add more robust handling of _scale / _size conflicts, including stripping of
	duplicates, which was still problematic. Because this was a significant change we can really use some
	stress-testing in passing all sorts of combinations to doTween(). Try passing properties more than once, pass 
	lots of conflicting size & scale props (_size,_scale,_width,_xscale,_height,_yscale), too many & too few endvals,
	various formats of props and vals lists (comma-delim string / array / single value), and so on. Set OUTPUT_LEVEL high
	so you can monitor what is actually tweened. Of course I don't expect people to get things wrong every time they call
	doTween, but it's easy to make a mistake and the engine should handle it sensibly if you do.


*****************************************************************************************
			notes: Fuse Beta :: Version 1.1y7
*****************************************************************************************

This is the first MTASC -strict version of the Fuse Kit.

In cleaning up for strict compliance,
1. I squashed a bug in FuseItem.onTweenEnd that was pretty serious and may have been causing Fuses to not advance correctly.
2. I may have actually created more bugs, so please thoroughly test with all your Fuse programs to be sure everything still works.

~Moses Gunesch~



*****************************************************************************************
			notes: Fuse Beta :: Version 1.1y6
*****************************************************************************************

This is the first version of the Fuse beta released with:

	- JavaDocs-style comments & Explanatory comments for most class members

	- MIT Open-Source License


*****************************************************************************************
			notes: Fuse Beta :: Version 1.1y5
*****************************************************************************************

Fuse
----
1. slice(): fixed it - was not working correctly

2. splice(): minor code update, functionality has not changed

3. traceItems(): added missing linebreaks back in

4. Changed return type from Fuse to Void in three methods
	- public function setStartProps():Void
	- public function start(setStart:Boolean):Void
	- public function skipTo(indexOrLabel):Void


FuseItem
--------
1. General
	- rearranged placement of variables
	- typed all members to public or private

2. changed var _sID to private function _sID()
	- Fixes bug: Item IDs were not updating in Fuse.traceItems & error messages
	  after Fuse order altered via splice, unshift, etc.


ZigoEngine
----------
doTween() updated
	- More robust handling of mismatched props & endvals.
	- Added support for comma-delimited string for endvals, all are treated as relative


ZManager
--------
1. public/ private typing added to all members

2. private function paramsObj() updated for more robust handling of size/scale overlaps
	- as in Fuse, size props override scale props if both passed.
	- duplicate detection / exclusion improved (i.e. _size,_width,_scale ~ _width,_height)

3. Bugfix in getStatus() - ZigoEngine.isTweening()'s second param, prop-filter, was not working.


*****************************************************************************************
			notes: Fuse Beta :: Version 1.1y4
*****************************************************************************************


       ** These are all major changes, so please read <<and test!>> ***
       

*****************************************************************************************

1. The extra1 & extra2 parameters of all tween functions (doTween, alphaTo,
	etc.) have been removed & moved into the callback object.
	
	These additional parameters are passed to the easing functions and 
	do things like 'overshoot' for elastic and bounce easings; extra1
	is also used for custom-easing-panel easing equations.
	
	You must now place them in the callback param, such as { extra2:10 }.
	
	Although this change goes against my general efforts to preserve the
	formatting and syntax of lmc_tween, I feel it is worth it by simplifying
	all tween methods by two parameters, and it goes along with the addition
	of cycles and skipLevel parameters to the callback object. The only real
	drawback is that beginners who use easyfunc strings for callbacks and
	need to pass extra1 or extra2 will have to learn how to format an object
	with an easyfunc parameter - I don't think this is a major concern.


2. Fuse Mini & Fuse Lite removed from kit! ! ! !
	I decided to save the ideas in mini for future releases, and lite got fat.


3. Behavior change! ZigoEngine: "bad" values now treated as standard nontweens.

	This version changed the engine's response to tweening bad values
	such as null or NaN, to be treated as a "nontween" and work
	with the skipLevel parameter. Bad values are now processed as tweens,
	unless skipLevel is > 0.
	
	(In previous version of 1.1, "bad" tweens were discarded after 1 cycle.)
	
	An example of a "bad value" tween is calling a tween on an undefined
	variable. Because the currrent value can't be determined, the tween is
	now converted internally to a "no-change tween". Therefore if skipLevel
	is left alone, the tween will run seconds + delay.
	
	Change to Fuse related: FuseItem no longer "validates" and strips null
	items out, it just lets them go through for processing in the engine as
	above. This will ensure that sequences with skipLevel 0 will retain
	timing.
	
	(Thanks Joerg for finding this discrepancy!)

	see "11y4example.fla" for some code samples showing this more clearly.
	
	
4. New class added to the kit!   :: FuseKitCommon ::

	class property VERBOSE (default true) - set to false for short-form errors
	
	class property logOutput:Function
	
		Makes it really easy to extend the kit with a logger!
		
		Simply set this property to a custom method of your own.
		
		FuseKitCommon.logOutput = function(s:String):Void { /* [logger code] */ }
		
		If defined trace is not called and newline chars are replaced with '\n' chars.
		
	- Centralizes VERSION and AUTHOR strings. (ZigoEngine, FuseFMP augment
		these with additional info and credits)
		
	- Centralizes shared elemements
	
	- Centralizes error strings. If anyone has time please go through this
		and double-check me, be sure I did not mix up any of the errors.
		
		
-bugfix: Shortcut property _tint was not working.


*****************************************************************************************
			notes: Fuse Beta :: Version 1.1y3 
*****************************************************************************************

- bugfix, command-in-groups error was thrown on all commands

- bugfix, fp6 publish errors (thanks tester Andrew Fitzgerald)

- bugfix, 'nontween delays' decision logic


* fusemini: *  This version should work! Read NOTES.as to learn about it.
  Fuse + ZigoEngine for only 15k, no shortcuts (no prototype-tinkering), no simple syntax.
  This is "Fuse Lite for Developers."


Fuse class is updated this version!
-------------------------------------
1. NEW public instance property: label
  Name your fuse instances - easier to reference them!


2. removeTargets() changed to removeTarget() to be consistent with addTarget()
    - both methods still accept multiple targets
    - addTarget code was improved to prevent duplicates


3. Fuse.getInstance(idOrLabel):Fuse
    updated to accept string label as well as numerical id.


4. NEW: getActiveTargets(Void):Array
	// returns a fuse's default targets, plus - if playing or paused - all targets being handled in the current action.
	// Note that in some cases fuse actions override default targets, but defaults are always considered active.
	// ZigoEngine methods can be used to further inspect the tween state of each target returned, for more specific information.


5. NEW: Fuse.getInstances (stateFilter:String, targets:Object):Array

	// getInstances allows you to get all Fuse instances, or filter by state and/or active targets.
	// - stateFilter: nothing or "ALL" for all Fuse instances, or get "playing", "stopped" or "paused" instances only
	// - targets: accepts: nothing (no filter), a single target, Array of targets, or list of targets starting with the second param.
	// 	 Filters by "active targets" (see getActiveTargets above)

   Fuse Lite has this method but does not accept any arguments, returns all.


6. REMOVED: (outmoded by the flexibility of getInstances)
    Fuse.getNumInstances
    Fuse.clearAll
    Fuse.stopAll
    Fuse.pauseAll
    Fuse.unpauseAll

    - example: to unpauseAll, you would write the following basic script:
         var pausedFuses:Array = Fuse.getInstances("paused");
         for (var i:String in pausedFuses) pausedFuses[i].resume();
    - Note that this means that Fuse only has 2 class methods outside of simple syntax now: getInstance(id) and getInstances().

7. Fuse.AUTOCLEAR new behavior
    If set true, fuses are now removed onComplete - after the fuse has played through once.

Many thanks to beta tester Dan Grossman for many of these ideas - I think these are great improvements to the Fuse class.


--------------------

Notes from previous version, Y2:

- Fixed the issue with resume called after a command was run (was not advancing)

- Fixed the issue with pause called from a sequenced callback not grabbing

- Moved the error "Cannot tween" so it gets sent if an animation property is included and the engine is not present.

- Updated Fuse.stop so event won't be re-dispatched if fuse is already stopped. (thanks nyls on these)

- Fixed bug where engine was always running (thanks nacho) - please let's be sure that it doesn't jam up, i.e. stop running when it shouldn't


