Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master

Nov 09, 2009

  1. Remove json2.js from main runtime, and instead load it only if the br…

    …owser does not natively support the JSON object (untested).
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@863 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
    Jason Johnston authored

Apr 18, 2009

  1. Reimplement the player controller to use setTimeout rather than setIn…

    …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
    Jason Johnston authored

Apr 14, 2009

  1. Add testcase for staggered tweens, where every frame is a keyframe wh…

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

    git-svn-id: https://svn.lojjic.net/zomby/trunk@848 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
    Jason Johnston authored

Apr 13, 2009

  1. Fix the remaining 6 easing functions

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

    - 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
    Jason Johnston authored
  3. Fix array detection

    git-svn-id: https://svn.lojjic.net/zomby/trunk@845 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
    Jason Johnston authored

Apr 12, 2009

  1. Implement lazy initialization of set/get/hasPrivate methods so they a…

    …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
    Jason Johnston authored
  2. fix caching of compiled function object

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

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

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

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

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

    git-svn-id: https://svn.lojjic.net/zomby/trunk@838 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
    Jason Johnston authored

Feb 21, 2009

  1. Refactor view updating so that each view implements an updateProp() m…

    …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
    Jason Johnston authored
  2. Add support to getUrl for a callback function to be called inremental…

    …ly while the data is loading
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@836 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
    Jason Johnston authored

Feb 20, 2009

  1. avoid extra call to hasPrivate() in the property getters as it roughl…

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

    …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
    Jason Johnston authored
  3. Move string variables into the functions in which they are used, rath…

    …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
    Jason Johnston authored
  4. Avoid unnecessary second if-condition evaluation

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

    …er apply the translate separately from the other transforms.
    
    git-svn-id: https://svn.lojjic.net/zomby/trunk@831 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
    Jason Johnston authored

Feb 18, 2009

  1. - Replace all 'private' (underscore-prefixed) properties on model obj…

    …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
    Jason Johnston authored

Feb 08, 2009

  1. Fix bug when x or y changes but not both

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

    …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
    Jason Johnston authored
  3. use changes object in the timeline view's update method so width/heig…

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

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

    … 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
    Jason Johnston authored
  6. make sure x and y get added to the transform string if any other tran…

    …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
    Jason Johnston authored
  7. Refactoring for improved performance:

    - 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
    Jason Johnston authored

Feb 07, 2009

  1. Add some TODO ideas

    git-svn-id: https://svn.lojjic.net/zomby/trunk@822 8f8d9d7b-adf4-0310-9a85-ad1d9f542d00
    Jason Johnston authored

Jan 30, 2009

  1. Add suite of easing functions, and test document demonstrating them

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

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

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

    …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
    Jason Johnston authored

Jan 26, 2009

  1. Optimize calculating the shape properties for the current reference k…

    …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
    Jason Johnston authored
Something went wrong with that request. Please try again.