This repository has been archived by the owner on Nov 14, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 115
/
Copy pathchangelog
917 lines (680 loc) · 38.7 KB
/
changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
* 07/01/2013 0.7 Build 6 *
---------------------------
* Added functionality to AudioManager. The method director.setAudioFormatExtensions which proxies to audioManager.setAudioFormatExtensions
sets a default audio object extension set. By default is [ 'ogg', 'mp3', 'wav', 'x-wav', 'mp4' ]. This means CAAT by default
will try to find ogg files, then mp3, etc. It is not important whether the audio files add to director.addAudio have extension
or not. CAAT will add the first suitable extension to be played from the supplied or default audioFormatExtension array.
* Added __CLASS attribute to Class function. Now all objects are identified.
* Fixed Director dynamic scale behavior.
* Enhanced Skeletal animation support (Spine).
* Fixed. Font error which prevented fonts to draw on screen.
* Added. Method SpriteImage.addElementsAsImages which turns all subelements, either a grid defined by rows and columns or a JSON map
into available images for director.getImage calls.
* Fixed. Label object made <image> tags to be incorrectly set in the document.
* Fixed. Label now accepts images set by calling Label.setImage or images with names matching director.getImage calls.
* Added demo35: Label usage.
* Added demo36: Sprite maps.
* Added. Method SpriteImage.initializeFromTexturePackerJSON which adds map sub-images as valid director.getImage values.
* 04/07/2013 0.6 Build 52 *
---------------------------
* Changed. Some functions from Matrix objects to Matrix class.
* Added. Modification to CAAT.Math.Rectangle . if no parameters in constructor is set to empty.
* Fixed. CAAT.Foundation.UI.Label dependencies.
* Fixed. CAAT.Foundation.Actor dependencies.
* Added. Capture skeletal animation on-the-fly to an spriteSheet.
* 04/02/2013 0.6 Build 49 *
---------------------------
* Added. Skeletal animation based on Spine (by @EsotericSoft) format.
* 03/18/2013 0.6 Build 30 *
---------------------------
* Fixed. CAAT.Foundation.UI.Label. Empty lines now have correct height.
* Fixed. Dirty Rectangles were broken !!!!.
* Added. setOpenContour(bool) to PathBehavior which calculates path traversal beyond path length
as the path continuation out of its final path tangent values instead of wrapping the path.
* Added BackOutInterpolator to the list of default interpolators. Always been there, but missed the
demos.
* Added clean up code on Actor destroy.
* Fix. Weird visibility change. Now on setVisible call, if from not visible to visible, the actor
is marked as dirty.
* Fix. CAAT.Foundation.ActorContainer.getActorById function which could show wrong behavior.
* 02/27/2013 0.6 Build 1 *
---------------------------
* Added CAAT.CACHE_SCENE_ON_CHANGE which controls caching of entering/exiting scene. Set it before building director.
* Added CAAT.PathUtil.SVGPath which parses an SVG path and creates a Path object.
* Added demo32: CAAT.PathUtil.SVGPath sample.
* Added parsing capabilities to CAAT.Behavior.*Behavior and CAAT.Behavior.Interpolator objects.
* Added demo33: on-the-fly CSS3 key-frame info generation from Behavior objects.
* Added closed attribute to path objects.
* Added thorough keyframing capabilities to CAAT.Behavior.Behavior classes.
* Added functionality to CAAT.CSS object.
* Added JSDoc pages.
* Fixed Debug info.
* 01/22/2013 0.5 Build 65 *
---------------------------
* Fixed Safari and MOMA bug. Now loads modules correctly. Thanks for being so picky.
* Fixed Actor.centerAt. Now takes into consideration positional anchor.
* Director.createTimer function now returns the created CAAT.Foundation.Timer.TimerTask object.
* Forced Box2D objects to keep their position anchor in the middle.
* Added ResourceBundle module. Allows for control of localized strings.
* Fixed director.endAudio method.
* Added director methods cancelPlay : function(id) and cancelPlayByChannel : function(audioObject) which
allow to stop a playing channel or all the channels playing a given audio id.
* 12/13/2012 0.5 Build 46 *
---------------------------
* SpriteImage now can set subImages as director images. Useful if packing textures.
* Changed scene timers semantics. Now they're not processed during animation stage, but independently from that.
This prevents some strange glitches when EASE Translating scenes in/out where behaviors where not applied until
next frame. Now this is fixed.
* Fixed odd bug with ContainerBehavior. Now you can safely setDelayTime on a container during expiration callback
process.
* 11/24/2012 0.5 Build 23 *
---------------------------
* FIX. https://github.com/hyperandroid/CAAT/issues/95
* Added retina display support. Set CAAT.RETINA_DISPLAY_ENABLED=true before building director instances.
* Added sprite animations.
* Created demo31: sprite animation management.
* FIX. cacheAsBitmap when actor width or height is less or equal 0;
* This version is a major update. CAAT structure has been changed, but keeps backwards compatibility except
for some prototype constants which have been moved from prototypes to Constructor functions. This means that
deprecated constant values have been removed, more concretely: prototype constants from: CAAT.SpriteImage,
CAAT.Actor, CAAT.ActorContainer, CAAT.Scene and CAAT.Director have been removed.
A new structure based on a ModuleManager has been imposed which exposes more appropriately CAAT's structure and
allows for better maintainbility. This module manager takes care of Class definition and extensibility, solves
deep circular dependencies, loads libraries and modules, etc.
From a flat structure, the system has evolved to:
|-src
|---Behavior // Behaviors and interpolator classes.
|---Core // Module manager, constants and old Class functions.
|---Event // Mouse, touch, multitouch and animation loop related functions.
|---Foundation // Foundation actors: Actor, ActorContainer, Scene and Director
|-----Box2d // Box2d related actors.
|-----Timer // Timers and virtual timeline control for Scene and Director.
|-----UI // UI related actors: ShapeActor, StarActor, Dock, etc.
|-------Layout // Layout utilities. See demo29
|---Lib // Libs needed by CAAT: currently box2dWeb
|---Math // Point, Rectangle, Matrix, Curves, etc.
|---Modules // Extensible plugins
|-----Audio
|-----CSS
|-----CircleManager
|-----Collision // SpatialHash and Quadtree
|-----ColorUtil
|-----Debug // DEBUG functionality
|-----Font
|-----Image
|-------ImageProcess
|-------Preloader // Asset preloaders
|-------Util // Image utils: crop, thumbs, etc.
|-----LayoutUtils // old layout capabilities. Use CAAT.Foundation.UI.Layout instead.
|-----Runtime // runtime information: browser types, etc. Soon Retina capabilities, etc.
|-----Storage // local storage Class. Soon to add others.
|-----TexturePacker // Pack textures on-the-fly into bigger atlases. transparently used by webGL renderer.
|---PathUtil // Pathing classes.
|---WebGL // WebGL utilities.
Now the right class for CAAT.Actor is CAAT.Foundation.Actor. But old names have been kept for CAAT backwards
compatibility. Same with all the other CAAT constructor classes.
* CHANGE. Moved ui to modules directory.
* FIX. Deprecated prototype constants in Actor, Scene, Director, SpriteImage.
* CHANGE. Default layout behavior is non-animated.
* CAAT.enableDeviceMotion to start device's accelerometer capabilities.
* FIX. Unified CAAT.Foundation.SpriteImage.drawString with CAAT.Foundation.TextActor.drawText function. Now
the method signature is CAAT.Foundation.SpriteImage.drawText( str, ctx, x, y );
* CHANGE. It is no more needed to call SpriteImage.getRef() to share a SpriteImage instance among different actors.
* FIX. Actor.cacheAsBitmap(time, hint) has been fixed.
* 09/30/2012 0.4 Build 420*
---------------------------
* ADD. CAAT.UI.Label now can show images.
* ADD. CAAT.UI.Label now can use <a> anchors.
* FIX. Linear path apply as path was buggy.
* ADD. CAAT.Director.enableResizeEvents now returns this to make it chainable.
* ADD. CAAT.SpriteImage.getWrappedImageWidth and CAAT.SpriteImage.getWrappedImageHeight which returns internal
image's dimension.
* FIX. CAAT.Actor.cacheAsBitmap could give wrong results.
* CHANGE. CAAT.TextActor now honors font's attributes.
* FIX. CAAT.ShapeActor honors a previous cacheAsBitmap call.
* ADD. CAAT.Actor.moveTo now has a callback parameter which will be invoked on animation end.
* ADD. CAAT.CSS_TEXT_METRICS global variable controls how fontMetrics ascent and descent will be calculated.
if 0, an estimated 80% of font's height will be used as descent position.
else, a CSS based calculation will be applied.
* ADD. CAAT.Font.getFontMetrics function which (based of CAAT.CSS_TEXT_METRICS) calculates font information:
height, ascent and descent.
* CHANGE: CAAT.TextActor now uses alphabetic baseline to position itself in the scene. This fixes FF bug
where baseline="top" does not give appropriate results. See demo30 fonts.html for a visual test on this.
* FIX. CAAT.currentDirector global variable now always has a value.
* FIX. Scene transitions when using linear paths now fit perfectly.
* FIX. CAAT.LinearPath.applyAsPath now can be used as clip mask.
* FIX. CAAT.LayoutManager.setAnimated now can be chained.
* ADD. CAAT.Label now has shadow, shadowColor and shadowBlur attributes.
* 09/19/2012 0.4 Build 398*
---------------------------
* FIX. Complete CAAT.Font revamp.
* FIX. Complete CAAT.TextActor revamp. Now it is consistent among: CAAT.TextActor, CAAT.TextActor with
CAAT.Font object and Canvas drawing.
It is funny seeing how different browsers implement differently same APIs. Shame on you.
* ADD. CAAT.UI.Label. This a powerful multiline textActor. You can set styles, let the text reflow
at fixed/variable width, add images and set anchors.
* ADD. Demo30 fonts. This demo shows correcteness of CAAT.TextActor by mixing TextActors, TextActor with
CAAT.Font as font, cachedAsBitmap actors and Canvas drawing. The result is homogeneous and every
element seems to be the same since you can't spot the difference whether it uses canvas or sprite font.
* CHANGE. Demo29 layout contains Label actors showing pork-ipsum at random font sizes.
* 09/15/2012 0.4 Build 319*
---------------------------
* FIX. CAAT.Actor.scaleTo wasn't scaling correctly.
* ADD. Automatic Actor layout capabilities on CAAT.ActorContainer. Switch from CAAT.UI.BorderLayout, CAAT.UI.GridLayout,
CAAT.UI.BoxLayout.
* ADD. Demo29. Layouts
* 09/11/2012 0.4 Build 303*
---------------------------
* FIX. CAAT.TextActor was not honoring text outline property.
* 09/11/2012 0.4 Build 299*
---------------------------
* CHANGE. Some demos have been changed to accomodate TextActors to the textAlignment.
* 09/11/2012 0.4 Build 293*
---------------------------
* CHANGE. Dirty rects have changed how they work. Now, each on-screen actor's bounds are checked against dirty rects
list and if no interesetion, the actor/container is not drawn.
* ADD. Debug panel, num of actors not drawn due to DirtyRects.
* ADD. CAAT.TextActor now resizes when thext changes.
* FIX. CAAT.TextActor.setAlign now works properly.
* 08/31/2012 0.4 Build 283*
---------------------------
* CHANGE. CAAT.SpriteImage which have an animation sequence and a changeFPS, now always request to invalidate
their container actor. Previously only was requested upon new sprite sheet index selection.
* CHANGE. Now pending to add children lists calls addChildImmediately instead of addChildren.
* FIX. SpriteImage index when animation is changed now shows correct sprite image index.
* FIX. CAAT.TextActor.setText method invalidates the actor.
* 08/31/2012 0.4 Build 277*
---------------------------
* FIX. Call invalidate when changing Actor's backgroundImage setBackgroundImageIndex method.
* ADD. Added timer to CAAT.Director. These timers are application wide, not local to an scene. Functionality is
cloned from scenes.
* FIX. CAAT.SpriteImage.setSpriteIndexAtTime invalidates owner actor on change animation sequence index.
* 08/30/2012 0.4 Build 275*
---------------------------
* FIX. CAAT.Font padding value made fonts wider (added blank space).
* ADD. CAAT.TextActor.setFont now accepts CAAT.Font objects as parameters.
* ADD. CAAT.Font.setStrokeSize(number) which defines text stroke size.
* CHANGE. CAAT.ActorContainer uses no more a Linked List to keep track of its active children. Certain situations
made it loop forever (ie on input events).
* FIX. Some methods on CAAT.Actor had been corrupted. WTF!!!.
* ADD. CAAT.Actor.removeChildAt extra security check.
* 08/27/2012 0.4 Build 255*
---------------------------
* ADD. CAAT.ContainerBehavior.setDelayTime.
* ADD. Demo25: flip cards sample.
* FIX. CAAT.Actor.setVisible made the system crash.
* 08/26/2012 0.4 Build 249*
---------------------------
* ADD. Call invalidate when calling to setVisible(true) so that DIRTY_RECTS repaint actor's complete area.
* FIX. CAAT.NO_RAF code was missing Director's collection iteration.
* ADD. Clean method on director which sets it up to be reused. All information is sweeped out: images, scenes, ...
* FIX. FPS in debug panel when NO_RAF was selected did not update.
* ADD. CAAT.ActorContainer.removeLastChild and CAAT.ActorContainer.removeChildAt(index) methods.
* FIX. Dirty Rects. Now call to removeChild, removeFirstChild, removeLastChild clear screen apropriately.
* FIX. Dirty Rects. setVisible(true|false) now honors dirty rects.
* FIX. CAAT.Director.easeInOutScene functions. Alpha value now is on.
* 07/26/2012 0.4 Build 229*
---------------------------
* Changed CAAT.Scene.setPaused semantics. Now, nothing but the main CAAT director animation loop is being executed, so
minimal resources are being consumed. No drawing, no scene graph traversal.
* Added CAAT.endLoop method which definitely stops resource draining. Animation system is paused. It can be resumed by
calling CAAT.loop again.
* 07/14/2012 0.4 Build 221*
---------------------------
* Fixed CAAT.Path bounding box.
* Added ArcPath. This path segment represents a complete circular path.
* Deprecated CAAT.ShapePath in favor of CAAT.RectPath
* Added missing features to CAAT.RectPath.
* Added buggy Path.arcTo method. Do not use.
* Added demo24 which show how to build paths and combine them into more complex ones.
*07/03/2012 0.4 Build 128 *
---------------------------
* Fixed a terrible bug which made input system work improperly. enableEvents was called two times in a row.
*06/29/2012 0.4 Build 125 *
---------------------------
* To avoid seeing incomplete animation frames when new animation indexes are set a call to resetAnimationTime upon setAnimationImageIndex has been added.
* CSS renderer: Fixed emptyChildren method.
* CSS renderer: Fixed input proxy div reference. Now css renderer properly handles input position.
* CSS renderer: Added control on Actor.setParent which prevents DOM hierarchy errors.
* Added methods: moveTo, rotateTo, scaleTo, scaleXTo, scaleYTo which define incremental affine transformations.
* Added setDiscardable method to behaviors which makes them auto remove from parent on expiration.
* Added demo23: actionTo which shows moveTo/rotateTo example.
* Fixed CSS renderer: setGestureEnabled returned undefined should be this.
*06/06/2012 0.4 Build 99 *
--------------------------
* Created method Actor.disableDrag()
* Created CAAT.currentDirector which always points to the current rendering director. If queried from any CAAT managed
method it will point to a valid object.
* Create CAAT.getCurrentScene() function. Gets current Director's current Scene.
* Added more documentation.
* Fixed CSS template and code run. Multitouch code broke compatibility.
*05/10/2012 0.4 Build 96 *
--------------------------
* Fixed multitouch. Actors can have setGestureEnabled(bool) and will be delivered independtly.
Each actor has been added the following method:
* touchStart( CAAT.TouchEvent )
* touchEnd( CAAT.TouchEvent )
* touchMove( CAAT.TouchEvent )
* gestureStart( rotation, ScaleX, scaleY )
* gestureChange( rotation, ScaleX, scaleY )
* gestureEnd( rotation, ScaleX, scaleY )
gestureChange, by default does rotation/zoon operations. Gestures will be notified after calling setGestureEnabled.
Touch methods will receive only its touch info, not the whole system's.
These functions will be called after switching CAAT.TOUCH_BEHAVIOR to CAAT.TOUCH_AS_MULTITOUCH
* Fixed multitouch on ActorCSS.
* Added check for button error. (Rob Boerman)
*05/07/2012 0.4 Build 81 *
--------------------------
* First multitouch version. Check CAAT.TOUCH_BEHAVIOR= CAAT.TOUCH_AS_MULTITOUCH
*05/06/2012 0.4 Build 66 *
--------------------------
* Added Float32Array undefined check.
* Added initial director renderMode flags.
* Added proxify("Contructor_function") and proxyObject() functions.
*04/22/2012 0.4 Build 63 *
--------------------------
* Minor code fixes.
* Added Float32Array where available to manange AF matrices.
*04/22/2012 0.4 Build 59 *
--------------------------
* Fixed demo 12+1, which led strange results regarding lines. Damn beginPath().
* Added threshold values for drag operations.
* Fixed bubbling with window input system. MouseUp was not releasing a flag.
* The method setAnimationImageIndex now resets animation timeout so spritesheet will show first frame.
* Added method resetAnimationTime on Actor and SpriteImage to reset animation sprite sheet time.
*04/22/2012 0.4 Build 36 *
--------------------------
* Removed layerX/layerY code from cursor on-screen coordinate recognition. It was giving wrong values.
* Added proxyfy and proxyObject functions.
* Input systen has been promoted from canvas element to window. This way you can drag out of the canvas boundaries.
The system honors touch events.
*04/17/2012 0.4 Build 8 *
--------------------------
* Under certain situations, modelToModel, modelToView and viewToModel could give unexpected results.
specially when removing/adding actors in the same frame. Added a dirtiness test on those functions to have
correct values.
* TextActor, as guonjian spotted, when drawing text on a path, kerning was destroyed. Fixed.
*04/05/2012 0.4 Build 1 *
--------------------------
* Merged Karl Westin pull requests.
* Fixed CAAT.Actor with sprite sheet on CSS renderer which didn't update the sprite index based on time.
* Added paintChunk to CAAT.SpriteImage which allows to draw arbitrary image regions.
* Fixed CSS renderer issues when scaled up.
* Added demo 20 : flight control.
* Added demo 21 : preliminary CAAT tile based engine. Canvas only.
* Modidied some demos.
* Added preliminary inspector module.
* Added CAAT.NO_RAF to avoid RAF in favour of setInterval.
*03/13/2012 0.3 Build 264*
--------------------------
* Fixed TR_TILE semantics on CSS which prevented to shift properly with a call to setImageOffset.
* Fixed template with splash when using CSS renderer.
* Changed demo16 masking.
* Fixed some code ambiguities at Font object.
* Added onError function to imagepreloader object.
* Changed tutorial 1 info.
* Changed tutorial 2.1 Input.
02/27/2012 *0.3 Build 230*
--------------------------
* Added e.offsetX/e.offsetY control on mouse events. Only available in webkit but a real life saver to get correct
on-canvas coordinate under the mouse.
* Fixed template files. Now they can started with canvas/css.
* Fixed a bug which made cached containers to draw their children.
* Added a second parameter for cacheAsBitmap. This method indicates whether a container and its children have been
cached, meaning the container will be treated as a simple non Container Actor.
02/23/2012 *0.3 Build 212*
--------------------------
* Added to CAAT.Scene the following methods:
+ findActorAtPosition(CAAT.Point) : custom actor find procedure. This is overriden to attend at the priority input lists.
+ enableInputList(number) : number of priority lists to set for this scene. A priority list is a list of actors to
which are suitable to receive input first. If no actor on the priority lists are under
the cursor, the whole scene graph is traversed instead.
+ addActorToInputList( actor, index, position ) : add an actor to a given priority list at certain position.
+ emptyInputList( index ) : remove all elements from a list.
+ removeActorFromInputList( actor, index ) : remove an actor from a list, or if no index list is supplied remove
the actor from every list in which appears.
* Fixed Actor.setImageTransformation( CAAT.SpriteImage.prototype.TR_TILE ) which didn't honor actor position and offset
to appropriately place the tiling image. Also the performance sink when using this flag with huge actors's been fixed.
* Fixed an issue when entering scene gets mouse input.
02/21/2012 *0.3 Build 180*
--------------------------
* Fixed (at last) Catmull Rom splines as CAAT.Path objects.
* Added CAAT.Path.flatten method to turn a compound path of patches into a polyline.
* Added CAAT.PathActor.setOnUpdateCallback
02/10/2012 *0.3 Build 138*
--------------------------
* Deprecated CAAT.PathBehavior.setTranslation function in favor of CAAT.Actor.setPositionAnchor function.
* Deprecated method setLocation in favor of setPosition.
* Added translation anchor. setpositionAnchor, setPosition.
* Added methods setRotationAnchor, setScaleAnchor, setGlobalAnchor to CAAT.Actor.
* Fixed bug with dirty rects and scaled canvas. It wasn't repainting the correct screen areas.
* Added CAAT.SpatialHash object.
* Added Behavior.setDelayTime( delay, duration ). This method applies the behavior after delay ms from current scene time
so there's no need to know currentScene time to set a behavior anymore.
* Added CAAT.SpriteImage.stringHeight method which gives the highest char height on the sprite image atlas map.
* Fixed CAAT.ContainerBehavior that on expiration notified twice behavior expiration event (one from base class, and another
one from the container itself).
* Fixed CAAT.TextActor issue when drawing text with CAAT.SpriteImage
* Clip Paths also honors the new method setPositionAnchor in CAAT.Actor. Added methods setRotationAnchor, setRotation,
setScaleAnchor, setScale, setPosition, setPositionAnchor to CAAT.Path.
* Added global flag CAAT.GLRENDER.
02/09/2012 *0.3 Build 64*
--------------------------
* Fixed setScreenBounds method which was calculating the bounding box erroneously when in negative coordinates.
Note to self: Number.MIN_VALUE != -Number.MAX_VALUE !!!!.
* Fixed the case where a path composed by one single segment with overlapping starting and ending point was returning
(0,0) as path traversal. Now returns one of the two overlapping points.
* Added invalidation for actors which change their background's image sprite index (Canvas only)
* Improved scene graph traversal to fast discard elements out of screen (AABB testing)
* Improved matrix calculations for AABB Actors.
* Changed CSS renderer setLocation semantics from style.left|top to [-vendorPrefix]-transform.
* Added getMapInfo method on CAAT.SpriteImage. Thus I can access glypth/sub-image data by index.
* Fixed a bug with dirtyRects which made the system draw the whole canvas when no area is affected (agh!!)
* Modified CAAT.QuadTree object to allow for default parameters setup.
02/03/2012 *0.3 Build 6*
--------------------------
* Added math/Quadtree object.
* Added Demo19 showcasing some collision detection mechanism.
* Modified debug panel to show affected cleared dirty rectangles.
* Modified math/Rectangle object and added intersect method which extract intersection from any two given rectangles.
* Fixed an issue which prevented cachedAsBitmap TextActor not show properly.
02/01/2012 *0.2 Build 90*
--------------------------
* Refactored CAAT.TextActor object so that it can have background style or image.
* Added method setTextFillStyle to determine text fill style. The old setFillStyle method does not affect text anymore
but actor's background.
* Removed some non ansi characters from sourcecode comments.
* Added setGestureEnabled and isGestureEnabled methods to CAAT.Actor on CSS renderer.
* TextActor recalculates its size when font or text is changed.
* Added DirtyRects info to Debug panel. Number of rectangles, and on-screen representation.
01/26/2012 *0.2 Build 52*
--------------------------
* Added volume to audio elements in audio manager. Call method director.setVolume or audioManager.setVolume
01/24/2012 *0.2 Build 48*
--------------------------
* Fixed Path.applyAsPath which failed to execute.
* Fixed Path.applyAsPath which wasn't applying the mask properly.
01/23/2012 *0.2 Build 40*
--------------------------
* Improved Dirty rects performance.
01/22/2012 *0.2 Build 20*
--------------------------
* Removed some debug code.
* Added dirty rectangles clear support.
To be enabled a call director.setClear( CAAT.Director.CLEAR_DIRTY_RECTS ); must be performed.
Every actor which changes affine transformation, either position, rotation or scale, will automatically
be invalidated. In you want any other actor to be explicitly invalidated, just call actor.invalidate();
* Cleaned some ctx.save/restore code.
* Modified license file to reflect copyright 2012.
01/20/2012 *0.1 Build 631*
--------------------------
* Added methods initializeAsFontMap, drawString, stringWidth to CAAT.SpriteImage. Those methods allow to
draw strings via textured fonts. Every character will be defined besides x,y,width,height in texture,
by xoffset, yoffset, xadvance.
* Removed unneeded actor initialization inverse matrices.
01/19/2012 *0.1 Build 627*
--------------------------
* Added clip paths capability to be scaled accordingly to director's affine transform.
* Modified CAAT.Path bounding box to keep track of path's position. So if a clip path is defined as:
new CAAT.Path().beginPath(200,200).addRectangleTo(300,300).endPath() there's no need to still apply the workaround
of setting a behavior to show it properly.
01/19/2012 *0.1 Build 610*
--------------------------
* Fixed a bug which prevented scaled directors to properly show bounding boxes.
* Merged fix for template with splash screen.
01/18/2012 *0.1 Build 607*
--------------------------
* Enabled iOS rotate/scale gestures.
* Corrected a bug which prevented drag-enabled actors to be dragged with gestures.
* Added setGestureEnabled and isGestureEnabled methods to allow iOS gestures zoom/rotate.
* Added bounding box and differentiated it from AA bounding box.
01/16/2012 *0.1 Build 555*
--------------------------
* Improved debug panel.
01/13/2012 *0.1 Build 523*
--------------------------
* Added method CAAT.setCoordinateClamping( bool ) which controls the to-integer coordinate clamping procedure. This
speeds things up on mobile. A call to this method must be performed previously to creating any CAAT.Matrix object,
begin the beginning of your application the suitable place.
* Added current scene time to mouseEvent.
* Removed some unneeded consuming code.
* Modified CAAT.Debug object to show more info. Added file documentation/debug/debug_template.html with the needed
html code for Debug info to be shown. By default, the performance canvas will take window.innerWidth width and it
won't resize its size.
12/29/2011 *0.1 Build 429*
--------------------------
* fixed the case in which a clipPath was not transformed properly unless it had a behavior applied. Thanks Rob Boerman
for spotting.
12/28/2011 *0.1 Build 422*
--------------------------
* deferred integer coordinate clamping to matrix's transformRenderingContextSet and transformRenderingContext methods.
* disabled preventDefault on key events. Must be explicitly called by the developer otherwise, page reload, etc. could
be prevented.
* added CAAT.Keys object with common key keyCodes.
* added demo18 Keyboard management.
12/26/2011 *0.1 Build 415*
--------------------------
* Fixed PathActor to be able to draw background image or color.
* Fixed key event system. Now, the original key event is 'preventDefault'ed, and the notification callback receives an
object of the form:
new CAAT.KeyEvent(
key,
'up' | 'down',
{
alt: CAAT.KEY_MODIFIERS.alt,
control: CAAT.KEY_MODIFIERS.control,
shift: CAAT.KEY_MODIFIERS.shift
},
source_event );
12/17/2011 *0.1 Build:407*
--------------------------
* CAAT.modules.ImageUtil is no more an object but a namespace with (static) functions.
* function CAAT.modules.ImageUtil.optimize now accepts a parameter to scan on specifig regions.
* Added CAAT.Font which encapsulates a sprite font. Contains methods: to define font, paint, stringWidth, save, etc.
* Method initialize and initializeGL give the opportunity to define a proxy input event. It is usefull in case some
layering has to be done on top of the canvas element.
12/16/2011 *0.1 Build:374*
--------------------------
* A bug prevented to construct an appropriate css sprite image representation.
12/15/2011 *0.1 Build:371*
--------------------------
* Added TR_TILE to SpriteActor. This allows to tile an actor bg image. This method should be combined with a call to
actor.setClip(true) otherwise, the tiling op won't work properly. Bakground offseting won't work on CSS.
* Added ActorContainer constructor modifier which will make the container conform to its childres bounds.
Constraint: actors located at negative coordinates won't modify containers top-left position.
12/09/2011
--------------------------
* Added Scale1Behavior to apply scale behavior either on X or Y axis.
12/08/2011 *0.1 Build:355*
--------------------------
* Added bounding box drawing if CAAT.DEBUGBB is set.
12/05/2011 *0.1 Build:347*
--------------------------
* Fixed bug in CAAT-CSS Actor.addChildAt.
* Added no-repeat modifier to Actor background image to CSS conversion.
* Optimized CSS Actor scene traversal procedure.
* Added mouseOut and mouseOver handlers for events regarding mouse abandons CAAT's screen area or mouse gets in CAAT's
screen area respectively.
* Fixed bug when dragging and getting out of CAAT's on-screen area. Now events resume properly.
12/04/2011 *0.1 Build:327*
--------------------------
* Added maps for SpriteImage. Now the output from the tool http://labs.hyperandroid.com/static/texture/spriter.html
can be directly used in SpriteImage by initializing it with the method initializeFromMap( image, map ).
* Added SpriteImage setChangeFPS for CSS renderer.
* Removed references to deprecated CAAT.ImageActor objects.
11/28/2011 *0.1 Build:287*
--------------------------
* One single director file (no more messing with director and directorCSS).
* Unified touch code for canvas and CSS renderers.
11/24/2011 *0.1 261*
--------------------
* Deprecated and removed: CAAT.ImageActor, CAAT.SpriteActor, CAAT.Button, CAAT.CompoundImage
* Removed csskeyframehelper.js and keyframe.js files
11/24/2011 *0.1 257*
--------------------
* Keyframes's been removed. They were not such a big idea after all.
11/24/2011 *0.1 252*
--------------------
* Added Keyframes. Keyframes set Behaviors deprecated.
11/24/2011
----------
* fixed CAAT.Actor.setAsButton to honor disabled status.
11/22/2011
----------
* Added proper touch events support.
* Added behaviorStarted method to behavior lifecycle listener.
* Added calculateKeyframesData method to get a CSS3 keyframes representation of any given behavior.
* Added CSSKeyframeHelper methods to manage CSS3 @-[webkit|moz]-keyframes elements.
* Fixed bug on setZOrder method which created a nested actor array.
* Added setTimeOffset method on behaviors which allows to start a behavior at any given position instead of zero time.
11/08/2011
----------
* Added statistics to CSS director.
* Fixed a bug that prevented a button-as-actor to set its first state image.
11/07/2011
----------
* Enabled multi-page packed textures on GL renderer.
* Fixed GL lines color with the new UNPACK_PREMULTIPLY_ALPHA_WEBGL flag to be compatible with FF.
11/02/2011
----------
* Fixed FF Webgl textures problem. Unpacking pre multiplied alpha on channels has done it.
Changing from blending function SRC_ALPHA to ONE.
* Added Box2D debug renderer.
* Fixed Demo3, sprite fish didn't animated properly.
10/27/2011
----------
* Added minified and non-minified CAAT library files versions.
10/26/2011
----------
* Changed Input subsystem (again). Now every event has the right information.
* Changed Transformation matrix hierarchy. Now Director's transformation is considered to be Projection Matrix.
* Changed Actor's setScaleAnchored and setRotationAnchored methods so that anchor values are no more
coordinates in space but proportional values (0..1) representing a percentage (like in behaviors).
This is a major issue and should be taken into account for previous developments.
* Fixed tutorials and demos to reflect setScaleAnchored and setRotateAnchored changes.
10/24/2011
----------
* Fixed CSS dragging bug.
* Added get/set id methods to CSS Actor.
10/19/2011
----------
* Code optimizations.
* Fixed bug with onMouseMove local coordinates.
10/18/2011
----------
* Added a callback function to be triggered on Director resize events. The method enableResizeEvents signature
has been changed to be enableResizeEvents : function(mode, onResizeCallback) {}. The parameter
onResizeCallback is function with the signature function( director, width, height ).
* If director has enableResizeEvents enabled, now is resized on first instance. Previously, a window resize
had to be triggered manually.
* Fixed mousemove coordinates on scaled director that weren't proper ones.
10/17/2011
----------
Fixed input subsystem. Now Actor instances won't receive mouseUp if dragged was performed on them.
BUG. Fixed a bug with container behaviors that prevented a contained behavior to be expired again.
10/15/2011
----------
Fixed a bug with bezier bounding box that wasn't including the curve's first control point. (thanks yodesoft.com)
10/14/2011
----------
Added modelToModel coordinate system conversion method which transforms a local coordinate into another
actor's coordinate system.
10/13/2011
----------
Refurbished input subsystem. Now handles drag on buttons.
Added scene pause methods.
Added line definition values on Shape and Star actors.
Added visual debugging info, regarding FPS and total/active actors on screen. (CAAT.DEBUG=1 before
director creation).
09/26/2011
----------
Added ShapePath to allow for rectangle shaped path segments.
Added methods on Path* and bezier curves to manage individual control points.
Added bounding box support for Path* objects.
Changed Path.closePath function semantics.
Fixed some code on rectangle, point, bezier, path.
09/14/2011
---------
Added shift/control/alt modifiers to key events.
added missing getAnchorPercent method to ActorCSS.js file. [important bug]
Fixed CSS renderer zOrder error.
09/11/2011
----------
Added function setInteractive method to PathActor.
Added function showBoundingBox : function(show, color) to PathActor.
09/04/2011
----------
Removed bug on ActorCSS.setFillStyle().
Deprecated methods setFilled and setOutlined form CAAT.StarActor.
09/01/2011
----------
Added new layout module. Now simply lays out a collection of actors in a row into a given container.
Will upgrade accordingly as needed.
31/08/2011
----------
deprecated method centerOn and renamed it to centerAt.
16/08/2011
----------
Added x and y attributes to mouseEvent object instances.
15/08/2011
----------
Added a exception to be thrown whenever an Actor is to be added to any given parent and already has
a registered parent.
Added on actor destroy event, a call to be removed from its parent (in case there's one). Now, discardable
and out-of-frame-time elements can be succesfully reused with the previous condition. To remove an
actor means a linear search to identify in which position is stored.
13/08/2011
----------
Fixed director canvas resize on RESIZE_PROPORTIONAL. WebGL renderer did not show properly after resizing.
Changed directorGL perspective from frustum to orthogonal.
11/08/2011
----------
Updated tutorials to fit new CAAT needs.
Updated demo/examples to fit new CAAT needs. Suggested place to look for examples is CAAT-Samples repo.
Fixed some scene transition bugs (when scaling).
10/08/2011
----------
Added on ActorCSS needed control to set a canvas as background image. It is not recommended
since the performance drops very significantly.
Fixed director's RESIZE_PROPORTIONAL option. There was a bug that prevented scenes from
affine transforming properly with respect to the director instance.
Separated CAAT compilation results into two separate versions one for Canvas/GL and the
other for CSS. This is needed since the Actor,ActorContainer,Scene and Director classes
have been rewritten to support a CSS renderer. Since there's a extend function invoked
inside closures to extend prototypes I'm unable to decide on the fly whether to extendsClass
an object (Actor) or another version with the same interface (ActorCSS).
09/08/2011
----------
Actor.cacheAsBitmap method change: now returns this instead of an HTMLCanvasElement.
Set ScaleBehavior and RotateBehavior setAnchor method to define an exact pixel distance
anchor. Use this method when setting percentages via setValues method call is hard to do,
for example, when anchoring around a parent.
08/06/2011
----------
Added getRenderType method to Director. It will return WEBGL|CANVAS|CSS depending
on the rendering techniques it uses.
Added DirectorCSS, SceneCSS and ActorCSS to the system. Now, CSS is a suitable option
to render.
Added CSS renderer.
DOM is unable to identify wihch of any overlapping divs the user is interacting with.
Added a over div which tracks mouse info. ( And works properly \o/ )
CSS Renderer drawbacks:
* the scale anchor's been deprecated since transform style only supports one
* always use accessor/mutator method to interact with actor's properties
* unable to use dynamic images (ie Canvas generated images).
Changed Scale Anchor semantics. Now it is equal to Rotation, so the method
setScaleAnchored now accept two more parameters which define the position in pixels
where the anchor is located.
Changed ScaleBehavior and RotateBehavior to fit the new setScale semantics. Now the method
setValues of these Behavior accept two more parameters to define the transformation anchor.
In general, there should not be mixed different types of director renderers per page.
07/30/2011
----------
CAAT.Actor: added the capability to draw images on its background. This feature
will substitute the need of using CAAT.ImageActor, CAAT.Image and CAAT.Button.
CAAT.CompoundImage: added method to automatically change sprite index on time
basis. Basically logic from SpriteActor's been moved to this class.
Created CAAT.SpriteImage to substitute CAAT.CompoundImage and serve as images
info backend for CAAT.Actor. CAAT.CompoundImage is kept for backwards compatibility
with CAAT.ImageActor, CAAT.SpriteActor and CAAT.Button.
Modified GL methods to kept compatibility with new CAAT.Actor image capabilities.