Permalink
Switch branches/tags
Nothing to show
Commits on Nov 9, 2009
  1. Remove json2.js from main runtime, and instead load it only if the br…

    Jason Johnston
    Jason Johnston committed Nov 9, 2009
    …owser does not natively support the JSON object (untested).
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@863 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
Commits on Apr 18, 2009
  1. Reimplement the player controller to use setTimeout rather than setIn…

    Jason Johnston
    Jason Johnston committed Apr 18, 2009
    …terval, which results in more accurate frame timing. Also implement a frame-dropping algorithm where if the frames are taking too long to calculate and render, we will skip updating the view for up to a configurable number of frames.
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@850 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
Commits on Apr 14, 2009
  1. Add testcase for staggered tweens, where every frame is a keyframe wh…

    Jason Johnston
    Jason Johnston committed Apr 14, 2009
    …ich starts one or more tweens spanning many keyframes.
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@849 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  2. Move Base into zomby namespace

    Jason Johnston
    Jason Johnston committed Apr 14, 2009
    git-svn-id: https://svn.lojjic.net/zomby/trunk@848 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
Commits on Apr 13, 2009
  1. Fix the remaining 6 easing functions

    Jason Johnston
    Jason Johnston committed Apr 13, 2009
    git-svn-id: https://svn.lojjic.net/zomby/trunk@847 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  2. Major refactoring of data format:

    Jason Johnston
    Jason Johnston committed Apr 13, 2009
    - Keyframe/tween data is now stored sequentially by keyframe, so that all the data for all layers for a given frame will be loaded before the data for the next frame loads. This enables the possibility of starting the movie playing while data is still loading (though a custom parser will be needed to make that possible)
    - Tween definitions now store only their target values, inferring the starting values from previous tweens.
    - Easing functions can now be stored in the data format, as ModelObjects in the library, and be referred to from the tween definitions.
    - Each layer can now contain multiple shapes.
    - The core animation engine is now in the Timeline class rather than the Layer class; this results in less looping and a slight increase in performance.
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@846 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  3. Fix array detection

    Jason Johnston
    Jason Johnston committed Apr 13, 2009
    git-svn-id: https://svn.lojjic.net/zomby/trunk@845 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
Commits on Apr 12, 2009
  1. Implement lazy initialization of set/get/hasPrivate methods so they a…

    Jason Johnston
    Jason Johnston committed Apr 12, 2009
    …ren't created until one of them is first called. Also other minor performance tweaks
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@844 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  2. fix caching of compiled function object

    Jason Johnston
    Jason Johnston committed Apr 12, 2009
    git-svn-id: https://svn.lojjic.net/zomby/trunk@843 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  3. Create an Easing ModelObject class that models an easing function, st…

    Jason Johnston
    Jason Johnston committed Apr 12, 2009
    …oring its code as a string property
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@842 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  4. Make Library generic to old any type of ModelObject, not just shapes.

    Jason Johnston
    Jason Johnston committed Apr 12, 2009
    git-svn-id: https://svn.lojjic.net/zomby/trunk@841 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  5. Fix iteration utility to skip undefined values (like Array.prototype.…

    Jason Johnston
    Jason Johnston committed Apr 12, 2009
    …forEach does), and fix the array detection
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@840 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  6. More todos

    Jason Johnston
    Jason Johnston committed Apr 12, 2009
    git-svn-id: https://svn.lojjic.net/zomby/trunk@839 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  7. Undo totally busted attempt at optimization

    Jason Johnston
    Jason Johnston committed Apr 12, 2009
    git-svn-id: https://svn.lojjic.net/zomby/trunk@838 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
Commits on Feb 21, 2009
  1. Refactor view updating so that each view implements an updateProp() m…

    Jason Johnston
    Jason Johnston committed Feb 21, 2009
    …ethod, which handles the update of a single modified property via a switch statement. This avoids lots of unnecessary 'p in props' checks so the method will return almost instantly if it is being called for a property it does not handle. Squeezes another FPS or two out of the many_shapes stress test.
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@837 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  2. Add support to getUrl for a callback function to be called inremental…

    Jason Johnston
    Jason Johnston committed Feb 21, 2009
    …ly while the data is loading
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@836 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
Commits on Feb 20, 2009
  1. avoid extra call to hasPrivate() in the property getters as it roughl…

    Jason Johnston
    Jason Johnston committed Feb 20, 2009
    …y doubles the time spent accessing model object properties
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@835 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  2. Optimize the definition and usages of zomby.Util.each so that branchi…

    Jason Johnston
    Jason Johnston committed Feb 20, 2009
    …ng occurs during method definition rather than on each call
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@834 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  3. Move string variables into the functions in which they are used, rath…

    Jason Johnston
    Jason Johnston committed Feb 20, 2009
    …er than within the outer closure, because they are slower to access if the engine has to walk up the scope chain.
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@833 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  4. Avoid unnecessary second if-condition evaluation

    Jason Johnston
    Jason Johnston committed Feb 20, 2009
    git-svn-id: https://svn.lojjic.net/zomby/trunk@832 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  5. Remove the 'g' element wrapping every shape element, since we no long…

    Jason Johnston
    Jason Johnston committed Feb 20, 2009
    …er apply the translate separately from the other transforms.
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@831 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
Commits on Feb 18, 2009
  1. - Replace all 'private' (underscore-prefixed) properties on model obj…

    Jason Johnston
    Jason Johnston committed Feb 18, 2009
    …ects with new get/setPrivate methods which store their data within a constructor-local variable. The benefit is that the object isn't polluted with lots of extra properties, making for..in loops faster and making the serialization clean.
    
    - Rework the layer sync method so it handles tweening/diffs of nested properties e.g. stroke width
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@830 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
Commits on Feb 8, 2009
  1. Fix bug when x or y changes but not both

    Jason Johnston
    Jason Johnston committed Feb 8, 2009
    git-svn-id: https://svn.lojjic.net/zomby/trunk@829 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  2. Change updates of shape transforms from setAttribute (which involves …

    Jason Johnston
    Jason Johnston committed Feb 8, 2009
    …lots of string concatenation) to use the SVGTransform(List) DOM API. More straightforward code and perhaps a slight performance win.
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@828 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  3. use changes object in the timeline view's update method so width/heig…

    Jason Johnston
    Jason Johnston committed Feb 8, 2009
    …ht are only set when needed
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@827 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  4. Don't call this.base() in LayerSvgView's update method since it doesn…

    Jason Johnston
    Jason Johnston committed Feb 8, 2009
    …'t use the changes object
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@826 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  5. Branch based on whether getters/setters are allowed when creating the…

    Jason Johnston
    Jason Johnston committed Feb 8, 2009
    … prototype, rather than on each method call. Minor performance gain.
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@825 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  6. make sure x and y get added to the transform string if any other tran…

    Jason Johnston
    Jason Johnston committed Feb 8, 2009
    …sform is applied even if x and y have not changed
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@824 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  7. Refactoring for improved performance:

    Jason Johnston
    Jason Johnston committed Feb 8, 2009
    - Enhance ModelObject.extend() to create a getter/setter pair for each property so that it tracks which 
    properties have changed
    - Make the various View objects only act on the properties that have been marked as changed, so we're not 
    setting attributes on SVG objects which aren't changing
    - Add optimization to Layer.prototype.sync() so that in normal forward-playing mode it doesn't iterate over 
    or set model properties that aren't specifically parts of the keyframe or tween.
    
    The result of the above changes is that we shift computation away from the DOM (setting attributes on the 
    SVG elements) with some additional overhead in the javascript (getter/setter functions); the win in the 
    former outweighs the penalty from the latter so it's a net win, and will be an even larger win as javascript 
    performance improves in upcoming browsers (tracemonkey/squirrelfish-extreme/v8/etc.)
    
    
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@823 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
Commits on Feb 7, 2009
  1. Add some TODO ideas

    Jason Johnston
    Jason Johnston committed Feb 7, 2009
    git-svn-id: https://svn.lojjic.net/zomby/trunk@822 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
Commits on Jan 30, 2009
  1. Add suite of easing functions, and test document demonstrating them

    Jason Johnston
    Jason Johnston committed Jan 30, 2009
    git-svn-id: https://svn.lojjic.net/zomby/trunk@821 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  2. fix LineSvgView

    Jason Johnston
    Jason Johnston committed Jan 30, 2009
    git-svn-id: https://svn.lojjic.net/zomby/trunk@820 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  3. prevent extra array lookup

    Jason Johnston
    Jason Johnston committed Jan 30, 2009
    git-svn-id: https://svn.lojjic.net/zomby/trunk@819 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
  4. lazily create gradient view, and re-check it on each update so it wil…

    Jason Johnston
    Jason Johnston committed Jan 30, 2009
    …l be created if the paint is changed from solid to gradient or vice-versa
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@818 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
Commits on Jan 26, 2009
  1. Optimize calculating the shape properties for the current reference k…

    Jason Johnston
    Jason Johnston committed Jan 26, 2009
    …eyframe, by caching the most recent set and using it for the next frame if possible
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@812 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00